mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-22 16:07:39 +00:00
Move config to buildSrc
This commit is contained in:
parent
9bf835e810
commit
810cf4dee8
@ -20,6 +20,8 @@ kapt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setupApp()
|
||||||
|
|
||||||
android {
|
android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.topjohnwu.magisk"
|
applicationId = "com.topjohnwu.magisk"
|
||||||
@ -30,7 +32,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
getByName("release") {
|
release {
|
||||||
isMinifyEnabled = true
|
isMinifyEnabled = true
|
||||||
isShrinkResources = true
|
isShrinkResources = true
|
||||||
proguardFiles("proguard-rules.pro")
|
proguardFiles("proguard-rules.pro")
|
||||||
@ -135,7 +137,9 @@ val syncResources by tasks.registering(Sync::class) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks["preBuild"]?.dependsOn(syncResources)
|
tasks.preBuild {
|
||||||
|
dependsOn(syncResources)
|
||||||
|
}
|
||||||
|
|
||||||
android.applicationVariants.all {
|
android.applicationVariants.all {
|
||||||
val keysDir = rootProject.file("tools/keys")
|
val keysDir = rootProject.file("tools/keys")
|
||||||
@ -203,7 +207,7 @@ dependencies {
|
|||||||
implementation("androidx.room:room-ktx:${vRoom}")
|
implementation("androidx.room:room-ktx:${vRoom}")
|
||||||
kapt("androidx.room:room-compiler:${vRoom}")
|
kapt("androidx.room:room-compiler:${vRoom}")
|
||||||
|
|
||||||
val vNav: String by rootProject.extra
|
val vNav = "2.4.0-alpha07"
|
||||||
implementation("androidx.navigation:navigation-fragment-ktx:${vNav}")
|
implementation("androidx.navigation:navigation-fragment-ktx:${vNav}")
|
||||||
implementation("androidx.navigation:navigation-ui-ktx:${vNav}")
|
implementation("androidx.navigation:navigation-ui-ktx:${vNav}")
|
||||||
|
|
||||||
|
@ -2,9 +2,10 @@ plugins {
|
|||||||
id("com.android.library")
|
id("com.android.library")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setupCommon()
|
||||||
|
|
||||||
android {
|
android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
vectorDrawables.useSupportLibrary = true
|
|
||||||
consumerProguardFiles("proguard-rules.pro")
|
consumerProguardFiles("proguard-rules.pro")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,105 +1,7 @@
|
|||||||
import com.android.build.gradle.BaseExtension
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("MagiskPlugin")
|
id("MagiskPlugin")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
||||||
|
|
||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
google()
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
val vNav = "2.4.0-alpha06"
|
|
||||||
extra["vNav"] = vNav
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
classpath("com.android.tools.build:gradle:7.0.2")
|
|
||||||
classpath(kotlin("gradle-plugin", version = "1.5.30"))
|
|
||||||
classpath("androidx.navigation:navigation-safe-args-gradle-plugin:${vNav}")
|
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
|
||||||
// in the individual module build.gradle files
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.register("clean", Delete::class) {
|
tasks.register("clean", Delete::class) {
|
||||||
delete(rootProject.buildDir)
|
delete(rootProject.buildDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Project.android(configuration: BaseExtension.() -> Unit) =
|
|
||||||
extensions.getByName<BaseExtension>("android").configuration()
|
|
||||||
|
|
||||||
subprojects {
|
|
||||||
repositories {
|
|
||||||
google()
|
|
||||||
mavenCentral()
|
|
||||||
maven { url = uri("https://jitpack.io") }
|
|
||||||
}
|
|
||||||
|
|
||||||
afterEvaluate {
|
|
||||||
if (plugins.hasPlugin("com.android.library") ||
|
|
||||||
plugins.hasPlugin("com.android.application")
|
|
||||||
) {
|
|
||||||
android {
|
|
||||||
compileSdkVersion(31)
|
|
||||||
buildToolsVersion = "31.0.0"
|
|
||||||
ndkPath = "${System.getenv("ANDROID_SDK_ROOT")}/ndk/magisk"
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
if (minSdk == null)
|
|
||||||
minSdk = 21
|
|
||||||
targetSdk = 31
|
|
||||||
}
|
|
||||||
|
|
||||||
compileOptions {
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_11
|
|
||||||
targetCompatibility = JavaVersion.VERSION_11
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (plugins.hasPlugin("java")) {
|
|
||||||
tasks.withType<JavaCompile> {
|
|
||||||
// If building with JDK 9+, we need additional flags to generate compatible bytecode
|
|
||||||
if (JavaVersion.current() > JavaVersion.VERSION_1_8) {
|
|
||||||
options.compilerArgs.addAll(listOf("--release", "8"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name == "app" || name == "stub") {
|
|
||||||
android {
|
|
||||||
signingConfigs {
|
|
||||||
create("config") {
|
|
||||||
Config["keyStore"]?.also {
|
|
||||||
storeFile = rootProject.file(it)
|
|
||||||
storePassword = Config["keyStorePass"]
|
|
||||||
keyAlias = Config["keyAlias"]
|
|
||||||
keyPassword = Config["keyPass"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
buildTypes {
|
|
||||||
signingConfigs.getByName("config").also {
|
|
||||||
getByName("debug") {
|
|
||||||
signingConfig = if (it.storeFile?.exists() == true) it
|
|
||||||
else signingConfigs.getByName("debug")
|
|
||||||
}
|
|
||||||
getByName("release") {
|
|
||||||
signingConfig = if (it.storeFile?.exists() == true) it
|
|
||||||
else signingConfigs.getByName("debug")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
lintOptions {
|
|
||||||
disable += "MissingTranslation"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -2,6 +2,7 @@ plugins {
|
|||||||
`kotlin-dsl`
|
`kotlin-dsl`
|
||||||
}
|
}
|
||||||
repositories {
|
repositories {
|
||||||
|
google()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -15,5 +16,9 @@ gradlePlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation(kotlin("gradle-plugin", "1.5.30"))
|
||||||
|
implementation("com.android.tools.build:gradle:7.0.2")
|
||||||
|
implementation("androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0-alpha07")
|
||||||
|
implementation("io.michaelrocks:paranoid-gradle-plugin:0.3.5")
|
||||||
implementation("org.eclipse.jgit:org.eclipse.jgit:5.12.0.202106070339-r")
|
implementation("org.eclipse.jgit:org.eclipse.jgit:5.12.0.202106070339-r")
|
||||||
}
|
}
|
||||||
|
68
buildSrc/src/main/java/Setup.kt
Normal file
68
buildSrc/src/main/java/Setup.kt
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import com.android.build.gradle.BaseExtension
|
||||||
|
import org.gradle.api.Action
|
||||||
|
import org.gradle.api.JavaVersion
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.api.tasks.compile.JavaCompile
|
||||||
|
import org.gradle.kotlin.dsl.withType
|
||||||
|
|
||||||
|
private fun Project.android(configure: Action<BaseExtension>) = extensions.configure("android", configure)
|
||||||
|
|
||||||
|
fun Project.setupCommon() {
|
||||||
|
android {
|
||||||
|
compileSdkVersion(31)
|
||||||
|
buildToolsVersion = "31.0.0"
|
||||||
|
ndkPath = "${System.getenv("ANDROID_SDK_ROOT")}/ndk/magisk"
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
minSdk = 21
|
||||||
|
targetSdk = 31
|
||||||
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_11
|
||||||
|
targetCompatibility = JavaVersion.VERSION_11
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (plugins.hasPlugin("java")) {
|
||||||
|
tasks.withType<JavaCompile> {
|
||||||
|
// If building with JDK 9+, we need additional flags to generate compatible bytecode
|
||||||
|
if (JavaVersion.current() > JavaVersion.VERSION_1_8) {
|
||||||
|
options.compilerArgs.addAll(listOf("--release", "8"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Project.setupApp() {
|
||||||
|
setupCommon()
|
||||||
|
android {
|
||||||
|
signingConfigs {
|
||||||
|
create("config") {
|
||||||
|
Config["keyStore"]?.also {
|
||||||
|
storeFile = rootProject.file(it)
|
||||||
|
storePassword = Config["keyStorePass"]
|
||||||
|
keyAlias = Config["keyAlias"]
|
||||||
|
keyPassword = Config["keyPass"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
signingConfigs.getByName("config").also {
|
||||||
|
getByName("debug") {
|
||||||
|
signingConfig = if (it.storeFile?.exists() == true) it
|
||||||
|
else signingConfigs.getByName("debug")
|
||||||
|
}
|
||||||
|
getByName("release") {
|
||||||
|
signingConfig = if (it.storeFile?.exists() == true) it
|
||||||
|
else signingConfigs.getByName("debug")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lintOptions {
|
||||||
|
disable += "MissingTranslation"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -2,8 +2,9 @@ plugins {
|
|||||||
id("com.android.library")
|
id("com.android.library")
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
setupCommon()
|
||||||
|
|
||||||
|
android {
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
ndkBuild {
|
ndkBuild {
|
||||||
path("jni/Android.mk")
|
path("jni/Android.mk")
|
||||||
@ -15,7 +16,7 @@ android {
|
|||||||
ndkBuild {
|
ndkBuild {
|
||||||
// Pass arguments to ndk-build.
|
// Pass arguments to ndk-build.
|
||||||
arguments("B_MAGISK=1", "B_INIT=1", "B_BOOT=1", "B_TEST=1",
|
arguments("B_MAGISK=1", "B_INIT=1", "B_BOOT=1", "B_TEST=1",
|
||||||
"MAGISK_DEBUG=1", "MAGISK_VERSION=debug", "MAGISK_VER_CODE=INT_MAX")
|
"MAGISK_DEBUG=1", "MAGISK_VERSION=debug", "MAGISK_VER_CODE=INT_MAX")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1 +1,11 @@
|
|||||||
|
@Suppress("UnstableApiUsage")
|
||||||
|
dependencyResolutionManagement {
|
||||||
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
maven("https://jitpack.io")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rootProject.name = "Magisk"
|
||||||
include(":app", ":app:shared", ":native", ":stub")
|
include(":app", ":app:shared", ":native", ":stub")
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
import io.michaelrocks.paranoid.plugin.ParanoidExtension
|
|
||||||
import org.gradle.internal.os.OperatingSystem
|
import org.gradle.internal.os.OperatingSystem
|
||||||
import java.io.OutputStream
|
import java.io.OutputStream
|
||||||
import java.io.PrintStream
|
import java.io.PrintStream
|
||||||
@ -7,24 +5,16 @@ import java.nio.file.Paths
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
id("com.android.application")
|
||||||
|
id("io.michaelrocks.paranoid")
|
||||||
}
|
}
|
||||||
|
|
||||||
buildscript {
|
paranoid {
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
dependencies {
|
|
||||||
classpath("io.michaelrocks:paranoid-gradle-plugin:0.3.5")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
apply(plugin = "io.michaelrocks.paranoid")
|
|
||||||
|
|
||||||
extensions.configure<ParanoidExtension>("paranoid") {
|
|
||||||
obfuscationSeed = if (RAND_SEED != 0) RAND_SEED else null
|
obfuscationSeed = if (RAND_SEED != 0) RAND_SEED else null
|
||||||
includeSubprojects = true
|
includeSubprojects = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setupApp()
|
||||||
|
|
||||||
android {
|
android {
|
||||||
val canary = !Config.version.contains(".")
|
val canary = !Config.version.contains(".")
|
||||||
|
|
||||||
@ -40,7 +30,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
getByName("release") {
|
release {
|
||||||
isMinifyEnabled = true
|
isMinifyEnabled = true
|
||||||
isShrinkResources = false
|
isShrinkResources = false
|
||||||
proguardFiles("proguard-rules.pro")
|
proguardFiles("proguard-rules.pro")
|
||||||
@ -63,7 +53,9 @@ val ensureManifest by tasks.registering {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks["preBuild"]?.dependsOn(ensureManifest)
|
tasks.preBuild {
|
||||||
|
dependsOn(ensureManifest)
|
||||||
|
}
|
||||||
|
|
||||||
android.applicationVariants.all {
|
android.applicationVariants.all {
|
||||||
val manifest = file("src/main/AndroidManifest.xml")
|
val manifest = file("src/main/AndroidManifest.xml")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user