3
3
Fork 1
mirror of https://github.com/recloudstream/cloudstream.git synced 2024-08-15 01:53:11 +00:00

Implement Version Catalog for Centralized Dependency Management

This pull request introduces a version catalog (libs.versions.toml) to centralize dependency management within the project. By consolidating dependency versions in one location, we achieve greater consistency across the project, streamline maintenance, and simplify the process of updating dependencies. This approach enhances the organization and efficiency of managing dependencies, benefiting multiple modules and reducing potential conflicts.
This commit is contained in:
Tamim Hossain 2024-07-28 10:22:58 +06:00
parent 2fc279f4ae
commit a2e31457a8
2270 changed files with 592 additions and 66 deletions
.idea
app
build.gradle.kts
gradle
library
build.gradle.kts
build/.transforms/0e28566e7f12931bf40e89b2187501e8
results.bin
transformed/debug/com/lagradost
api
cloudstream3
APIHolder$getCaptchaToken$1.dexAPIHolder$getTracker$2.dexAPIHolder$searchAnilist$1.dexAPIHolder.dexActor.dexActorData.dexActorRole.dexAniSearch$Data$Page$Media$CoverImage.dexAniSearch$Data$Page$Media$Title.dexAniSearch$Data$Page$Media.dexAniSearch$Data$Page.dexAniSearch$Data.dexAniSearch.dexAnimeLoadResponse.dexAnimeSearchResponse.dexAutoDownloadMode$Companion.dexAutoDownloadMode.dexDubStatus.dexEpisode.dexEpisodeResponse.dexErrorLoadingException.dexHomePageList.dexHomePageResponse.dexIDownloadableMinimum.dexLiveSearchResponse.dexLiveStreamLoadResponse.dexLoadResponse$Companion$addSimklId$1.dexLoadResponse$Companion$getImdbId$1.dexLoadResponse$Companion$getTMDbId$1.dexLoadResponse$Companion$readIdFromString$$inlined$tryParseJson$1.dexLoadResponse$Companion.dexLoadResponse.dexMainAPI$Companion.dexMainAPI.dexMainAPIKt$fetchUrls$1.dexMainAPIKt$fixTitle$1.dexMainAPIKt$getRhinoContext$1.dexMainAPIKt$getRhinoContext$2.dexMainAPIKt$newAnimeLoadResponse$1.dexMainAPIKt$newAnimeLoadResponse$2.dexMainAPIKt$newAnimeSearchResponse$1.dexMainAPIKt$newEpisode$1.dexMainAPIKt$newEpisode$2.dexMainAPIKt$newMovieLoadResponse$1.dexMainAPIKt$newMovieLoadResponse$2.dexMainAPIKt$newMovieLoadResponse$3.dexMainAPIKt$newMovieLoadResponse$4.dexMainAPIKt$newMovieSearchResponse$1.dexMainAPIKt$newTvSeriesLoadResponse$1.dexMainAPIKt$newTvSeriesLoadResponse$2.dexMainAPIKt$newTvSeriesSearchResponse$1.dexMainAPIKt$sortUrls$$inlined$sortedBy$1.dexMainAPIKt.dexMainActivityKt$app$1.dexMainActivityKt.dexMainPageData.dexMainPageRequest.dexMovieLoadResponse.dexMovieSearchResponse.dexNextAiring.dexParCollectionsKt$amap$1.dexParCollectionsKt$amap$2$1$1.dexParCollectionsKt$amap$3.dexParCollectionsKt$amap$4$1$1.dexParCollectionsKt$amapIndexed$1.dexParCollectionsKt$amapIndexed$2$1$1.dexParCollectionsKt$apmap$1$1$1.dexParCollectionsKt$apmap$1.dexParCollectionsKt$apmap$2$1$1.dexParCollectionsKt$apmap$2.dexParCollectionsKt$apmapIndexed$1$1$1.dexParCollectionsKt$apmapIndexed$1.dexParCollectionsKt$argamap$1$1$1.dexParCollectionsKt$argamap$1.dexParCollectionsKt.dexProviderType.dexProvidersInfoJson.dexSearchQuality.dexSearchResponse.dexSeasonData.dexSettingsJson.dexShowStatus.dexSimklSyncServices.dexSubtitleFile.dexTorrentLoadResponse.dexTorrentSearchResponse.dex

