Clean up MMRCMS generator and ignore `*Gen.kt` (#15992)
This commit is contained in:
parent
97ff9735db
commit
8ad01b8822
|
@ -508,6 +508,11 @@ multisrc
|
|||
- `multisrc/overrides/<themepkg>/<sourcepkg>/additional.gradle` defines additional gradle code, this will be copied at the end of the generated gradle file below the theme's `additional.gradle`.
|
||||
- `multisrc/overrides/<themepkg>/<sourcepkg>/AndroidManifest.xml` is copied as an override to the default `AndroidManifest.xml` generation if it exists.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> Files ending with `Gen.kt` (i.e. `multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/<theme>/XxxGen.kt`)
|
||||
> are considered helper files and won't be copied to generated sources.
|
||||
|
||||
### Development workflow
|
||||
There are three steps in running and testing a theme source:
|
||||
|
||||
|
|
|
@ -9,20 +9,38 @@ class MMRCMSGenerator : ThemeSourceGenerator {
|
|||
|
||||
override val themeClass = "MMRCMS"
|
||||
|
||||
override val baseVersionCode: Int = MMRCMSSources.version
|
||||
override val baseVersionCode = 5
|
||||
|
||||
override val sources = MMRCMSSources.sourceList.map {
|
||||
SingleLang(
|
||||
it.name,
|
||||
it.baseUrl,
|
||||
it.lang,
|
||||
it.isNsfw,
|
||||
it.className,
|
||||
it.pkgName,
|
||||
it.sourceName,
|
||||
it.overrideVersionCode,
|
||||
override val sources = listOf(
|
||||
SingleLang("مانجا اون لاين", "https://onma.me", "ar", className = "onma"),
|
||||
SingleLang("Read Comics Online", "https://readcomicsonline.ru", "en"),
|
||||
SingleLang("Fallen Angels", "https://manga.fascans.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("Zahard", "https://zahard.xyz", "en", overrideVersionCode = 2),
|
||||
SingleLang("Scan FR", "https://www.scan-fr.org", "fr", overrideVersionCode = 2),
|
||||
SingleLang("Scan VF", "https://www.scan-vf.net", "fr", overrideVersionCode = 1),
|
||||
SingleLang("Scan OP", "https://scan-op.cc", "fr"),
|
||||
SingleLang("Komikid", "https://www.komikid.com", "id"),
|
||||
SingleLang("MangaHanta", "http://mangahanta.com", "tr", overrideVersionCode = 1),
|
||||
SingleLang("Fallen Angels Scans", "https://truyen.fascans.com", "vi"),
|
||||
SingleLang("LeoManga", "https://leomanga.me", "es", overrideVersionCode = 1),
|
||||
SingleLang("submanga", "https://submanga.io", "es"),
|
||||
SingleLang("Mangadoor", "https://mangadoor.com", "es", overrideVersionCode = 1),
|
||||
SingleLang("Utsukushii", "https://manga.utsukushii-bg.com", "bg", overrideVersionCode = 1),
|
||||
SingleLang("Phoenix-Scans", "https://phoenix-scans.pl", "pl", className = "PhoenixScans", overrideVersionCode = 1),
|
||||
SingleLang("Scan-1", "https://wwv.scan-1.com", "fr", className = "ScanOne", overrideVersionCode = 1),
|
||||
SingleLang("Lelscan-VF", "https://lelscanvf.com", "fr", className = "LelscanVF", overrideVersionCode = 1),
|
||||
SingleLang("AnimaRegia", "https://animaregia.net", "pt-BR", overrideVersionCode = 4),
|
||||
SingleLang("MangaVadisi", "http://manga-v2.mangavadisi.org", "tr", overrideVersionCode = 1),
|
||||
SingleLang("MangaID", "https://mangaid.click", "id", overrideVersionCode = 1),
|
||||
SingleLang("Jpmangas", "https://jpmangas.cc", "fr", overrideVersionCode = 1),
|
||||
SingleLang("Op-VF", "https://www.op-vf.com", "fr", className = "OpVF"),
|
||||
SingleLang("FR Scan", "https://frscan.ws", "fr", overrideVersionCode = 2),
|
||||
SingleLang("Ama Scans", "https://amascan.com", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("Gekkou Scans", "https://gekkou.com.br", "pt-BR", isNsfw = true, pkgName = "gekkouscan", overrideVersionCode = 12),
|
||||
SingleLang("Gekkou Hentai", "https://hentai.gekkouscans.com.br", "pt-BR", isNsfw = true),
|
||||
// NOTE: THIS SOURCE CONTAINS A CUSTOM LANGUAGE SYSTEM (which will be ignored)!
|
||||
SingleLang("HentaiShark", "https://www.hentaishark.com", "all", isNsfw = true),
|
||||
)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.multisrc.mmrcms
|
|||
import android.annotation.SuppressLint
|
||||
import android.annotation.TargetApi
|
||||
import android.os.Build
|
||||
import eu.kanade.tachiyomi.multisrc.mmrcms.MMRCMSSources.Companion.sourceList
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
|
@ -214,7 +213,7 @@ class MMRCMSJsonGen {
|
|||
)
|
||||
|
||||
companion object {
|
||||
val sources = sourceList
|
||||
val sources = MMRCMSGenerator().sources
|
||||
|
||||
val relativePath = System.getProperty("user.dir")!! + "/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mmrcms/SourceData.kt"
|
||||
|
||||
|
|
|
@ -1,137 +0,0 @@
|
|||
package eu.kanade.tachiyomi.multisrc.mmrcms
|
||||
|
||||
import java.util.Locale
|
||||
|
||||
class MMRCMSSources {
|
||||
companion object {
|
||||
sealed class SourceData {
|
||||
abstract val name: String
|
||||
abstract val baseUrl: String
|
||||
abstract val isNsfw: Boolean
|
||||
abstract val className: String
|
||||
abstract val pkgName: String
|
||||
abstract val sourceName: String
|
||||
abstract val overrideVersionCode: Int
|
||||
|
||||
data class Single(
|
||||
override val name: String,
|
||||
override val baseUrl: String,
|
||||
val lang: String,
|
||||
override val isNsfw: Boolean = false,
|
||||
override val className: String = name.replace(" ", ""),
|
||||
override val pkgName: String = className.lowercase(Locale.ENGLISH),
|
||||
override val sourceName: String = name,
|
||||
override val overrideVersionCode: Int = 0,
|
||||
) : SourceData()
|
||||
|
||||
data class Multi(
|
||||
override val name: String,
|
||||
override val baseUrl: String,
|
||||
val langs: List<String>,
|
||||
override val isNsfw: Boolean = false,
|
||||
override val className: String = name.replace(" ", "") + "Factory",
|
||||
override val pkgName: String = className.substringBefore("Factory").lowercase(Locale.ENGLISH),
|
||||
override val sourceName: String = name,
|
||||
override val overrideVersionCode: Int = 0,
|
||||
) : SourceData()
|
||||
}
|
||||
val version: Int = 5
|
||||
val sourceList: List<SourceData.Single> = listOf(
|
||||
SourceData.Single("مانجا اون لاين", "https://onma.me", "ar", className = "onma"),
|
||||
SourceData.Single("Read Comics Online", "https://readcomicsonline.ru", "en"),
|
||||
SourceData.Single("Fallen Angels", "https://manga.fascans.com", "en", overrideVersionCode = 2),
|
||||
SourceData.Single("Zahard", "https://zahard.xyz", "en", overrideVersionCode = 2),
|
||||
SourceData.Single("Scan FR", "https://www.scan-fr.org", "fr", overrideVersionCode = 2),
|
||||
SourceData.Single("Scan VF", "https://www.scan-vf.net", "fr", overrideVersionCode = 1),
|
||||
SourceData.Single("Scan OP", "https://scan-op.cc", "fr"),
|
||||
SourceData.Single("Komikid", "https://www.komikid.com", "id"),
|
||||
SourceData.Single("MangaHanta", "http://mangahanta.com", "tr", overrideVersionCode = 1),
|
||||
SourceData.Single("Fallen Angels Scans", "https://truyen.fascans.com", "vi"),
|
||||
SourceData.Single("LeoManga", "https://leomanga.me", "es", overrideVersionCode = 1),
|
||||
SourceData.Single("submanga", "https://submanga.io", "es"),
|
||||
SourceData.Single("Mangadoor", "https://mangadoor.com", "es", overrideVersionCode = 1),
|
||||
SourceData.Single("Utsukushii", "https://manga.utsukushii-bg.com", "bg", overrideVersionCode = 1),
|
||||
SourceData.Single("Phoenix-Scans", "https://phoenix-scans.pl", "pl", className = "PhoenixScans", overrideVersionCode = 1),
|
||||
SourceData.Single("Scan-1", "https://wwv.scan-1.com", "fr", className = "ScanOne", overrideVersionCode = 1),
|
||||
SourceData.Single("Lelscan-VF", "https://lelscanvf.com", "fr", className = "LelscanVF", overrideVersionCode = 1),
|
||||
SourceData.Single("AnimaRegia", "https://animaregia.net", "pt-BR", overrideVersionCode = 4),
|
||||
SourceData.Single("MangaVadisi", "http://manga-v2.mangavadisi.org", "tr", overrideVersionCode = 1),
|
||||
SourceData.Single("MangaID", "https://mangaid.click", "id", overrideVersionCode = 1),
|
||||
SourceData.Single("Jpmangas", "https://jpmangas.cc", "fr", overrideVersionCode = 1),
|
||||
SourceData.Single("Op-VF", "https://www.op-vf.com", "fr", className = "OpVF"),
|
||||
SourceData.Single("FR Scan", "https://frscan.ws", "fr", overrideVersionCode = 2),
|
||||
SourceData.Single("Ama Scans", "https://amascan.com", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
||||
SourceData.Single("Gekkou Scans", "https://gekkou.com.br", "pt-BR", isNsfw = true, pkgName = "gekkouscan", overrideVersionCode = 12),
|
||||
SourceData.Single("Gekkou Hentai", "https://hentai.gekkouscans.com.br", "pt-BR", isNsfw = true),
|
||||
// NOTE: THIS SOURCE CONTAINS A CUSTOM LANGUAGE SYSTEM (which will be ignored)!
|
||||
SourceData.Single("HentaiShark", "https://www.hentaishark.com", "all", isNsfw = true),
|
||||
// MultiLang("HentaiShark", "https://www.hentaishark.com", listOf("en", "ja", "zh", "de", "nl", "ko", "cz", "eo", "mn", "ar", "sk", "la", "ua", "ceb", "tl", "fi", "bg", "tr"), isNsfw = true, className = "HentaiSharkFactory"),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// SingleLang("Mangás Yuri", "https://mangasyuri.net", "pt-BR", className = "MangasYuri"), override val id: Long = 6456162511058446409
|
||||
// SingleLang("FR Scan", "https://www.frscan.me", "fr"),
|
||||
// Reference from old Factory Source
|
||||
// Changed CMS
|
||||
// SourceData("es", "Tumangaonline.co", "http://tumangaonline.com"),
|
||||
// SourceData("id", "MangaYu", "https://mangayu.com"),
|
||||
// SourceData("en", "MangaTreat Scans", "http://www.mangatreat.com"),
|
||||
// SourceData("en", "Chibi Manga Reader", "https://www.cmreader.info"),
|
||||
// SourceData("tr", "Epikmanga", "https://www.epikmanga.com"),
|
||||
// SourceData("en", "Hatigarm Scans", "https://hatigarmscans.net"),
|
||||
// Went offline
|
||||
// SourceData.Single("Nikushima", "http://azbivo.webd.pro", "pl"),
|
||||
// SourceData("ru", "Japit Comics", "https://j-comics.ru"),
|
||||
// SourceData("es", "Universo Yuri", "https://universoyuri.com"),
|
||||
// SourceData("pl", "Dracaena", "https://dracaena.webd.pl/czytnik"),
|
||||
// SourceData("pt-BR", "Comic Space", "https://www.comicspace.com.br"), //ID "Comic Space" -> 1847392744200215680
|
||||
// SourceData("pl", "ToraScans", "http://torascans.pl"),
|
||||
// SourceData("en", "Biamam Scans", "https://biamam.com"),
|
||||
// SourceData("en", "Mangawww Reader", "https://mangawww.club"),
|
||||
// SourceData("ru", "Anigai clan", "http://anigai.ru"),
|
||||
// SourceData("en", "ZXComic", "http://zxcomic.com"),
|
||||
// SourceData("es", "SOS Scanlation", "https://sosscanlation.com"),
|
||||
// SourceData("es", "MangaCasa", "https://mangacasa.com"))
|
||||
// SourceData("ja", "RAW MANGA READER", "https://rawmanga.site"),
|
||||
// SourceData("ar", "Manga FYI", "http://mangafyi.com/manga/arabic"),
|
||||
// SourceData("en", "MangaRoot", "http://mangaroot.com"),
|
||||
// SourceData("en", "MangaForLife", "http://manga4ever.com"),
|
||||
// SourceData("en", "Manga Spoil", "http://mangaspoil.com"),
|
||||
// SourceData("en", "MangaBlue", "http://mangablue.com"),
|
||||
// SourceData("en", "Manga Forest", "https://mangaforest.com"),
|
||||
// SourceData("en", "DManga", "http://dmanga.website"),
|
||||
// SourceData("en", "DB Manga", "http://dbmanga.com"),
|
||||
// SourceData("en", "Mangacox", "http://mangacox.com"),
|
||||
// SourceData("en", "GO Manhwa", "http://gomanhwa.xyz"),
|
||||
// SourceData("en", "KoManga", "https://komanga.net"),
|
||||
// SourceData("en", "Manganimecan", "http://manganimecan.com"),
|
||||
// SourceData("en", "Hentai2Manga", "http://hentai2manga.com"),
|
||||
// SourceData("en", "4 Manga", "http://4-manga.com"),
|
||||
// SourceData("en", "XYXX.INFO", "http://xyxx.info"),
|
||||
// SourceData("en", "Isekai Manga Reader", "https://isekaimanga.club"),
|
||||
// SourceData("fa", "TrinityReader", "http://trinityreader.pw"),
|
||||
// SourceData("fr", "Manga-LEL", "https://www.manga-lel.com"),
|
||||
// SourceData("fr", "Manga Etonnia", "https://www.etonnia.com"),
|
||||
// SourceData("fr", "ScanFR.com"), "http://scanfr.com"),
|
||||
// SourceData("fr", "Manga FYI", "http://mangafyi.com/manga/french"),
|
||||
// SourceData("fr", "scans-manga", "http://scans-manga.com"),
|
||||
// SourceData("fr", "Henka no Kaze", "http://henkanokazelel.esy.es/upload"),
|
||||
// SourceData("fr", "Tous Vos Scans", "http://www.tous-vos-scans.com"),
|
||||
// SourceData("id", "Manga Desu", "http://mangadesu.net"),
|
||||
// SourceData("id", "Komik Mangafire.ID", "http://go.mangafire.id"),
|
||||
// SourceData("id", "MangaOnline", "https://mangaonline.web.id"),
|
||||
// SourceData("id", "MangaNesia", "https://manganesia.com"),
|
||||
// SourceData("id", "MangaID", "https://mangaid.me"
|
||||
// SourceData("id", "Manga Seru", "http://www.mangaseru.top"
|
||||
// SourceData("id", "Manga FYI", "http://mangafyi.com/manga/indonesian"
|
||||
// SourceData("id", "Bacamangaku", "http://www.bacamangaku.com"),
|
||||
// SourceData("id", "Indo Manga Reader", "http://indomangareader.com"),
|
||||
// SourceData("it", "Kingdom Italia Reader", "http://kireader.altervista.org"),
|
||||
// SourceData("ja", "IchigoBook", "http://ichigobook.com"),
|
||||
// SourceData("ja", "Mangaraw Online", "http://mangaraw.online"
|
||||
// SourceData("ja", "MangaRAW", "https://www.mgraw.com"),
|
||||
// SourceData("ja", "マンガ/漫画 マガジン/雑誌 raw", "http://netabare-manga-raw.com"),
|
||||
// SourceData("ru", "NAKAMA", "http://nakama.ru"),
|
||||
// SourceData("tr", "MangAoi", "http://mangaoi.com"),
|
||||
// SourceData("tr", "ManhuaTR", "http://www.manhua-tr.com"),
|
|
@ -171,7 +171,7 @@ interface ThemeSourceGenerator {
|
|||
File(themeDestPath).mkdirs()
|
||||
|
||||
File(themeSrcPath).list()
|
||||
?.filter { it.endsWith(".kt") && !it.endsWith("Generator.kt") }
|
||||
?.filter { it.endsWith(".kt") && !it.endsWith("Generator.kt") && !it.endsWith("Gen.kt") }
|
||||
?.forEach { Files.copy(File("$themeSrcPath/$it").toPath(), File("$themeDestPath/$it").toPath(), StandardCopyOption.REPLACE_EXISTING) }
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue