Migrate to version catalog and added provider tests
This commit is contained in:
parent
7640787db9
commit
9a71bccfcf
48 changed files with 455 additions and 57 deletions
AnimeONProvider
AnimeUAProvider
AnitubeinuaProvider
BambooUAProvider
CikavaIdeyaProvider
EneyidaProvider
HentaiUkrProvider
KinoTronProvider
KinoVezhaProvider
KlonTVProvider
SerialnoProvider
TeleportalProvider
UAFlixProvider
UASerialProvider
UASerialsProProvider
UAserialsVipProvider
UFDubProvider
UakinoProvider
UnimayProvider
VodneriloProvider
build.gradle.ktsgradle
settings.gradle.kts
|
@ -1,8 +1,11 @@
|
|||
// use an integer for version numbers
|
||||
version = 7
|
||||
|
||||
dependencies{
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
dependencies {
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.lagradost
|
||||
|
||||
import android.util.Log
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.lagradost.cloudstream3.DubStatus
|
||||
|
@ -23,6 +24,7 @@ import com.lagradost.cloudstream3.newAnimeSearchResponse
|
|||
import com.lagradost.cloudstream3.newHomePageResponse
|
||||
import com.lagradost.cloudstream3.newMovieLoadResponse
|
||||
import com.lagradost.cloudstream3.toRatingInt
|
||||
import com.lagradost.cloudstream3.utils.AppUtils.toJson
|
||||
import com.lagradost.cloudstream3.utils.ExtractorLink
|
||||
import com.lagradost.cloudstream3.utils.M3u8Helper
|
||||
import com.lagradost.models.AnimeInfoModel
|
||||
|
@ -120,38 +122,36 @@ class AnimeONProvider : MainAPI() {
|
|||
)).text,
|
||||
AnimeInfoModel::class.java
|
||||
)
|
||||
|
||||
val showStatus =
|
||||
with(animeJSON.status.name) {
|
||||
with(animeJSON.status!!) {
|
||||
when {
|
||||
contains("Онґоїнґ") -> ShowStatus.Ongoing
|
||||
contains("Завершений") -> ShowStatus.Completed
|
||||
else -> null
|
||||
contains("ongoing") -> ShowStatus.Ongoing
|
||||
contains("released") -> ShowStatus.Completed
|
||||
else -> ShowStatus.Completed
|
||||
}
|
||||
}
|
||||
|
||||
val tvType =
|
||||
with(animeJSON.type.name) {
|
||||
with(animeJSON.type!!) {
|
||||
when {
|
||||
contains("ТБ-Серіал") -> TvType.Anime
|
||||
contains("tv") -> TvType.Anime
|
||||
contains("OVA") -> TvType.OVA
|
||||
contains("Спеціальний випуск") -> TvType.OVA
|
||||
contains("ONA") -> TvType.OVA
|
||||
contains("Фільм") -> TvType.AnimeMovie
|
||||
contains("movie") -> TvType.AnimeMovie
|
||||
else -> TvType.Anime
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
val episodes = mutableListOf<Episode>()
|
||||
|
||||
// Get all fundub for title and parse only first fundub/player
|
||||
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("${apiUrl}/player/fundubs/${animeJSON.id}",
|
||||
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("$mainUrl/api/player/fundubs/${animeJSON.id}",
|
||||
headers = mapOf(
|
||||
"Referer" to "https://animeon.club/",
|
||||
)).text, listFundub)
|
||||
|
||||
Gson().fromJson<List<FundubEpisode>>(app.get("${apiUrl}/player/episodes/${fundubs?.get(0)?.player?.get(0)?.id}/${fundubs?.get(0)?.fundub?.id}",
|
||||
Gson().fromJson<List<FundubEpisode>>(app.get("$mainUrl/api/player/episodes/${fundubs?.get(0)?.player?.get(0)?.id}/${fundubs?.get(0)?.fundub?.id}",
|
||||
headers = mapOf(
|
||||
"Referer" to "https://animeon.club/",
|
||||
)).text, listFundubEpisodes)?.map { epd -> // Episode
|
||||
|
@ -172,7 +172,7 @@ class AnimeONProvider : MainAPI() {
|
|||
) {
|
||||
this.posterUrl = posterApi.format(animeJSON.poster)
|
||||
this.engName = animeJSON.titleEn
|
||||
this.tags = animeJSON.genres.map { it.name }
|
||||
// this.tags = animeJSON.genres.map { it.name }
|
||||
this.plot = animeJSON.description
|
||||
addTrailer(animeJSON.trailer)
|
||||
this.showStatus = showStatus
|
||||
|
@ -212,20 +212,20 @@ class AnimeONProvider : MainAPI() {
|
|||
callback: (ExtractorLink) -> Unit
|
||||
): Boolean {
|
||||
val dataList = data.split(", ")
|
||||
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("${apiUrl}/player/fundubs/${dataList[0]}",
|
||||
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("$mainUrl/api/player/fundubs/${dataList[0]}",
|
||||
headers = mapOf(
|
||||
"Referer" to "https://animeon.club/",
|
||||
)).text, listFundub)
|
||||
|
||||
if(dataList.size == 2){
|
||||
fundubs.map { dub ->
|
||||
Gson().fromJson<List<FundubEpisode>>(app.get("${apiUrl}/player/episodes/${dub.player[0].id}/${dub.fundub.id}",
|
||||
Gson().fromJson<List<FundubEpisode>>(app.get("$mainUrl/api/player/episodes/${dub.player[0].id}/${dub.fundub.id}",
|
||||
headers = mapOf(
|
||||
"Referer" to "https://animeon.club/",
|
||||
)).text, listFundubEpisodes).filter{ it.episode == dataList[1].toIntOrNull() }.map { epd -> // Episode
|
||||
M3u8Helper.generateM3u8(
|
||||
source = "${dub.fundub.name} (${dub.player[0].name})",
|
||||
streamUrl = getM3U(app.get("${apiUrl}/player/episode/${epd.id}",
|
||||
streamUrl = getM3U(app.get("$mainUrl/api/player/episode/${epd.id}",
|
||||
headers = mapOf(
|
||||
"Referer" to "https://animeon.club/",
|
||||
)).parsedSafe<FundubVideoUrl>()!!.videoUrl),
|
||||
|
|
|
@ -16,8 +16,8 @@ class AnimeInfoModel (
|
|||
@SerializedName("malId") val malId : Int,
|
||||
@SerializedName("rating") val rating : Double,
|
||||
@SerializedName("genres") val genres : List<Genres>,
|
||||
@SerializedName("status") val status : Status,
|
||||
@SerializedName("type") val type : Type,
|
||||
@SerializedName("status") val status : String?,
|
||||
@SerializedName("type") val type : String?,
|
||||
@SerializedName("player") val player : List<Player>,
|
||||
)
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ data class Results (
|
|||
@SerializedName("image") val image : Image,
|
||||
@SerializedName("malId") val malId : Int,
|
||||
@SerializedName("rating") val rating : Double,
|
||||
@SerializedName("status") val status : Status,
|
||||
@SerializedName("type") val type : Type,
|
||||
@SerializedName("status") val status : String?,
|
||||
@SerializedName("type") val type : String?,
|
||||
@SerializedName("genres") val genres : List<Genres>
|
||||
)
|
|
@ -28,6 +28,6 @@ data class Result (
|
|||
@SerializedName("malId") val malId : Int,
|
||||
@SerializedName("season") val season : Int,
|
||||
@SerializedName("rating") val rating : Double,
|
||||
@SerializedName("type") val type : Type,
|
||||
@SerializedName("status") val status : Status
|
||||
@SerializedName("type") val type : String?,
|
||||
@SerializedName("status") val status : String?
|
||||
)
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class AnimeONProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(AnimeONProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 6
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class AnimeUAProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(AnimeUAProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 10
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class AnitubeinuaProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(AnitubeinuaProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -2,7 +2,10 @@
|
|||
version = 5
|
||||
|
||||
dependencies {
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class BambooUAProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(BambooUAProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 1
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class CikavaIdeyaProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(CikavaIdeyaProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 8
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class EneyidaProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(EneyidaProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,9 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 3
|
||||
|
||||
// TODO: Need drop this
|
||||
dependencies{
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
dependencies {
|
||||
implementation(libs.gson)
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class HentaiUkrProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(HentaiUkrProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 5
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class KinoTronProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(KinoTronProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 5
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class KinoVezhaProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(KinoVezhaProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 6
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class KlonTVProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(KlonTVProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 5
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class SerialnoProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(SerialnoProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,8 +1,11 @@
|
|||
// use an integer for version numbers
|
||||
version = 3
|
||||
|
||||
dependencies{
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
dependencies {
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class TeleportalProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(TeleportalProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -2,7 +2,10 @@
|
|||
version = 5
|
||||
|
||||
dependencies {
|
||||
implementation("com.google.code.gson:gson:2.10.1")
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class UAFlixProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(UAFlixProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -2,7 +2,10 @@
|
|||
version = 10
|
||||
|
||||
dependencies {
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class UASerialProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(UASerialProvider("https://uaserial.com", "UASerial"))
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -2,7 +2,10 @@
|
|||
version = 8
|
||||
|
||||
dependencies {
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class UASerialsProProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(UASerialsProProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 1
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class UAserialsVipProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(UAserialsVipProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 4
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class UFDubProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(UFDubProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,6 +1,10 @@
|
|||
// use an integer for version numbers
|
||||
version = 11
|
||||
|
||||
dependencies {
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
language = "uk"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class UakinoProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(UakinoProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -1,8 +1,11 @@
|
|||
// use an integer for version numbers
|
||||
version = 10
|
||||
|
||||
dependencies{
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
dependencies {
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class UnimayProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(UnimayProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -2,7 +2,10 @@
|
|||
version = 2
|
||||
|
||||
dependencies {
|
||||
implementation("com.google.code.gson:gson:2.9.0")
|
||||
implementation(libs.gson)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
}
|
||||
|
||||
cloudstream {
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.lagradost
|
||||
|
||||
import com.lagradost.cloudstreamtest.ProviderTester
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Test
|
||||
|
||||
class VodneriloProviderTest {
|
||||
|
||||
@Test
|
||||
fun testProvider() = runTest {
|
||||
val providerTester = ProviderTester(VodneriloProvider())
|
||||
providerTester.testAll()
|
||||
}
|
||||
}
|
|
@ -2,26 +2,15 @@ import com.lagradost.cloudstream3.gradle.CloudstreamExtension
|
|||
import com.android.build.gradle.BaseExtension
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
// Shitpack repo which contains our tools and dependencies
|
||||
maven("https://jitpack.io")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:8.7.3")
|
||||
classpath("com.github.recloudstream:gradle:-SNAPSHOT")
|
||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0")
|
||||
classpath(libs.recloudstream.gradle)
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven("https://jitpack.io")
|
||||
}
|
||||
plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.android.library) apply false
|
||||
alias(libs.plugins.kotlin) apply false
|
||||
}
|
||||
|
||||
fun Project.cloudstream(configuration: CloudstreamExtension.() -> Unit) = extensions.getByName<CloudstreamExtension>("cloudstream").configuration()
|
||||
|
@ -68,19 +57,34 @@ subprojects {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
val cloudstream by configurations
|
||||
val apk by configurations
|
||||
val implementation by configurations
|
||||
cloudstream("com.lagradost:cloudstream3:pre-release")
|
||||
val libs = rootProject.libs
|
||||
val apkTasks = listOf("deployWithAdb", "build")
|
||||
val useApk = gradle.startParameter.taskNames.any { taskName ->
|
||||
apkTasks.any { apkTask ->
|
||||
taskName.contains(apkTask, ignoreCase = true)
|
||||
}
|
||||
}
|
||||
|
||||
// If the task is specifically to compile the app then use the stubs, otherwise us the library.
|
||||
if (useApk) {
|
||||
// Stubs for all Cloudstream classes
|
||||
apk(libs.cloudstream3)
|
||||
} else {
|
||||
// For running locally
|
||||
implementation(libs.cloudstreamapi)
|
||||
}
|
||||
|
||||
// these dependencies can include any of those which are added by the app,
|
||||
// but you dont need to include any of them if you dont need them
|
||||
// https://github.com/recloudstream/cloudstream/blob/master/app/build.gradle
|
||||
implementation(kotlin("stdlib")) // adds standard kotlin features, like listOf, mapOf etc
|
||||
implementation("com.github.Blatzar:NiceHttp:0.4.11") // http library
|
||||
implementation("org.jsoup:jsoup:1.18.3") // html parser
|
||||
implementation(libs.nicehttp) // http library
|
||||
implementation(libs.jsoup) // html parser
|
||||
}
|
||||
}
|
||||
|
||||
task<Delete>("clean") {
|
||||
tasks.register<Delete>("clean") {
|
||||
delete(rootProject.buildDir)
|
||||
}
|
||||
|
|
28
gradle/libs.versions.toml
Normal file
28
gradle/libs.versions.toml
Normal file
|
@ -0,0 +1,28 @@
|
|||
[versions]
|
||||
android-gradle-plugin = "8.8.0"
|
||||
cloudstream3 = "pre-release"
|
||||
cloudstreamapi = "0.1.6"
|
||||
recloudstream-gradle = "-SNAPSHOT"
|
||||
gson = "2.9.0"
|
||||
kotlinx-coroutines-test = "1.10.1"
|
||||
nicehttp = "0.4.11"
|
||||
jsoup = "1.18.3"
|
||||
kotlin = "2.1.10"
|
||||
junit = "4.13.2"
|
||||
junitVersion = "1.2.1"
|
||||
|
||||
[libraries]
|
||||
cloudstream3 = { module = "com.lagradost:cloudstream3", version.ref = "cloudstream3" }
|
||||
cloudstreamapi = { module = "com.github.Blatzar:CloudstreamApi", version.ref = "cloudstreamapi" }
|
||||
recloudstream-gradle = { module = "com.github.recloudstream:gradle", version.ref = "recloudstream-gradle" }
|
||||
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
|
||||
jsoup = { module = "org.jsoup:jsoup", version.ref = "jsoup" }
|
||||
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines-test" }
|
||||
nicehttp = { module = "com.github.Blatzar:NiceHttp", version.ref = "nicehttp" }
|
||||
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
|
||||
android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
|
||||
kotlin = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
#Mon Jan 13 19:56:56 EET 2025
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
|
|
@ -1,3 +1,20 @@
|
|||
pluginManagement {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
google()
|
||||
mavenCentral()
|
||||
maven("https://jitpack.io")
|
||||
}
|
||||
}
|
||||
dependencyResolutionManagement {
|
||||
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven("https://jitpack.io")
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "CloudstreamPlugins"
|
||||
|
||||
// This file sets what projects are included. All new projects should get automatically included unless specified in "disabled" variable.
|
||||
|
|
Loading…
Reference in a new issue