mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
refactor: remove kapt and it's annotation processor, clean gradle, upgrade build-dir deprecation (#764)
* remove kapt and its annotation processor * cleanup * change deprecated builddir
This commit is contained in:
parent
765071ebef
commit
a2085202ec
2 changed files with 71 additions and 107 deletions
|
@ -8,7 +8,6 @@ plugins {
|
||||||
id("com.android.application")
|
id("com.android.application")
|
||||||
id("com.google.devtools.ksp")
|
id("com.google.devtools.ksp")
|
||||||
id("kotlin-android")
|
id("kotlin-android")
|
||||||
id("kotlin-kapt")
|
|
||||||
id("org.jetbrains.dokka")
|
id("org.jetbrains.dokka")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,12 +33,12 @@ android {
|
||||||
enable = true
|
enable = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// disable this for now
|
/* disable this for now
|
||||||
//externalNativeBuild {
|
externalNativeBuild {
|
||||||
// cmake {
|
cmake {
|
||||||
// path("CMakeLists.txt")
|
path("CMakeLists.txt")
|
||||||
// }
|
}
|
||||||
//}
|
}*/
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
create("prerelease") {
|
create("prerelease") {
|
||||||
|
@ -58,10 +57,8 @@ android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.lagradost.cloudstream3"
|
applicationId = "com.lagradost.cloudstream3"
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
|
targetSdk = 33 /* Android 14 is Fu*ked
|
||||||
// https://developer.android.com/about/versions/14/behavior-changes-14#safer-dynamic-code-loading
|
^ https://developer.android.com/about/versions/14/behavior-changes-14#safer-dynamic-code-loading*/
|
||||||
targetSdk = 33 // android 14 is fucked
|
|
||||||
|
|
||||||
versionCode = 62
|
versionCode = 62
|
||||||
versionName = "4.2.1"
|
versionName = "4.2.1"
|
||||||
|
|
||||||
|
@ -93,10 +90,6 @@ android {
|
||||||
arg("room.schemaLocation", "$projectDir/schemas")
|
arg("room.schemaLocation", "$projectDir/schemas")
|
||||||
arg("exportSchema", "true")
|
arg("exportSchema", "true")
|
||||||
}
|
}
|
||||||
|
|
||||||
kapt {
|
|
||||||
includeCompileClasspath = true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
@ -118,6 +111,7 @@ android {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
flavorDimensions.add("state")
|
flavorDimensions.add("state")
|
||||||
productFlavors {
|
productFlavors {
|
||||||
create("stable") {
|
create("stable") {
|
||||||
|
@ -137,14 +131,15 @@ android {
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
isCoreLibraryDesugaringEnabled = true
|
isCoreLibraryDesugaringEnabled = true
|
||||||
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
targetCompatibility = JavaVersion.VERSION_1_8
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
|
|
||||||
lint {
|
lint {
|
||||||
abortOnError = false
|
abortOnError = false
|
||||||
checkReleaseBuilds = false
|
checkReleaseBuilds = false
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace = "com.lagradost.cloudstream3"
|
namespace = "com.lagradost.cloudstream3"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,125 +148,93 @@ repositories {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.android.mediahome:video:1.0.0")
|
// Testing
|
||||||
implementation("androidx.test.ext:junit-ktx:1.1.5")
|
testImplementation("junit:junit:4.13.2")
|
||||||
testImplementation("org.json:json:20230618")
|
testImplementation("org.json:json:20230618")
|
||||||
|
androidTestImplementation("androidx.test:core")
|
||||||
|
implementation("androidx.test.ext:junit-ktx:1.1.5")
|
||||||
|
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
||||||
|
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
||||||
|
|
||||||
|
// Android Core & Lifecycle
|
||||||
implementation("androidx.core:core-ktx:1.12.0")
|
implementation("androidx.core:core-ktx:1.12.0")
|
||||||
implementation("androidx.appcompat:appcompat:1.6.1")
|
implementation("androidx.appcompat:appcompat:1.6.1")
|
||||||
|
|
||||||
implementation("com.google.android.material:material:1.10.0")
|
|
||||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
|
||||||
|
|
||||||
implementation("androidx.navigation:navigation-fragment-ktx:2.7.5")
|
|
||||||
implementation("androidx.navigation:navigation-ui-ktx:2.7.5")
|
implementation("androidx.navigation:navigation-ui-ktx:2.7.5")
|
||||||
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.2")
|
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.2")
|
||||||
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2")
|
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2")
|
||||||
|
implementation("androidx.navigation:navigation-fragment-ktx:2.7.5")
|
||||||
|
|
||||||
testImplementation("junit:junit:4.13.2")
|
// Design & UI
|
||||||
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
|
||||||
androidTestImplementation("androidx.test:core")
|
|
||||||
|
|
||||||
// implementation("io.karn:khttp-android:0.1.2") //okhttp instead
|
|
||||||
// implementation("org.jsoup:jsoup:1.13.1")
|
|
||||||
// DONT UPDATE, WILL CRASH ANDROID TV ????
|
|
||||||
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1")
|
|
||||||
|
|
||||||
implementation("androidx.preference:preference-ktx:1.2.1")
|
|
||||||
|
|
||||||
implementation("com.github.bumptech.glide:glide:4.15.1")
|
|
||||||
ksp("com.github.bumptech.glide:ksp:4.15.1")
|
|
||||||
implementation("com.github.bumptech.glide:okhttp3-integration:4.15.1")
|
|
||||||
// for ksp
|
|
||||||
ksp("dev.zacsweers.autoservice:auto-service-ksp:1.1.0")
|
|
||||||
implementation("dev.zacsweers.autoservice:auto-service-ksp:1.1.0")
|
|
||||||
implementation("com.google.guava:guava:32.1.2-android")
|
|
||||||
|
|
||||||
implementation("jp.wasabeef:glide-transformations:4.3.0")
|
implementation("jp.wasabeef:glide-transformations:4.3.0")
|
||||||
|
implementation("androidx.preference:preference-ktx:1.2.1")
|
||||||
|
implementation("com.google.android.material:material:1.10.0")
|
||||||
|
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
||||||
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
|
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
|
||||||
|
|
||||||
// implementation("androidx.leanback:leanback-paging:1.1.0-alpha09")
|
// Glide Module
|
||||||
|
ksp("com.github.bumptech.glide:ksp:4.15.1")
|
||||||
|
implementation("com.github.bumptech.glide:glide:4.15.1")
|
||||||
|
implementation("com.github.bumptech.glide:okhttp3-integration:4.15.1")
|
||||||
|
|
||||||
// Media 3
|
// For KSP -> Official Annotation Processors are Not Yet Supported for KSP
|
||||||
implementation("androidx.media3:media3-common:1.1.1")
|
ksp("dev.zacsweers.autoservice:auto-service-ksp:1.1.0")
|
||||||
implementation("androidx.media3:media3-exoplayer:1.1.1")
|
implementation("com.google.guava:guava:32.1.2-android")
|
||||||
implementation("androidx.media3:media3-datasource-okhttp:1.1.1")
|
implementation("dev.zacsweers.autoservice:auto-service-ksp:1.1.0")
|
||||||
|
|
||||||
|
// Media 3 (ExoPlayer)
|
||||||
implementation("androidx.media3:media3-ui:1.1.1")
|
implementation("androidx.media3:media3-ui:1.1.1")
|
||||||
implementation("androidx.media3:media3-session:1.1.1")
|
|
||||||
implementation("androidx.media3:media3-cast:1.1.1")
|
implementation("androidx.media3:media3-cast:1.1.1")
|
||||||
|
implementation("androidx.media3:media3-common:1.1.1")
|
||||||
|
implementation("androidx.media3:media3-session:1.1.1")
|
||||||
|
implementation("androidx.media3:media3-exoplayer:1.1.1")
|
||||||
|
implementation("com.google.android.mediahome:video:1.0.0")
|
||||||
implementation("androidx.media3:media3-exoplayer-hls:1.1.1")
|
implementation("androidx.media3:media3-exoplayer-hls:1.1.1")
|
||||||
implementation("androidx.media3:media3-exoplayer-dash:1.1.1")
|
implementation("androidx.media3:media3-exoplayer-dash:1.1.1")
|
||||||
// Custom ffmpeg extension for audio codecs
|
implementation("androidx.media3:media3-datasource-okhttp:1.1.1")
|
||||||
implementation("com.github.recloudstream:media-ffmpeg:1.1.0")
|
|
||||||
|
|
||||||
// Bug reports
|
// PlayBack
|
||||||
|
implementation("com.jaredrummler:colorpicker:1.1.0") // Subtitle Color Picker
|
||||||
|
implementation("com.github.recloudstream:media-ffmpeg:1.1.0") // Custom FF-MPEG Lib for Audio Codecs
|
||||||
|
implementation("com.github.teamnewpipe:NewPipeExtractor:eac850") /* For Trailers
|
||||||
|
^ Update to Latest Commits if Trailers Misbehave, github.com/TeamNewPipe/NewPipeExtractor/commits/dev */
|
||||||
|
implementation("com.github.albfernandez:juniversalchardet:2.4.0") // Subtitle Decoding
|
||||||
|
|
||||||
|
// Crash Reports (AcraApplication.kt)
|
||||||
implementation("ch.acra:acra-core:5.11.2")
|
implementation("ch.acra:acra-core:5.11.2")
|
||||||
implementation("ch.acra:acra-toast:5.11.2")
|
implementation("ch.acra:acra-toast:5.11.2")
|
||||||
|
|
||||||
//or for kotlin sources (requires kapt gradle plugin):
|
// UI Stuff
|
||||||
kapt("com.google.auto.service:auto-service:1.1.1")
|
implementation("com.facebook.shimmer:shimmer:0.5.0") // Shimmering Effect (Loading Skeleton)
|
||||||
|
implementation("androidx.palette:palette-ktx:1.0.0") // Palette For Images -> Colors
|
||||||
|
implementation("androidx.tvprovider:tvprovider:1.0.0")
|
||||||
|
implementation("com.github.discord:OverlappingPanels:0.1.5") // Gestures
|
||||||
|
implementation("com.github.rubensousa:previewseekbar-media3:1.1.1.0") // SeekBar Preview
|
||||||
|
|
||||||
// subtitle color picker
|
// Extensionns & Other Libs
|
||||||
implementation("com.jaredrummler:colorpicker:1.1.0")
|
implementation("org.mozilla:rhino:1.7.13") /* run JS
|
||||||
|
^ Don't Bump RhinoJS to 1.7.14, since in 1.7.14 Rhino Uses the `SourceVersion` Class, Which is NOT
|
||||||
|
Available on Android (even with Desugaring) & `NoClassDefFoundError` Occurs. */
|
||||||
|
implementation("me.xdrop:fuzzywuzzy:1.4.0") // Library/Ext Searching with Levenshtein Distance
|
||||||
|
implementation("com.github.LagradOst:SafeFile:0.0.5") // To Prevent the URI File Fu*kery
|
||||||
|
implementation("org.conscrypt:conscrypt-android:2.5.2") // To Fix SSL Fu*kery on Android 9
|
||||||
|
implementation("com.uwetrottmann.tmdb2:tmdb-java:2.10.0") // TMDB API v3 Wrapper Made with RetroFit
|
||||||
|
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.6")
|
||||||
|
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1") /* JSON Parser
|
||||||
|
^ Don't Bump Jackson above 2.13.1 , Crashes on Android TV's and FireSticks that have Min API
|
||||||
|
Level 25 or Less. */
|
||||||
|
|
||||||
// run JS
|
// Downloading & Networking
|
||||||
// do not upgrade to 1.7.14, since in 1.7.14 Rhino uses the `SourceVersion` class, which is not
|
|
||||||
// available on Android (even when using desugaring), and `NoClassDefFoundError` is thrown
|
|
||||||
implementation("org.mozilla:rhino:1.7.13")
|
|
||||||
|
|
||||||
// TorrentStream
|
|
||||||
// implementation("com.github.TorrentStream:TorrentStream-Android:2.7.0")
|
|
||||||
|
|
||||||
// Downloading
|
|
||||||
implementation("androidx.work:work-runtime:2.8.1")
|
implementation("androidx.work:work-runtime:2.8.1")
|
||||||
implementation("androidx.work:work-runtime-ktx:2.8.1")
|
implementation("androidx.work:work-runtime-ktx:2.8.1")
|
||||||
|
implementation("com.github.Blatzar:NiceHttp:0.4.4") // HTTP Lib
|
||||||
// Networking
|
|
||||||
// implementation("com.squareup.okhttp3:okhttp:4.9.2")
|
|
||||||
// implementation("com.squareup.okhttp3:okhttp-dnsoverhttps:4.9.1")
|
|
||||||
implementation("com.github.Blatzar:NiceHttp:0.4.4") // http library
|
|
||||||
// To fix SSL fuckery on android 9
|
|
||||||
implementation("org.conscrypt:conscrypt-android:2.5.2")
|
|
||||||
// Util to skip the URI file fuckery 🙏
|
|
||||||
implementation("com.github.LagradOst:SafeFile:0.0.5")
|
|
||||||
|
|
||||||
// API because cba maintaining it myself
|
|
||||||
implementation("com.uwetrottmann.tmdb2:tmdb-java:2.10.0")
|
|
||||||
|
|
||||||
implementation("com.github.discord:OverlappingPanels:0.1.5")
|
|
||||||
// debugImplementation because LeakCanary should only run in debug builds.
|
|
||||||
// debugImplementation("com.squareup.leakcanary:leakcanary-android:2.12")
|
|
||||||
|
|
||||||
// for shimmer when loading
|
|
||||||
implementation("com.facebook.shimmer:shimmer:0.5.0")
|
|
||||||
|
|
||||||
implementation("androidx.tvprovider:tvprovider:1.0.0")
|
|
||||||
|
|
||||||
// used for subtitle decoding https://github.com/albfernandez/juniversalchardet
|
|
||||||
implementation("com.github.albfernandez:juniversalchardet:2.4.0")
|
|
||||||
|
|
||||||
// newpipe yt taken from https://github.com/TeamNewPipe/NewPipeExtractor/commits/dev
|
|
||||||
// this should be updated frequently to avoid trailer fu*kery
|
|
||||||
implementation("com.github.teamnewpipe:NewPipeExtractor:917554a")
|
|
||||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.6")
|
|
||||||
|
|
||||||
// Library/extensions searching with Levenshtein distance
|
|
||||||
implementation("me.xdrop:fuzzywuzzy:1.4.0")
|
|
||||||
|
|
||||||
// color palette for images -> colors
|
|
||||||
implementation("androidx.palette:palette-ktx:1.0.0")
|
|
||||||
// seekbar https://github.com/rubensousa/PreviewSeekBar
|
|
||||||
implementation("com.github.rubensousa:previewseekbar-media3:1.1.1.0")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register("androidSourcesJar", Jar::class) {
|
tasks.register("androidSourcesJar", Jar::class) {
|
||||||
archiveClassifier.set("sources")
|
archiveClassifier.set("sources")
|
||||||
from(android.sourceSets.getByName("main").java.srcDirs) //full sources
|
from(android.sourceSets.getByName("main").java.srcDirs) // Full Sources
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is used by the gradlew plugin
|
// For GradLew Plugin
|
||||||
tasks.register("makeJar", Copy::class) {
|
tasks.register("makeJar", Copy::class) {
|
||||||
from("build/intermediates/compile_app_classes_jar/prereleaseDebug")
|
from("build/intermediates/compile_app_classes_jar/prereleaseDebug")
|
||||||
into("build")
|
into("build")
|
||||||
|
@ -295,6 +258,7 @@ tasks.withType<DokkaTask>().configureEach {
|
||||||
|
|
||||||
// URL showing where the source code can be accessed through the web browser
|
// URL showing where the source code can be accessed through the web browser
|
||||||
remoteUrl.set(URL("https://github.com/recloudstream/cloudstream/tree/master/app/src/main/java"))
|
remoteUrl.set(URL("https://github.com/recloudstream/cloudstream/tree/master/app/src/main/java"))
|
||||||
|
|
||||||
// Suffix which is used to append the line number to the URL. Use #L for GitHub
|
// Suffix which is used to append the line number to the URL. Use #L for GitHub
|
||||||
remoteLineSuffix.set("#L")
|
remoteLineSuffix.set("#L")
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,6 @@ plugins {
|
||||||
id("com.google.devtools.ksp") version "1.9.20-1.0.14" apply false
|
id("com.google.devtools.ksp") version "1.9.20-1.0.14" apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register("clean", Delete::class) {
|
tasks.register<Delete>("clean") {
|
||||||
delete(rootProject.buildDir)
|
delete(rootProject.layout.buildDirectory)
|
||||||
}
|
}
|
Loading…
Reference in a new issue