View file

@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="library-jvm-1.0.0">
<output-path>$PROJECT_DIR$/library/build/libs</output-path>
<root id="archive" name="library-jvm-1.0.0.jar">
<element id="module-output" name="CloudStream.library.jvmMain" />
</root>
</artifact>
</component>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2024-07-28T04:06:48.055432900Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\fantv\.android\avd\Pixel_6_API_34.avd" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState>
</selectionStates>
</component>
</project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GoogleJavaFormatSettings">
<option name="enabled" value="false" />
</component>
</project>

6
.idea/kotlinc.xml Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.23" />
</component>
</project>

263
.idea/other.xml Normal file
View file

@ -0,0 +1,263 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="direct_access_persist.xml">
<option name="deviceSelectionList">
<list>
<PersistentDeviceSelectionData>
<option name="api" value="27" />
<option name="brand" value="DOCOMO" />
<option name="codename" value="F01L" />
<option name="id" value="F01L" />
<option name="manufacturer" value="FUJITSU" />
<option name="name" value="F-01L" />
<option name="screenDensity" value="360" />
<option name="screenX" value="720" />
<option name="screenY" value="1280" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="28" />
<option name="brand" value="DOCOMO" />
<option name="codename" value="SH-01L" />
<option name="id" value="SH-01L" />
<option name="manufacturer" value="SHARP" />
<option name="name" value="AQUOS sense2 SH-01L" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1080" />
<option name="screenY" value="2160" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="31" />
<option name="brand" value="samsung" />
<option name="codename" value="a51" />
<option name="id" value="a51" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy A51" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="akita" />
<option name="id" value="akita" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="samsung" />
<option name="codename" value="b0q" />
<option name="id" value="b0q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S22 Ultra" />
<option name="screenDensity" value="600" />
<option name="screenX" value="1440" />
<option name="screenY" value="3088" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="32" />
<option name="brand" value="google" />
<option name="codename" value="bluejay" />
<option name="id" value="bluejay" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 6a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="29" />
<option name="brand" value="samsung" />
<option name="codename" value="crownqlteue" />
<option name="id" value="crownqlteue" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Note9" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2220" />
<option name="screenY" value="1080" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="dm3q" />
<option name="id" value="dm3q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S23 Ultra" />
<option name="screenDensity" value="600" />
<option name="screenX" value="1440" />
<option name="screenY" value="3088" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="felix" />
<option name="id" value="felix" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Fold" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2208" />
<option name="screenY" value="1840" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="felix_camera" />
<option name="id" value="felix_camera" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Fold (Camera-enabled)" />
<option name="screenDensity" value="420" />
<option name="screenX" value="2208" />
<option name="screenY" value="1840" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="samsung" />
<option name="codename" value="gts8uwifi" />
<option name="id" value="gts8uwifi" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Tab S8 Ultra" />
<option name="screenDensity" value="320" />
<option name="screenX" value="1848" />
<option name="screenY" value="2960" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="husky" />
<option name="id" value="husky" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8 Pro" />
<option name="screenDensity" value="390" />
<option name="screenX" value="1008" />
<option name="screenY" value="2244" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="motorola" />
<option name="codename" value="java" />
<option name="id" value="java" />
<option name="manufacturer" value="Motorola" />
<option name="name" value="G20" />
<option name="screenDensity" value="280" />
<option name="screenX" value="720" />
<option name="screenY" value="1600" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="lynx" />
<option name="id" value="lynx" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 7a" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="31" />
<option name="brand" value="google" />
<option name="codename" value="oriole" />
<option name="id" value="oriole" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 6" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="panther" />
<option name="id" value="panther" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 7" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="31" />
<option name="brand" value="samsung" />
<option name="codename" value="q2q" />
<option name="id" value="q2q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Z Fold3" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1768" />
<option name="screenY" value="2208" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="samsung" />
<option name="codename" value="q5q" />
<option name="id" value="q5q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy Z Fold5" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1812" />
<option name="screenY" value="2176" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="google" />
<option name="codename" value="r11" />
<option name="id" value="r11" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Watch" />
<option name="screenDensity" value="320" />
<option name="screenX" value="384" />
<option name="screenY" value="384" />
<option name="type" value="WEAR_OS" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="30" />
<option name="brand" value="google" />
<option name="codename" value="redfin" />
<option name="id" value="redfin" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 5" />
<option name="screenDensity" value="440" />
<option name="screenX" value="1080" />
<option name="screenY" value="2340" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="34" />
<option name="brand" value="google" />
<option name="codename" value="shiba" />
<option name="id" value="shiba" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel 8" />
<option name="screenDensity" value="420" />
<option name="screenX" value="1080" />
<option name="screenY" value="2400" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="33" />
<option name="brand" value="google" />
<option name="codename" value="tangorpro" />
<option name="id" value="tangorpro" />
<option name="manufacturer" value="Google" />
<option name="name" value="Pixel Tablet" />
<option name="screenDensity" value="320" />
<option name="screenX" value="1600" />
<option name="screenY" value="2560" />
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option name="api" value="29" />
<option name="brand" value="samsung" />
<option name="codename" value="x1q" />
<option name="id" value="x1q" />
<option name="manufacturer" value="Samsung" />
<option name="name" value="Galaxy S20" />
<option name="screenDensity" value="480" />
<option name="screenX" value="1440" />
<option name="screenY" value="3200" />
</PersistentDeviceSelectionData>
</list>
</option>
</component>
</project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PalantirJavaFormatSettings">
<option name="enabled" value="false" />
</component>
</project>

