diff --git a/.editorconfig b/.editorconfig index 895cf5622..336ff3c06 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,3 +10,6 @@ insert_final_newline = true trim_trailing_whitespace = true ij_kotlin_allow_trailing_comma = true ij_kotlin_allow_trailing_comma_on_call_site = true +ktlint_experimental = enabled +ktlint_experimental_argument-list-wrapping = disabled # Doesn't play well with Android Studio +ktlint_experimental_comment-wrapping = disabled diff --git a/.github/workflows/batch_close_issues.yml b/.github/workflows/batch_close_issues.yml index e1d40cc4c..f41e195d3 100644 --- a/.github/workflows/batch_close_issues.yml +++ b/.github/workflows/batch_close_issues.yml @@ -12,7 +12,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v7 + - uses: actions/stale@v8 with: repo-token: ${{ secrets.GITHUB_TOKEN }} # Close everything older than ~6 months diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index dd6fd7751..2daa94ea5 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -33,7 +33,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - id: get-changed-files @@ -107,7 +107,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Generate sources from the multi-source library @@ -141,7 +141,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Build extensions (chunk ${{ matrix.chunk }}) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index d17872947..0aff6532c 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -48,7 +48,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Generate multisrc sources @@ -97,7 +97,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Prepare signing key @@ -148,7 +148,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Prepare signing key @@ -193,7 +193,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Checkout master branch diff --git a/.github/workflows/issue_moderator.yml b/.github/workflows/issue_moderator.yml index 71af8325f..315d289fb 100644 --- a/.github/workflows/issue_moderator.yml +++ b/.github/workflows/issue_moderator.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Moderate issues - uses: tachiyomiorg/issue-moderator-action@v1 + uses: tachiyomiorg/issue-moderator-action@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} duplicate-check-enabled: true diff --git a/build.gradle.kts b/build.gradle.kts index 50b671b21..25521f385 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,3 +8,11 @@ plugins { tasks.register("clean") { delete(rootProject.buildDir) } + +allprojects { + tasks.withType().configureEach { + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + } + } +} diff --git a/common.gradle b/common.gradle index cfef15d20..469b29373 100644 --- a/common.gradle +++ b/common.gradle @@ -82,14 +82,6 @@ android { jvmTarget = JavaVersion.VERSION_1_8.toString() freeCompilerArgs += "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" } - - kotlinter { - experimentalRules = true - disabledRules = [ - "experimental:argument-list-wrapping", // Doesn't play well with Android Studio - "experimental:comment-wrapping", - ] - } } dependencies { @@ -100,7 +92,7 @@ dependencies { configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if (details.requested.group == 'org.jetbrains.kotlin' && details.requested.name == 'kotlin-stdlib-jdk8' && details.requested.version == '1.7.0') { - details.useVersion '1.7.21' + details.useVersion '1.8.21' details.because 'Fix problems with dev.datlag JsUnpacker' } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a55169910..c255e623e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,8 +1,8 @@ [versions] -agp_version = "7.4.1" -coroutines_version = "1.6.4" -kotlin_version = "1.7.21" -serialization_version = "1.4.0" +agp_version = "8.0.1" +coroutines_version = "1.7.1" +kotlin_version = "1.8.21" +serialization_version = "1.5.1" [libraries] aniyomi-lib = { module = "com.github.jmir1:extensions-lib", version = "a2f1874" } @@ -17,7 +17,7 @@ coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-androi injekt-core = { module = "com.github.inorichi.injekt:injekt-core", version = "65b0440" } rxandroid = { module = "io.reactivex:rxandroid", version = "1.2.1" } rxjava = { module = "io.reactivex:rxjava", version = "1.3.8" } -jsoup = { module = "org.jsoup:jsoup", version = "1.15.3" } +jsoup = { module = "org.jsoup:jsoup", version = "1.16.1" } okhttp = { module = "com.squareup.okhttp3:okhttp", version = "5.0.0-alpha.11" } quickjs = { module = "app.cash.quickjs:quickjs-android", version = "0.9.2" } @@ -28,6 +28,6 @@ reactivex = ["rxandroid"] [plugins] android-application = { id = "com.android.application", version.ref = "agp_version" } android-library = { id = "com.android.library", version.ref = "agp_version" } -kotlinter = { id = "org.jmailen.kotlinter", version = "3.13.0" } +kotlinter = { id = "org.jmailen.kotlinter", version = "3.14.0" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin_version" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin_version" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 943f0cbfa..c1962a79e 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f398c33c4..37aef8d3f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 65dcd68d6..aeb74cbb4 100755 --- a/gradlew +++ b/gradlew @@ -85,9 +85,6 @@ done APP_BASE_NAME=${0##*/} APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -144,7 +141,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +149,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,6 +194,10 @@ if "$cygwin" || "$msys" ; then done fi + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in diff --git a/lib/chillx-extractor/build.gradle.kts b/lib/chillx-extractor/build.gradle.kts index 66a9061fd..659c0c011 100644 --- a/lib/chillx-extractor/build.gradle.kts +++ b/lib/chillx-extractor/build.gradle.kts @@ -5,10 +5,10 @@ plugins { android { compileSdk = AndroidConfig.compileSdk + namespace = "eu.kanade.tachiyomi.lib.chillxextractor" defaultConfig { minSdk = AndroidConfig.minSdk - targetSdk = AndroidConfig.targetSdk } } diff --git a/lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt b/lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt index a5012a733..866838540 100644 --- a/lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt +++ b/lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt @@ -41,7 +41,7 @@ class GdrivePlayerExtractor(private val client: OkHttpClient) { .distinctBy { it.groupValues[2] } // remove duplicates by quality .map { val qualityStr = it.groupValues[2] - val quality = "$PLAYER_NAME ${qualityStr}p - $name" + val quality = "$playerName ${qualityStr}p - $name" val videoUrl = "https:" + it.groupValues[1] + "&res=$qualityStr" Video(videoUrl, quality, videoUrl, subtitleTracks = subtitleList) }.toList() @@ -58,7 +58,7 @@ class GdrivePlayerExtractor(private val client: OkHttpClient) { } companion object { - private const val PLAYER_NAME = "GDRIVE" + private const val playerName = "GDRIVE" private val REGEX_DATAJSON = Regex("data=\"(\\S+?)\";") private val REGEX_PASSWORD = Regex("var pass = \"(\\S+?)\"") diff --git a/lib/unpacker/build.gradle.kts b/lib/unpacker/build.gradle.kts index aefbbe7dd..905cba45b 100644 --- a/lib/unpacker/build.gradle.kts +++ b/lib/unpacker/build.gradle.kts @@ -6,3 +6,8 @@ plugins { dependencies { compileOnly(libs.kotlin.stdlib) } + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} diff --git a/multisrc/overrides/dooplay/animeonlineninja/src/AnimeOnlineNinja.kt b/multisrc/overrides/dooplay/animeonlineninja/src/AnimeOnlineNinja.kt index 82a25edf9..2bd10c60c 100644 --- a/multisrc/overrides/dooplay/animeonlineninja/src/AnimeOnlineNinja.kt +++ b/multisrc/overrides/dooplay/animeonlineninja/src/AnimeOnlineNinja.kt @@ -143,10 +143,10 @@ class AnimeOnlineNinja : DooPlay( private fun extractFromMulti(url: String): List