Multisrc bugfix and genkan refactor (#5707)
* themesource bugfix, refactor genkan
* revert 3da46570aa
This commit is contained in:
parent
f1a7a5aac2
commit
0ce4416f09
|
@ -102,6 +102,16 @@ The extension's version name is generated automatically by concatenating `libVer
|
|||
|
||||
Extensions rely on [extensions-lib](https://github.com/tachiyomiorg/extensions-lib), which provides some interfaces and stubs from the [app](https://github.com/tachiyomiorg/tachiyomi) for compilation purposes. The actual implementations can be found [here](https://github.com/tachiyomiorg/tachiyomi/tree/dev/app/src/main/java/eu/kanade/tachiyomi/source). Referencing the actual implementation will help with understanding extensions' call flow.
|
||||
|
||||
#### Duktape stub
|
||||
|
||||
[`duktape-stub`](https://github.com/tachiyomiorg/tachiyomi-extensions/tree/master/lib/duktape-stub) provides stubs for using Duktape functionality without pulling in the full library. Functionality is bundled into the main Tachiyomi app.
|
||||
|
||||
```gradle
|
||||
dependencies {
|
||||
compileOnly project(':duktape-stub')
|
||||
}
|
||||
```
|
||||
|
||||
#### Rate limiting library
|
||||
|
||||
[`lib-ratelimit`](https://github.com/tachiyomiorg/tachiyomi-extensions/tree/master/lib/ratelimit) is a library for adding rate limiting functionality as an [OkHttp interceptor](https://square.github.io/okhttp/interceptors/).
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
plugins {
|
||||
id("kotlin")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly(Deps.kotlin.stdlib)
|
||||
}
|
|
@ -12,4 +12,7 @@ dependencies {
|
|||
compileOnly 'org.jsoup:jsoup:1.10.2'
|
||||
compileOnly 'com.google.code.gson:gson:2.8.2'
|
||||
compileOnly 'com.github.salomonbrys.kotson:kotson:2.5.0'
|
||||
}
|
||||
|
||||
implementation project(":annotations")
|
||||
compileOnly project(':duktape-stub')
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
plugins {
|
||||
id("com.android.library")
|
||||
kotlin("android")
|
||||
}
|
||||
|
||||
android {
|
||||
|
@ -13,7 +12,6 @@ android {
|
|||
sourceSets {
|
||||
named("main") {
|
||||
manifest.srcFile("AndroidManifest.xml")
|
||||
java.setSrcDirs(listOf("src"))
|
||||
res.setSrcDirs(listOf("res"))
|
||||
}
|
||||
}
|
||||
|
@ -23,17 +21,4 @@ android {
|
|||
enabled = false
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = JavaVersion.VERSION_1_8.toString()
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly(Deps.kotlin.stdlib)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
plugins {
|
||||
java
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
srcDirs(listOf("src"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
|
@ -135,9 +135,9 @@ interface ThemeSourceGenerator {
|
|||
private fun writeSourceClasses(projectSrcPath: String, srcOverridePath: String, source: ThemeSourceData, themePkg: String, themeClass: String) {
|
||||
val projectSrcFile = File(projectSrcPath)
|
||||
projectSrcFile.mkdirs()
|
||||
val srcOverride = File("$srcOverridePath/${source.pkgName}")
|
||||
if (srcOverride.exists())
|
||||
srcOverride.copyRecursively(projectSrcFile)
|
||||
val srcOverrideFile = File(srcOverridePath)
|
||||
if (srcOverrideFile.exists())
|
||||
srcOverrideFile.copyRecursively(projectSrcFile)
|
||||
else
|
||||
writeSourceClass(projectSrcFile, source, themePkg, themeClass)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package eu.kanade.tachiyomi.multisrc.genkan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.ThemeSourceData
|
||||
import eu.kanade.tachiyomi.multisrc.ThemeSourceData.SingleLang
|
||||
import eu.kanade.tachiyomi.multisrc.ThemeSourceData.MultiLang
|
||||
import eu.kanade.tachiyomi.multisrc.ThemeSourceGenerator
|
||||
|
||||
class GenkanGenerator : ThemeSourceGenerator {
|
||||
|
@ -12,14 +13,14 @@ class GenkanGenerator : ThemeSourceGenerator {
|
|||
override val baseVersionCode: Int = 1
|
||||
|
||||
override val sources = listOf(
|
||||
ThemeSourceData.MultiLang("Leviatan Scans", "https://leviatanscans.com", listOf("en", "es"),
|
||||
MultiLang("Leviatan Scans", "https://leviatanscans.com", listOf("en", "es"),
|
||||
className = "LeviatanScansFactory", pkgName = "leviatanscans", overrideVersionCode = 1),
|
||||
ThemeSourceData.SingleLang("Hunlight Scans", "https://hunlight-scans.info", "en"),
|
||||
ThemeSourceData.SingleLang("ZeroScans", "https://zeroscans.com", "en"),
|
||||
ThemeSourceData.SingleLang("The Nonames Scans", "https://the-nonames.com", "en"),
|
||||
ThemeSourceData.SingleLang("Edelgarde Scans", "https://edelgardescans.com", "en"),
|
||||
ThemeSourceData.SingleLang("Method Scans", "https://methodscans.com", "en"),
|
||||
ThemeSourceData.SingleLang("Sleeping Knight Scans", "https://skscans.com", "en")
|
||||
SingleLang("Hunlight Scans", "https://hunlight-scans.info", "en"),
|
||||
SingleLang("ZeroScans", "https://zeroscans.com", "en"),
|
||||
SingleLang("The Nonames Scans", "https://the-nonames.com", "en"),
|
||||
SingleLang("Edelgarde Scans", "https://edelgardescans.com", "en"),
|
||||
SingleLang("Method Scans", "https://methodscans.com", "en"),
|
||||
SingleLang("Sleeping Knight Scans", "https://skscans.com", "en")
|
||||
)
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package eu.kanade.tachiyomi.multisrc.genkan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.ThemeSourceData
|
||||
import eu.kanade.tachiyomi.multisrc.ThemeSourceData.SingleLang
|
||||
import eu.kanade.tachiyomi.multisrc.ThemeSourceGenerator
|
||||
|
||||
class GenkanOriginalGenerator : ThemeSourceGenerator {
|
||||
|
@ -12,9 +12,9 @@ class GenkanOriginalGenerator : ThemeSourceGenerator {
|
|||
override val baseVersionCode: Int = 1
|
||||
|
||||
override val sources = listOf(
|
||||
ThemeSourceData.SingleLang("Reaper Scans", "https://reaperscans.com", "en"),
|
||||
ThemeSourceData.SingleLang("Hatigarm Scans", "https://hatigarmscanz.net", "en", overrideVersionCode = 1),
|
||||
ThemeSourceData.SingleLang("SecretScans", "https://secretscans.co", "en"),
|
||||
SingleLang("Reaper Scans", "https://reaperscans.com", "en"),
|
||||
SingleLang("Hatigarm Scans", "https://hatigarmscanz.net", "en", overrideVersionCode = 1),
|
||||
SingleLang("SecretScans", "https://secretscans.co", "en"),
|
||||
)
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
include(":annotations")
|
||||
include(":core")
|
||||
|
||||
include(":lib-ratelimit")
|
||||
project(":lib-ratelimit").projectDir = File("lib/ratelimit")
|
||||
|
||||
include(":duktape-stub")
|
||||
project(":duktape-stub").projectDir = File("lib/duktape-stub")
|
||||
|
||||
include(":lib-dataimage")
|
||||
project(":lib-dataimage").projectDir = File("lib/dataimage")
|
||||
|
||||
|
|
Loading…
Reference in New Issue