mirror of
https://github.com/ReVanced/revanced-manager.git
synced 2025-08-06 18:24:25 +08:00
Compare commits
3 Commits
build/opti
...
feat/namin
Author | SHA1 | Date | |
---|---|---|---|
3fc2bc611c | |||
df04c67a36 | |||
e1c4166a06 |
5
.github/workflows/build_pull_request.yml
vendored
5
.github/workflows/build_pull_request.yml
vendored
@ -5,7 +5,6 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- dev
|
- dev
|
||||||
- compose-dev
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
@ -14,9 +13,11 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Cache Gradle
|
- name: Cache Gradle
|
||||||
uses: burrunan/gradle-cache-action@v3
|
uses: burrunan/gradle-cache-action@v1
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
|
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@ -18,6 +18,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
@ -26,7 +28,7 @@ jobs:
|
|||||||
java-version: '17'
|
java-version: '17'
|
||||||
|
|
||||||
- name: Cache Gradle
|
- name: Cache Gradle
|
||||||
uses: burrunan/gradle-cache-action@v3
|
uses: burrunan/gradle-cache-action@v1
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
@ -82,10 +81,8 @@ android {
|
|||||||
targetCompatibility = JavaVersion.VERSION_17
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlinOptions {
|
||||||
compilerOptions {
|
jvmTarget = "17"
|
||||||
jvmTarget = JvmTarget.fromTarget("17")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
@ -41,6 +40,10 @@ dependencies {
|
|||||||
// Placeholder
|
// Placeholder
|
||||||
implementation(libs.placeholder.material3)
|
implementation(libs.placeholder.material3)
|
||||||
|
|
||||||
|
// HTML Scraper
|
||||||
|
implementation(libs.skrapeit.dsl)
|
||||||
|
implementation(libs.skrapeit.parser)
|
||||||
|
|
||||||
// Coil (async image loading, network image)
|
// Coil (async image loading, network image)
|
||||||
implementation(libs.coil.compose)
|
implementation(libs.coil.compose)
|
||||||
implementation(libs.coil.appiconloader)
|
implementation(libs.coil.appiconloader)
|
||||||
@ -53,6 +56,7 @@ dependencies {
|
|||||||
// Room
|
// Room
|
||||||
implementation(libs.room.runtime)
|
implementation(libs.room.runtime)
|
||||||
implementation(libs.room.ktx)
|
implementation(libs.room.ktx)
|
||||||
|
annotationProcessor(libs.room.compiler)
|
||||||
ksp(libs.room.compiler)
|
ksp(libs.room.compiler)
|
||||||
|
|
||||||
// ReVanced
|
// ReVanced
|
||||||
@ -124,8 +128,6 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
configureEach {
|
|
||||||
}
|
|
||||||
debug {
|
debug {
|
||||||
applicationIdSuffix = ".debug"
|
applicationIdSuffix = ".debug"
|
||||||
resValue("string", "app_name", "ReVanced Manager (Debug)")
|
resValue("string", "app_name", "ReVanced Manager (Debug)")
|
||||||
@ -201,11 +203,8 @@ android {
|
|||||||
arg("room.schemaLocation", "$projectDir/schemas")
|
arg("room.schemaLocation", "$projectDir/schemas")
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlinOptions {
|
||||||
compilerOptions {
|
jvmTarget = "17"
|
||||||
jvmTarget = JvmTarget.fromTarget("17")
|
|
||||||
jvmToolchain(17)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
@ -228,6 +227,10 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
jvmToolchain(17)
|
||||||
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
// Needed by gradle-semantic-release-plugin.
|
// Needed by gradle-semantic-release-plugin.
|
||||||
// Tracking: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435.
|
// Tracking: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435.
|
||||||
|
7
app/proguard-rules.pro
vendored
7
app/proguard-rules.pro
vendored
@ -10,12 +10,7 @@
|
|||||||
# Required for serialization to work properly
|
# Required for serialization to work properly
|
||||||
-if @kotlinx.serialization.Serializable class **
|
-if @kotlinx.serialization.Serializable class **
|
||||||
-keepclassmembers class <1> {
|
-keepclassmembers class <1> {
|
||||||
static <1>$* Companion;
|
static <1>$Companion Companion;
|
||||||
}
|
|
||||||
-keepnames @kotlinx.serialization.internal.NamedCompanion class *
|
|
||||||
-if @kotlinx.serialization.internal.NamedCompanion class *
|
|
||||||
-keepclassmembernames class * {
|
|
||||||
static <1> *;
|
|
||||||
}
|
}
|
||||||
-if @kotlinx.serialization.Serializable class ** {
|
-if @kotlinx.serialization.Serializable class ** {
|
||||||
static **$* *;
|
static **$* *;
|
||||||
|
@ -8,6 +8,7 @@ import app.revanced.manager.util.tag
|
|||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.HttpRequestBuilder
|
import io.ktor.client.request.HttpRequestBuilder
|
||||||
|
import io.ktor.client.request.get
|
||||||
import io.ktor.client.request.prepareGet
|
import io.ktor.client.request.prepareGet
|
||||||
import io.ktor.client.request.request
|
import io.ktor.client.request.request
|
||||||
import io.ktor.client.statement.bodyAsText
|
import io.ktor.client.statement.bodyAsText
|
||||||
@ -16,6 +17,7 @@ import io.ktor.http.isSuccess
|
|||||||
import io.ktor.utils.io.ByteReadChannel
|
import io.ktor.utils.io.ByteReadChannel
|
||||||
import io.ktor.utils.io.core.isNotEmpty
|
import io.ktor.utils.io.core.isNotEmpty
|
||||||
import io.ktor.utils.io.core.readBytes
|
import io.ktor.utils.io.core.readBytes
|
||||||
|
import it.skrape.core.htmlDocument
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
@ -91,5 +93,9 @@ class HttpService(
|
|||||||
builder: HttpRequestBuilder.() -> Unit
|
builder: HttpRequestBuilder.() -> Unit
|
||||||
) = saveLocation.outputStream().use { streamTo(it, builder) }
|
) = saveLocation.outputStream().use { streamTo(it, builder) }
|
||||||
|
|
||||||
|
suspend fun getHtml(builder: HttpRequestBuilder.() -> Unit) = htmlDocument(
|
||||||
|
html = http.get(builder).bodyAsText()
|
||||||
|
)
|
||||||
|
|
||||||
class HttpException(status: HttpStatusCode) : Exception("Failed to fetch: http status: $status")
|
class HttpException(status: HttpStatusCode) : Exception("Failed to fetch: http status: $status")
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||||
# Specifies the JVM arguments used for the daemon process.
|
# Specifies the JVM arguments used for the daemon process.
|
||||||
# The setting is particularly useful for tweaking memory settings.
|
# The setting is particularly useful for tweaking memory settings.
|
||||||
org.gradle.jvmargs=-Xmx3072m -XX:MaxMetaspaceSize=1024m -Dfile.encoding=UTF-8
|
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
||||||
# When configured, Gradle will run in incubating parallel mode.
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
# This option should only be used with decoupled projects. More details, visit
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
@ -25,5 +25,4 @@ android.nonFinalResIds=false
|
|||||||
# Task :app:assembleReleaseSignApk fails if this is set to true.
|
# Task :app:assembleReleaseSignApk fails if this is set to true.
|
||||||
org.gradle.configuration-cache=false
|
org.gradle.configuration-cache=false
|
||||||
org.gradle.caching=true
|
org.gradle.caching=true
|
||||||
org.gradle.parallel=true
|
|
||||||
version=1.25.0-dev.1
|
version=1.25.0-dev.1
|
@ -1,34 +1,35 @@
|
|||||||
[versions]
|
[versions]
|
||||||
ktx = "1.16.0"
|
ktx = "1.16.0"
|
||||||
material3 = "1.3.2"
|
material3 = "1.3.2"
|
||||||
ui-tooling = "1.8.3"
|
ui-tooling = "1.8.1"
|
||||||
viewmodel-lifecycle = "2.9.2"
|
viewmodel-lifecycle = "2.9.0"
|
||||||
splash-screen = "1.0.1"
|
splash-screen = "1.0.1"
|
||||||
activity = "1.10.1"
|
activity = "1.10.1"
|
||||||
appcompat = "1.7.1"
|
appcompat = "1.7.0"
|
||||||
preferences-datastore = "1.1.7"
|
preferences-datastore = "1.1.2"
|
||||||
work-runtime = "2.10.3"
|
work-runtime = "2.10.1"
|
||||||
compose-bom = "2025.07.00"
|
compose-bom = "2025.05.00"
|
||||||
navigation = "2.9.3"
|
navigation = "2.8.6"
|
||||||
accompanist = "0.37.3"
|
accompanist = "0.37.0"
|
||||||
placeholder = "1.1.2"
|
placeholder = "1.1.2"
|
||||||
reorderable = "2.5.1"
|
reorderable = "2.4.3"
|
||||||
serialization = "1.9.0"
|
serialization = "1.8.0"
|
||||||
collection = "0.3.8"
|
collection = "0.3.8"
|
||||||
datetime = "0.6.1"
|
datetime = "0.6.1"
|
||||||
room-version = "2.7.2"
|
room-version = "2.7.1"
|
||||||
revanced-patcher = "21.0.0"
|
revanced-patcher = "21.0.0"
|
||||||
revanced-library = "3.0.2"
|
revanced-library = "3.0.2"
|
||||||
koin = "3.5.3"
|
koin = "3.5.3"
|
||||||
ktor = "2.3.9"
|
ktor = "2.3.9"
|
||||||
markdown-renderer = "0.30.0"
|
markdown-renderer = "0.30.0"
|
||||||
fading-edges = "1.0.4"
|
fading-edges = "1.0.4"
|
||||||
kotlin = "2.2.0"
|
kotlin = "2.1.10"
|
||||||
android-gradle-plugin = "8.11.1"
|
android-gradle-plugin = "8.9.1"
|
||||||
dev-tools-gradle-plugin = "2.2.0-2.0.2"
|
dev-tools-gradle-plugin = "2.1.10-1.0.29"
|
||||||
about-libraries-gradle-plugin = "12.1.2"
|
about-libraries-gradle-plugin = "12.1.2"
|
||||||
coil = "2.7.0"
|
coil = "2.7.0"
|
||||||
app-icon-loader-coil = "1.5.0"
|
app-icon-loader-coil = "1.5.0"
|
||||||
|
skrapeit = "1.2.2"
|
||||||
libsu = "6.0.0"
|
libsu = "6.0.0"
|
||||||
scrollbars = "1.0.4"
|
scrollbars = "1.0.4"
|
||||||
enumutil = "1.1.1"
|
enumutil = "1.1.1"
|
||||||
@ -98,6 +99,10 @@ ktor-okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.ref = "k
|
|||||||
ktor-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
|
ktor-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
|
||||||
ktor-serialization = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
ktor-serialization = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
||||||
|
|
||||||
|
# HTML Scraper
|
||||||
|
skrapeit-dsl = { group = "it.skrape", name = "skrapeit-dsl", version.ref = "skrapeit" }
|
||||||
|
skrapeit-parser = { group = "it.skrape", name = "skrapeit-html-parser", version.ref = "skrapeit" }
|
||||||
|
|
||||||
# Markdown
|
# Markdown
|
||||||
markdown-renderer = { group = "com.mikepenz", name = "multiplatform-markdown-renderer-m3", version.ref = "markdown-renderer" }
|
markdown-renderer = { group = "com.mikepenz", name = "multiplatform-markdown-renderer-m3", version.ref = "markdown-renderer" }
|
||||||
|
|
||||||
|
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,7 +1,7 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionSha256Sum=8fad3d78296ca518113f3d29016617c7f9367dc005f932bd9d93bf45ba46072b
|
distributionSha256Sum=61ad310d3c7d3e5da131b76bbf22b5a4c0786e9d892dae8c1658d4b484de3caa
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
2
gradlew
vendored
2
gradlew
vendored
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright © 2015 the original authors.
|
# Copyright © 2015-2021 the original authors.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
|
Reference in New Issue
Block a user