commit
457c02c605
@ -102,16 +102,6 @@ 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/).
|
||||
|
@ -1,7 +0,0 @@
|
||||
plugins {
|
||||
id("kotlin")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly(Deps.kotlin.stdlib)
|
||||
}
|
@ -13,6 +13,5 @@ dependencies {
|
||||
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')
|
||||
}
|
||||
implementation project(":core")
|
||||
}
|
||||
|
@ -56,11 +56,7 @@ repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(":core")
|
||||
}
|
||||
apply from: "$rootDir/common-dependencies.gradle"
|
||||
|
||||
|
||||
preBuild.dependsOn(lintKotlin)
|
||||
lintKotlin.dependsOn(formatKotlin)
|
||||
|
@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
kotlin("android")
|
||||
}
|
||||
|
||||
android {
|
||||
@ -12,6 +13,7 @@ android {
|
||||
sourceSets {
|
||||
named("main") {
|
||||
manifest.srcFile("AndroidManifest.xml")
|
||||
java.setSrcDirs(listOf("src"))
|
||||
res.setSrcDirs(listOf("res"))
|
||||
}
|
||||
}
|
||||
@ -21,4 +23,17 @@ 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)
|
||||
}
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
#Thu Dec 10 21:03:32 EST 2020
|
||||
#Sat Feb 06 17:57:54 EST 2021
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip
|
||||
|
2
gradlew
vendored
2
gradlew
vendored
@ -130,7 +130,7 @@ fi
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
|
21
gradlew.bat
vendored
21
gradlew.bat
vendored
@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
@ -54,7 +54,7 @@ goto fail
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
@ -64,21 +64,6 @@ echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
|
@ -1,16 +0,0 @@
|
||||
plugins {
|
||||
java
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
srcDirs(listOf("src"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
@ -20,8 +20,6 @@ repositories {
|
||||
// dependencies
|
||||
apply("$rootDir/common-dependencies.gradle")
|
||||
|
||||
|
||||
|
||||
tasks.register("runAllGenerators") {
|
||||
doLast {
|
||||
val isWindows = System.getProperty("os.name").toString().toLowerCase().contains("win")
|
||||
@ -31,7 +29,7 @@ tasks.register("runAllGenerators") {
|
||||
"$projectDir/build/intermediates/aar_main_jar/debug/classes.jar" // jar made from this module
|
||||
))
|
||||
.joinToString(if (isWindows) ";" else ":")
|
||||
val javaPath = System.getProperty("java.home") + "/bin/java" // path of java
|
||||
val javaPath = "${System.getProperty("java.home")}/bin/java"
|
||||
|
||||
val mainClass = "eu.kanade.tachiyomi.multisrc.GeneratorMainKt" // Main class we want to execute
|
||||
|
||||
@ -43,7 +41,7 @@ tasks.register("runAllGenerators") {
|
||||
val javaProcess = Runtime.getRuntime().exec(javaCommand)
|
||||
val exitCode = javaProcess.waitFor()
|
||||
if (exitCode != 0){
|
||||
throw Exception("Running java failed with exit code: $exitCode")
|
||||
throw Exception("Java process failed with exit code: $exitCode")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +1 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="eu.kanade.tachiyomi.lib.themesources" />
|
||||
<manifest package="eu.kanade.tachiyomi.lib.themesources" />
|
||||
|
@ -1,12 +1,8 @@
|
||||
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")
|
||||
|
||||
|
@ -63,7 +63,7 @@ private class ManhuaES : WPComics("Manhua ES", "https://manhuaes.com", "en", Sim
|
||||
val showMoreFake = info.select(".detail-content .content-readmore").text()
|
||||
val showMore = info.select(".detail-content .morelink").text()
|
||||
val rawDesc = info.select("div.detail-content").text()
|
||||
|
||||
|
||||
if (showMoreFake == null || showMoreFake == "") {
|
||||
description = rawDesc.substringAfter(h3).substringAfter(strong).substringBefore(showMore)
|
||||
} else {
|
||||
|
@ -10,11 +10,11 @@ import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import java.util.Calendar
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import rx.Observable
|
||||
import java.util.Calendar
|
||||
|
||||
@Nsfw
|
||||
class Latisbooks : HttpSource() {
|
||||
|
@ -225,5 +225,4 @@ class Scantrad : ParsedHttpSource() {
|
||||
override fun imageUrlParse(document: Document) = throw UnsupportedOperationException("Not used")
|
||||
|
||||
override fun getFilterList() = FilterList()
|
||||
|
||||
}
|
||||
|
@ -106,12 +106,14 @@ open class NewToki(override val name: String, private val defaultBaseUrl: String
|
||||
val fullListButton = document.select(".comic-navbar .toon-nav a").last()
|
||||
|
||||
val list: List<SManga> = if (firstChapterButton?.text()?.contains("첫회보기")
|
||||
?: false) { // Check this page is detail page
|
||||
?: false
|
||||
) { // Check this page is detail page
|
||||
val details = mangaDetailsParse(document)
|
||||
details.url = urlPath
|
||||
listOf(details)
|
||||
} else if (fullListButton?.text()?.contains("전체목록")
|
||||
?: false) { // Check this page is chapter page
|
||||
?: false
|
||||
) { // Check this page is chapter page
|
||||
val url = fullListButton.attr("abs:href")
|
||||
val details = mangaDetailsParse(client.newCall(GET(url)).execute())
|
||||
details.url = getUrlPath(url)
|
||||
|
@ -11,6 +11,5 @@ ext {
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
||||
dependencies {
|
||||
compileOnly project(':duktape-stub')
|
||||
implementation 'com.luhuiguo:chinese-utils:1.0'
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user