Expose coroutines dependencies to all extensions by default (#13757)
This commit is contained in:
		
							parent
							
								
									7579ca391f
								
							
						
					
					
						commit
						40b6e31505
					
				@ -213,22 +213,15 @@ dependencies {
 | 
			
		||||
 | 
			
		||||
#### Additional dependencies
 | 
			
		||||
 | 
			
		||||
You may find yourself needing additional functionality and wanting to add more dependencies to your `build.gradle` file. Since extensions are run within the main Tachiyomi app, you can make use of [its dependencies](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/build.gradle.kts).
 | 
			
		||||
 | 
			
		||||
For example, an extension that needs coroutines, it could add the following:
 | 
			
		||||
 | 
			
		||||
```gradle
 | 
			
		||||
dependencies {
 | 
			
		||||
    compileOnly(libs.bundles.coroutines)
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
If you find yourself needing additional functionality, you can add more dependencies to your `build.gradle` file.
 | 
			
		||||
Many of [the dependencies](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/build.gradle.kts) from the main Tachiyomi app are exposed to extensions by default.
 | 
			
		||||
 | 
			
		||||
> Note that several dependencies are already exposed to all extensions via Gradle version catalog.
 | 
			
		||||
> To view which are available view `libs.versions.toml` under the `gradle` folder
 | 
			
		||||
 | 
			
		||||
Notice that we're using `compileOnly` instead of `implementation`, since the app already contains it. You could use `implementation` instead for a new dependency, or you prefer not to rely on whatever the main app has at the expense of app size.
 | 
			
		||||
Notice that we're using `compileOnly` instead of `implementation` if the app already contains it. You could use `implementation` instead for a new dependency, or you prefer not to rely on whatever the main app has at the expense of app size.
 | 
			
		||||
 | 
			
		||||
Note that using `compileOnly` restricts you to versions that must be compatible with those used in [Tachiyomi v0.10.12+](https://github.com/tachiyomiorg/tachiyomi/blob/v0.10.12/app/build.gradle.kts) for proper backwards compatibility.
 | 
			
		||||
Note that using `compileOnly` restricts you to versions that must be compatible with those used in [the latest stable version of Tachiyomi](https://github.com/tachiyomiorg/tachiyomi/releases/latest).
 | 
			
		||||
 | 
			
		||||
### Extension main class
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -26,6 +26,5 @@ rxandroid = { module = "io.reactivex:rxandroid", version = "1.2.1" }
 | 
			
		||||
rxjava = { module = "io.reactivex:rxjava", version = "1.3.8" }
 | 
			
		||||
 | 
			
		||||
[bundles]
 | 
			
		||||
common = ["kotlin-stdlib", "injekt-core", "rxjava", "kotlin-protobuf", "kotlin-json", "jsoup", "okhttp", "tachiyomi-lib", "quickjs"]
 | 
			
		||||
coroutines = ["coroutines-core", "coroutines-android"]
 | 
			
		||||
common = ["kotlin-stdlib", "coroutines-core", "coroutines-android", "injekt-core", "rxjava", "kotlin-protobuf", "kotlin-json", "jsoup", "okhttp", "tachiyomi-lib", "quickjs"]
 | 
			
		||||
reactivex = ["rxandroid"]
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,9 @@
 | 
			
		||||
include(":core")
 | 
			
		||||
 | 
			
		||||
include(":lib-dataimage")
 | 
			
		||||
project(":lib-dataimage").projectDir = File("lib/dataimage")
 | 
			
		||||
 | 
			
		||||
include(":lib-unpacker")
 | 
			
		||||
project(":lib-unpacker").projectDir = File("lib/unpacker")
 | 
			
		||||
 | 
			
		||||
include(":lib-cryptoaes")
 | 
			
		||||
project(":lib-cryptoaes").projectDir = File("lib/cryptoaes")
 | 
			
		||||
listOf("dataimage", "unpacker", "cryptoaes").forEach {
 | 
			
		||||
    include(":lib-$it")
 | 
			
		||||
    project(":lib-$it").projectDir = File("lib/$it")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if (System.getenv("CI") == null || System.getenv("CI_MODULE_GEN") == "true") {
 | 
			
		||||
    // Local development (full project build)
 | 
			
		||||
 | 
			
		||||
@ -6,11 +6,7 @@ ext {
 | 
			
		||||
    extName = 'ManHuaGui'
 | 
			
		||||
    pkgNameSuffix = 'zh.manhuagui'
 | 
			
		||||
    extClass = '.Manhuagui'
 | 
			
		||||
    extVersionCode = 15
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    compileOnly libs.bundles.coroutines
 | 
			
		||||
    extVersionCode = 16
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apply from: "$rootDir/common.gradle"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user