From 6b368b041bb1395399ea9feed4b3d73afa8a18c4 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Thu, 17 Mar 2022 04:55:45 +0800 Subject: [PATCH] Move all serivces into a single dir (#1768) --- .gitmodules | 4 +-- app/build.gradle.kts | 3 +- build.gradle.kts | 30 +++++++++++-------- core/build.gradle.kts | 4 +-- daemon/build.gradle.kts | 8 +++-- .../daemon-service}/.gitignore | 0 .../daemon-service}/build.gradle.kts | 16 ---------- .../daemon-service}/proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 0 .../aidl/org/lsposed/lspd/models/Module.aidl | 0 .../org/lsposed/lspd/models/PreLoadedApk.aidl | 0 .../lspd/service/ILSPApplicationService.aidl | 0 .../lspd/service/ILSPSystemServerService.aidl | 0 .../lsposed/lspd/service/ILSPosedService.aidl | 0 .../java/org/lsposed/lspd/util/Utils.java | 0 .../manager-service}/.gitignore | 0 .../manager-service}/build.gradle.kts | 18 +---------- .../manager-service}/proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 0 .../org/lsposed/lspd/ILSPManagerService.aidl | 0 .../org/lsposed/lspd/models/Application.aidl | 0 .../org/lsposed/lspd/models/UserInfo.aidl | 0 service => services/xposed-service | 0 settings.gradle.kts | 15 ++++------ 24 files changed, 35 insertions(+), 63 deletions(-) rename {daemon-service => services/daemon-service}/.gitignore (100%) rename {daemon-service => services/daemon-service}/build.gradle.kts (65%) rename {daemon-service => services/daemon-service}/proguard-rules.pro (100%) rename {daemon-service => services/daemon-service}/src/main/AndroidManifest.xml (100%) rename {daemon-service => services/daemon-service}/src/main/aidl/org/lsposed/lspd/models/Module.aidl (100%) rename {daemon-service => services/daemon-service}/src/main/aidl/org/lsposed/lspd/models/PreLoadedApk.aidl (100%) rename {daemon-service => services/daemon-service}/src/main/aidl/org/lsposed/lspd/service/ILSPApplicationService.aidl (100%) rename {daemon-service => services/daemon-service}/src/main/aidl/org/lsposed/lspd/service/ILSPSystemServerService.aidl (100%) rename {daemon-service => services/daemon-service}/src/main/aidl/org/lsposed/lspd/service/ILSPosedService.aidl (100%) rename {daemon-service => services/daemon-service}/src/main/java/org/lsposed/lspd/util/Utils.java (100%) rename {manager-service => services/manager-service}/.gitignore (100%) rename {manager-service => services/manager-service}/build.gradle.kts (60%) rename {manager-service => services/manager-service}/proguard-rules.pro (100%) rename {manager-service => services/manager-service}/src/main/AndroidManifest.xml (100%) rename {manager-service => services/manager-service}/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl (100%) rename {manager-service => services/manager-service}/src/main/aidl/org/lsposed/lspd/models/Application.aidl (100%) rename {manager-service => services/manager-service}/src/main/aidl/org/lsposed/lspd/models/UserInfo.aidl (100%) rename service => services/xposed-service (100%) diff --git a/.gitmodules b/.gitmodules index 741313d3..5b8f9583 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +1,5 @@ -[submodule "service"] - path = service +[submodule "services/xposed-service"] + path = services/xposed-service url = https://github.com/libxposed/XposedService.git [submodule "external/cxx"] path = external/cxx diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 17835e26..0f4ff53b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -21,6 +21,7 @@ import com.android.build.gradle.internal.dsl.BuildType import java.time.Instant plugins { + id("com.android.application") id("androidx.navigation.safeargs") id("dev.rikka.tools.autoresconfig") } @@ -130,7 +131,7 @@ dependencies { implementation("dev.rikka.rikkax.layoutinflater:layoutinflater:1.2.0") implementation("me.zhanghai.android.appiconloader:appiconloader:1.3.1") implementation("org.lsposed.hiddenapibypass:hiddenapibypass:4.3") - implementation(projects.managerService) + implementation(projects.services.managerService) val appCenter = "4.4.2" debugImplementation("com.microsoft.appcenter:appcenter-crashes:${appCenter}") diff --git a/build.gradle.kts b/build.gradle.kts index 41cdd95a..bf2fcde0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,6 +16,7 @@ * * Copyright (C) 2021 LSPosed Contributors */ +import com.android.build.api.dsl.ApplicationExtension import com.android.build.api.variant.ApplicationAndroidComponentsExtension import com.android.build.gradle.BaseExtension import org.eclipse.jgit.api.Git @@ -61,11 +62,7 @@ tasks.register("Delete", Delete::class) { delete(rootProject.buildDir) } -subprojects { - when (path) { - ":app", ":core", ":daemon" -> apply(plugin = "com.android.application") - ":daemon-servie", ":manager-service", ":interface", ":service" -> apply(plugin = "com.android.library") - } +fun Project.configureBaseExtension() { extensions.findByType(BaseExtension::class)?.run { compileSdkVersion(androidCompileSdkVersion) ndkVersion = androidCompileNdkVersion @@ -107,13 +104,6 @@ subprojects { } } - (this as? com.android.build.api.dsl.ApplicationExtension)?.run { - lint { - abortOnError = true - checkReleaseBuilds = false - } - } - compileOptions { targetCompatibility(androidTargetCompatibility) sourceCompatibility(androidSourceCompatibility) @@ -165,8 +155,13 @@ subprojects { } } } - } + + extensions.findByType(ApplicationExtension::class)?.lint { + abortOnError = true + checkReleaseBuilds = false + } + extensions.findByType(ApplicationAndroidComponentsExtension::class)?.let { androidComponents -> val optimizeReleaseRes = task("optimizeReleaseRes").doLast { val aapt2 = File( @@ -204,3 +199,12 @@ subprojects { } } } + +subprojects { + plugins.withId("com.android.application") { + configureBaseExtension() + } + plugins.withId("com.android.library") { + configureBaseExtension() + } +} diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 1f749123..e454798d 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -118,8 +118,8 @@ dependencies { compileOnly("androidx.annotation:annotation:1.3.0") compileOnly(projects.hiddenapi.stubs) implementation(projects.hiddenapi.bridge) - implementation(projects.managerService) - implementation(projects.daemonService) + implementation(projects.services.managerService) + implementation(projects.services.daemonService) } val zipAll = task("zipAll") { diff --git a/daemon/build.gradle.kts b/daemon/build.gradle.kts index 1cf3f4e2..9f44ab5e 100644 --- a/daemon/build.gradle.kts +++ b/daemon/build.gradle.kts @@ -22,6 +22,10 @@ import com.android.ide.common.signing.KeystoreHelper import java.io.PrintStream import java.util.* +plugins { + id("com.android.application") +} + val daemonName = "LSPosed" val injectedPackageName: String by rootProject.extra @@ -119,6 +123,6 @@ dependencies { compileOnly("androidx.annotation:annotation:1.3.0") compileOnly(projects.hiddenapi.stubs) implementation(projects.hiddenapi.bridge) - implementation(projects.daemonService) - implementation(projects.managerService) + implementation(projects.services.daemonService) + implementation(projects.services.managerService) } diff --git a/daemon-service/.gitignore b/services/daemon-service/.gitignore similarity index 100% rename from daemon-service/.gitignore rename to services/daemon-service/.gitignore diff --git a/daemon-service/build.gradle.kts b/services/daemon-service/build.gradle.kts similarity index 65% rename from daemon-service/build.gradle.kts rename to services/daemon-service/build.gradle.kts index 29cf01b1..f20f792f 100644 --- a/daemon-service/build.gradle.kts +++ b/services/daemon-service/build.gradle.kts @@ -21,19 +21,8 @@ plugins { id("com.android.library") } -val androidTargetSdkVersion: Int by rootProject.extra -val androidBuildToolsVersion: String by rootProject.extra -val androidMinSdkVersion: Int by rootProject.extra -val androidSourceCompatibility: JavaVersion by rootProject.extra -val androidTargetCompatibility: JavaVersion by rootProject.extra - android { - compileSdk = androidTargetSdkVersion - buildToolsVersion = androidBuildToolsVersion - defaultConfig { - minSdk = androidMinSdkVersion - targetSdk = androidTargetSdkVersion consumerProguardFiles("proguard-rules.pro") } @@ -43,11 +32,6 @@ android { } } - compileOptions { - sourceCompatibility = androidSourceCompatibility - targetCompatibility = androidTargetCompatibility - } - aidlPackagedList += "org/lsposed/lspd/models/Module.aidl" aidlPackagedList += "org/lsposed/lspd/models/PreloadedApk.aidl" } diff --git a/daemon-service/proguard-rules.pro b/services/daemon-service/proguard-rules.pro similarity index 100% rename from daemon-service/proguard-rules.pro rename to services/daemon-service/proguard-rules.pro diff --git a/daemon-service/src/main/AndroidManifest.xml b/services/daemon-service/src/main/AndroidManifest.xml similarity index 100% rename from daemon-service/src/main/AndroidManifest.xml rename to services/daemon-service/src/main/AndroidManifest.xml diff --git a/daemon-service/src/main/aidl/org/lsposed/lspd/models/Module.aidl b/services/daemon-service/src/main/aidl/org/lsposed/lspd/models/Module.aidl similarity index 100% rename from daemon-service/src/main/aidl/org/lsposed/lspd/models/Module.aidl rename to services/daemon-service/src/main/aidl/org/lsposed/lspd/models/Module.aidl diff --git a/daemon-service/src/main/aidl/org/lsposed/lspd/models/PreLoadedApk.aidl b/services/daemon-service/src/main/aidl/org/lsposed/lspd/models/PreLoadedApk.aidl similarity index 100% rename from daemon-service/src/main/aidl/org/lsposed/lspd/models/PreLoadedApk.aidl rename to services/daemon-service/src/main/aidl/org/lsposed/lspd/models/PreLoadedApk.aidl diff --git a/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPApplicationService.aidl b/services/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPApplicationService.aidl similarity index 100% rename from daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPApplicationService.aidl rename to services/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPApplicationService.aidl diff --git a/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPSystemServerService.aidl b/services/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPSystemServerService.aidl similarity index 100% rename from daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPSystemServerService.aidl rename to services/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPSystemServerService.aidl diff --git a/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPosedService.aidl b/services/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPosedService.aidl similarity index 100% rename from daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPosedService.aidl rename to services/daemon-service/src/main/aidl/org/lsposed/lspd/service/ILSPosedService.aidl diff --git a/daemon-service/src/main/java/org/lsposed/lspd/util/Utils.java b/services/daemon-service/src/main/java/org/lsposed/lspd/util/Utils.java similarity index 100% rename from daemon-service/src/main/java/org/lsposed/lspd/util/Utils.java rename to services/daemon-service/src/main/java/org/lsposed/lspd/util/Utils.java diff --git a/manager-service/.gitignore b/services/manager-service/.gitignore similarity index 100% rename from manager-service/.gitignore rename to services/manager-service/.gitignore diff --git a/manager-service/build.gradle.kts b/services/manager-service/build.gradle.kts similarity index 60% rename from manager-service/build.gradle.kts rename to services/manager-service/build.gradle.kts index 99651a8e..2812e548 100644 --- a/manager-service/build.gradle.kts +++ b/services/manager-service/build.gradle.kts @@ -21,19 +21,8 @@ plugins { id("com.android.library") } -val androidTargetSdkVersion: Int by rootProject.extra -val androidBuildToolsVersion: String by rootProject.extra -val androidMinSdkVersion: Int by rootProject.extra -val androidSourceCompatibility: JavaVersion by rootProject.extra -val androidTargetCompatibility: JavaVersion by rootProject.extra - android { - compileSdk = androidTargetSdkVersion - buildToolsVersion = androidBuildToolsVersion - defaultConfig { - minSdk = androidMinSdkVersion - targetSdk = androidTargetSdkVersion consumerProguardFiles("proguard-rules.pro") } @@ -42,13 +31,8 @@ android { isMinifyEnabled = false } } - - compileOptions { - sourceCompatibility = androidSourceCompatibility - targetCompatibility = androidTargetCompatibility - } } dependencies { - api(project(":interface")) + api(projects.services.xposedService.`interface`) } diff --git a/manager-service/proguard-rules.pro b/services/manager-service/proguard-rules.pro similarity index 100% rename from manager-service/proguard-rules.pro rename to services/manager-service/proguard-rules.pro diff --git a/manager-service/src/main/AndroidManifest.xml b/services/manager-service/src/main/AndroidManifest.xml similarity index 100% rename from manager-service/src/main/AndroidManifest.xml rename to services/manager-service/src/main/AndroidManifest.xml diff --git a/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl b/services/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl similarity index 100% rename from manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl rename to services/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl diff --git a/manager-service/src/main/aidl/org/lsposed/lspd/models/Application.aidl b/services/manager-service/src/main/aidl/org/lsposed/lspd/models/Application.aidl similarity index 100% rename from manager-service/src/main/aidl/org/lsposed/lspd/models/Application.aidl rename to services/manager-service/src/main/aidl/org/lsposed/lspd/models/Application.aidl diff --git a/manager-service/src/main/aidl/org/lsposed/lspd/models/UserInfo.aidl b/services/manager-service/src/main/aidl/org/lsposed/lspd/models/UserInfo.aidl similarity index 100% rename from manager-service/src/main/aidl/org/lsposed/lspd/models/UserInfo.aidl rename to services/manager-service/src/main/aidl/org/lsposed/lspd/models/UserInfo.aidl diff --git a/service b/services/xposed-service similarity index 100% rename from service rename to services/xposed-service diff --git a/settings.gradle.kts b/settings.gradle.kts index 8e3934ef..5711dd1f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -26,19 +26,14 @@ dependencyResolutionManagement { rootProject.name = "LSPosed" include( + ":app", ":core", + ":daemon", ":hiddenapi:stubs", ":hiddenapi:bridge", - ":app", - ":service", - ":interface", - ":manager-service", - ":daemon", - ":daemon-service" + ":services:manager-service", + ":services:daemon-service", + ":services:xposed-service:interface", ) -val serviceRoot = "service" -project(":interface").projectDir = file("$serviceRoot${File.separator}interface") -project(":service").projectDir = file("$serviceRoot${File.separator}service") - buildCache { local { removeUnusedEntriesAfterDays = 1 } }