View file

@ -154,84 +154,84 @@ repositories {
dependencies {
// Testing
testImplementation("junit:junit:4.13.2")
testImplementation("org.json:json:20240303")
androidTestImplementation("androidx.test:core")
implementation("androidx.test.ext:junit-ktx:1.2.1")
androidTestImplementation("androidx.test.ext:junit:1.2.1")
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
testImplementation(libs.junit)
testImplementation(libs.json)
androidTestImplementation(libs.core)
implementation(libs.junit.ktx)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
// Android Core & Lifecycle
implementation("androidx.core:core-ktx:1.13.1")
implementation("androidx.appcompat:appcompat:1.7.0")
implementation("androidx.navigation:navigation-ui-ktx:2.7.7")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.3")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3")
implementation("androidx.navigation:navigation-fragment-ktx:2.7.7")
implementation(libs.core.ktx)
implementation(libs.appcompat)
implementation(libs.navigation.ui.ktx)
implementation(libs.lifecycle.livedata.ktx)
implementation(libs.lifecycle.viewmodel.ktx)
implementation(libs.navigation.fragment.ktx)
// Design & UI
implementation("jp.wasabeef:glide-transformations:4.3.0")
implementation("androidx.preference:preference-ktx:1.2.1")
implementation("com.google.android.material:material:1.12.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation(libs.glide.transformations)
implementation(libs.preference.ktx)
implementation(libs.material)
implementation(libs.constraintlayout)
implementation(libs.swiperefreshlayout)
// Glide Module
ksp("com.github.bumptech.glide:ksp:4.16.0")
implementation("com.github.bumptech.glide:glide:4.16.0")
implementation("com.github.bumptech.glide:okhttp3-integration:4.16.0")
ksp(libs.ksp)
implementation(libs.glide)
implementation(libs.okhttp3.integration)
// For KSP -> Official Annotation Processors are Not Yet Supported for KSP
ksp("dev.zacsweers.autoservice:auto-service-ksp:1.2.0")
implementation("com.google.guava:guava:33.2.1-android")
implementation("dev.zacsweers.autoservice:auto-service-ksp:1.2.0")
ksp(libs.auto.service.ksp)
implementation(libs.guava)
implementation(libs.auto.service.ksp)
// Media 3 (ExoPlayer)
implementation("androidx.media3:media3-ui: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-dash:1.1.1")
implementation("androidx.media3:media3-datasource-okhttp:1.1.1")
implementation(libs.media3.ui)
implementation(libs.media3.cast)
implementation(libs.media3.common)
implementation(libs.media3.session)
implementation(libs.media3.exoplayer)
implementation(libs.video)
implementation(libs.media3.exoplayer.hls)
implementation(libs.media3.exoplayer.dash)
implementation(libs.media3.datasource.okhttp)
// 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:2d36945") /* For Trailers
implementation(libs.colorpicker) // Subtitle Color Picker
implementation(libs.media.ffmpeg) // Custom FF-MPEG Lib for Audio Codecs
implementation(libs.newpipeextractor) /* For Trailers
^ Update to Latest Commits if Trailers Misbehave, github.com/TeamNewPipe/NewPipeExtractor/commits/dev */
implementation("com.github.albfernandez:juniversalchardet:2.5.0") // Subtitle Decoding
implementation(libs.juniversalchardet) // Subtitle Decoding
// Crash Reports (AcraApplication.kt)
implementation("ch.acra:acra-core:5.11.3")
implementation("ch.acra:acra-toast:5.11.3")
implementation(libs.acra.core)
implementation(libs.acra.toast)
// UI Stuff
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 ("androidx.biometric:biometric:1.2.0-alpha05") // Fingerprint Authentication
implementation("com.github.rubensousa:previewseekbar-media3:1.1.1.0") // SeekBar Preview
implementation("io.github.g0dkar:qrcode-kotlin:4.2.0") // QR code for PIN Auth on TV
implementation(libs.shimmer) // Shimmering Effect (Loading Skeleton)
implementation(libs.palette.ktx) // Palette For Images -> Colors
implementation(libs.tvprovider)
implementation(libs.overlappingpanels) // Gestures
implementation (libs.biometric) // Fingerprint Authentication
implementation(libs.previewseekbar.media3) // SeekBar Preview
implementation(libs.qrcode.kotlin) // QR code for PIN Auth on TV
// Extensions & Other Libs
implementation("org.mozilla:rhino:1.7.15") // run JavaScript
implementation("me.xdrop:fuzzywuzzy:1.4.0") // Library/Ext Searching with Levenshtein Distance
implementation("com.github.LagradOst:SafeFile:0.0.6") // 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.11.0") // TMDB API v3 Wrapper Made with RetroFit
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1") /* JSON Parser
implementation(libs.rhino) // run JavaScript
implementation(libs.fuzzywuzzy) // Library/Ext Searching with Levenshtein Distance
implementation(libs.safefile) // To Prevent the URI File Fu*kery
implementation(libs.conscrypt.android) // To Fix SSL Fu*kery on Android 9
implementation(libs.tmdb.java) // TMDB API v3 Wrapper Made with RetroFit
coreLibraryDesugaring(libs.desugar.jdk.libs)
implementation(libs.jackson.module.kotlin) /* 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. */
// Downloading & Networking
implementation("androidx.work:work-runtime:2.9.0")
implementation("androidx.work:work-runtime-ktx:2.9.0")
implementation("com.github.Blatzar:NiceHttp:0.4.11") // HTTP Lib
implementation(libs.work.runtime)
implementation(libs.work.runtime.ktx)
implementation(libs.nicehttp) // HTTP Lib
implementation(project(":library") {
// There does not seem to be a good way of getting the android flavor.

View file

@ -5,11 +5,11 @@ buildscript {
}
dependencies {
classpath("com.android.tools.build:gradle:8.2.2")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23")
classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.9.10")
classpath(libs.gradle)
classpath(libs.kotlin.gradle.plugin)
classpath(libs.dokka.gradle.plugin)
// Universal build config
classpath("com.codingfeline.buildkonfig:buildkonfig-gradle-plugin:0.15.1")
classpath(libs.buildkonfig.gradle.plugin)
}
}
@ -21,7 +21,7 @@ allprojects {
}
plugins {
id("com.google.devtools.ksp") version "1.9.22-1.0.17" apply false
id("com.google.devtools.ksp") version "1.9.23-1.0.20" apply false
}
//tasks.register<Delete>("clean") {

122
gradle/libs.versions.toml Normal file
View file

@ -0,0 +1,122 @@
[versions]
acraCore = "5.11.3"
appcompat = "1.7.0"
autoServiceKsp = "1.2.0"
biometric = "1.2.0-alpha05"
buildkonfigGradlePlugin = "0.15.1"
colorpicker = "1.1.0"
conscryptAndroid = "2.5.2"
constraintlayout = "2.1.4"
coreKtx = "1.13.1"
desugar_jdk_libs = "2.0.4"
dokkaGradlePlugin = "1.9.10"
espressoCore = "3.6.1"
fuzzywuzzy = "1.4.0"
glide = "4.16.0"
glideTransformations = "4.3.0"
gradle = "8.2.2"
guava = "33.2.1-android"
jacksonModuleKotlin = "2.13.1"
json = "20240303"
junit = "4.13.2"
junitKtx = "1.2.1"
junitVersion = "1.2.1"
juniversalchardet = "2.5.0"
kotlinGradlePlugin = "1.9.23"
kotlinxCoroutinesCore = "1.8.1"
ksp = "4.16.0"
lifecycleLivedataKtx = "2.8.4"
lifecycleViewmodelKtx = "2.8.4"
material = "1.12.0"
media3Cast = "1.1.1"
media3Common = "1.1.1"
media3DatasourceOkhttp = "1.1.1"
media3Exoplayer = "1.1.1"
media3ExoplayerDash = "1.1.1"
media3ExoplayerHls = "1.1.1"
media3Session = "1.1.1"
media3Ui = "1.1.1"
mediaFfmpeg = "1.1.0"
navigationFragmentKtx = "2.7.7"
navigationUiKtx = "2.7.7"
newpipeextractor = "2d36945"
newpipeextractorVersion = "fafd471"
nicehttp = "0.4.11"
okhttp3Integration = "4.16.0"
overlappingpanels = "0.1.5"
paletteKtx = "1.0.0"
preferenceKtx = "1.2.1"
previewseekbarMedia3 = "1.1.1.0"
qrcodeKotlin = "4.2.0"
rhino = "1.7.15"
safefile = "0.0.6"
shimmer = "0.5.0"
swiperefreshlayout = "1.1.0"
tmdbJava = "2.11.0"
tvprovider = "1.0.0"
video = "1.0.0"
workRuntime = "2.9.0"
workRuntimeKtx = "2.9.0"
[libraries]
acra-core = { module = "ch.acra:acra-core", version.ref = "acraCore" }
acra-toast = { module = "ch.acra:acra-toast", version.ref = "acraCore" }
appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
auto-service-ksp = { module = "dev.zacsweers.autoservice:auto-service-ksp", version.ref = "autoServiceKsp" }
biometric = { module = "androidx.biometric:biometric", version.ref = "biometric" }
buildkonfig-gradle-plugin = { module = "com.codingfeline.buildkonfig:buildkonfig-gradle-plugin", version.ref = "buildkonfigGradlePlugin" }
colorpicker = { module = "com.jaredrummler:colorpicker", version.ref = "colorpicker" }
conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref = "conscryptAndroid" }
constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
core = { module = "androidx.test:core" }
core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" }
dokka-gradle-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokkaGradlePlugin" }
espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
ext-junit = { module = "androidx.test.ext:junit", version.ref = "junitVersion" }
fuzzywuzzy = { module = "me.xdrop:fuzzywuzzy", version.ref = "fuzzywuzzy" }
glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
glide-transformations = { module = "jp.wasabeef:glide-transformations", version.ref = "glideTransformations" }
gradle = { module = "com.android.tools.build:gradle", version.ref = "gradle" }
guava = { module = "com.google.guava:guava", version.ref = "guava" }
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jacksonModuleKotlin" }
json = { module = "org.json:json", version.ref = "json" }
junit = { module = "junit:junit", version.ref = "junit" }
junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "junitKtx" }
juniversalchardet = { module = "com.github.albfernandez:juniversalchardet", version.ref = "juniversalchardet" }
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinGradlePlugin" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutinesCore" }
ksp = { module = "com.github.bumptech.glide:ksp", version.ref = "ksp" }
lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "lifecycleLivedataKtx" }
lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtx" }
material = { module = "com.google.android.material:material", version.ref = "material" }
media-ffmpeg = { module = "com.github.recloudstream:media-ffmpeg", version.ref = "mediaFfmpeg" }
media3-cast = { module = "androidx.media3:media3-cast", version.ref = "media3Cast" }
media3-common = { module = "androidx.media3:media3-common", version.ref = "media3Common" }
media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3DatasourceOkhttp" }
media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3Exoplayer" }
media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "media3ExoplayerDash" }
media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "media3ExoplayerHls" }
media3-session = { module = "androidx.media3:media3-session", version.ref = "media3Session" }
media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3Ui" }
navigation-fragment-ktx = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "navigationFragmentKtx" }
navigation-ui-ktx = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "navigationUiKtx" }
newpipeextractor = { module = "com.github.teamnewpipe:NewPipeExtractor", version.ref = "newpipeextractor" }
newpipeextractor-vfafd471 = { module = "com.github.teamnewpipe:NewPipeExtractor", version.ref = "newpipeextractorVersion" }
nicehttp = { module = "com.github.Blatzar:NiceHttp", version.ref = "nicehttp" }
okhttp3-integration = { module = "com.github.bumptech.glide:okhttp3-integration", version.ref = "okhttp3Integration" }
overlappingpanels = { module = "com.github.discord:OverlappingPanels", version.ref = "overlappingpanels" }
palette-ktx = { module = "androidx.palette:palette-ktx", version.ref = "paletteKtx" }
preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "preferenceKtx" }
previewseekbar-media3 = { module = "com.github.rubensousa:previewseekbar-media3", version.ref = "previewseekbarMedia3" }
qrcode-kotlin = { module = "io.github.g0dkar:qrcode-kotlin", version.ref = "qrcodeKotlin" }
rhino = { module = "org.mozilla:rhino", version.ref = "rhino" }
safefile = { module = "com.github.LagradOst:SafeFile", version.ref = "safefile" }
shimmer = { module = "com.facebook.shimmer:shimmer", version.ref = "shimmer" }
swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
tmdb-java = { module = "com.uwetrottmann.tmdb2:tmdb-java", version.ref = "tmdbJava" }
tvprovider = { module = "androidx.tvprovider:tvprovider", version.ref = "tvprovider" }
video = { module = "com.google.android.mediahome:video", version.ref = "video" }
work-runtime = { module = "androidx.work:work-runtime", version.ref = "workRuntime" }
work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntimeKtx" }

View file

@ -20,14 +20,14 @@ kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.github.Blatzar:NiceHttp:0.4.11") // HTTP Lib
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1") /* JSON Parser
implementation(libs.nicehttp) // HTTP Lib
implementation(libs.jackson.module.kotlin) /* 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. */
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
implementation("me.xdrop:fuzzywuzzy:1.4.0") // Match extractors
implementation("org.mozilla:rhino:1.7.15") // run JavaScript
implementation("com.github.teamnewpipe:NewPipeExtractor:fafd471")
implementation(libs.kotlinx.coroutines.core)
implementation(libs.fuzzywuzzy) // Match extractors
implementation(libs.rhino) // run JavaScript
implementation(libs.newpipeextractor.vfafd471)
}
}
}

View file

@ -0,0 +1 @@
o/debug

Some files were not shown because too many files have changed in this diff Show more