From c0c185cfb724f792525c12b9287829892a20832f Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Tue, 28 May 2024 22:54:49 +0530 Subject: [PATCH] build: reorganize modules to fix dependency resolution issues --- .idea/compiler.xml | 10 ++++++++++ app/build.gradle.kts | 4 ++-- build-info/build.gradle.kts | 3 ++- common/build.gradle.kts | 4 ++-- .../build-deps/appintro/build.gradle.kts | 4 ++-- composite-builds/build-logic/build.gradle.kts | 4 ++++ .../build-logic/common/build.gradle.kts | 2 +- .../TerminalBootstrapPackagesPlugin.kt | 8 +++++--- gradle/libs.versions.toml | 4 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew.bat | 20 +++++++++---------- lsp/java/build.gradle.kts | 17 ++++++++-------- lsp/xml/build.gradle.kts | 3 ++- settings.gradle.kts | 12 +++++------ subprojects/projects/build.gradle.kts | 2 +- .../testing-android}/.gitignore | 0 .../testing-android}/build.gradle.kts | 6 +++--- .../testing-android}/consumer-rules.pro | 0 .../testing-android}/proguard-rules.pro | 0 .../test/uiautomator/UiDeviceAccessor.java | 0 .../testing/android/contextUtils.kt | 0 .../android/rules/AbstractAndroidTestRule.kt | 0 .../testing/android/rules/RealmDBTestRule.kt | 0 .../testing/android/uiAutomatorUtils.kt | 0 .../testing/android/uiDeviceUtils.kt | 0 .../testing/android/uiObjectUtils.kt | 0 .../testing/android/util/NoOpStatement.kt | 0 .../testing-benchmark}/.gitignore | 0 .../benchmark-proguard-rules.pro | 0 .../testing-benchmark}/build.gradle.kts | 0 .../src/androidTest/AndroidManifest.xml | 0 .../lsp/java/JavaIndexingWorkerBenchmark.kt | 0 .../testing-common}/.gitignore | 0 .../testing-common}/build.gradle.kts | 4 ++-- .../testing/common/CIOnlyTestRule.kt | 0 .../testing/common/NoOpStatement.kt | 0 .../logging/TestingLoggingConfgurator.kt | 0 .../testing/common/utils/OperatingSystem.kt | 0 .../testing/common/utils/utilsExt.kt | 0 .../testing-lsp}/.gitignore | 0 .../testing-lsp}/build.gradle.kts | 13 ++++++------ .../testing-lsp}/src/main/AndroidManifest.xml | 0 .../itsaky/androidide/lsp/testing/LSPTest.kt | 0 .../lsp/testing/util/ReflectiveLogListener.kt | 0 .../testing-tooling}/.gitignore | 0 .../testing-tooling}/build.gradle.kts | 4 +--- .../testing/tooling/ToolingApiTestLauncher.kt | 0 .../models/ToolingApiTestLauncherParams.kt | 0 .../tooling/models/ToolingApiTestScope.kt | 0 .../testing-unit}/.gitignore | 0 .../testing-unit}/build.gradle.kts | 4 +--- .../testing-unit}/consumer-rules.pro | 0 .../testing-unit}/proguard-rules.pro | 0 subprojects/tooling-api-impl/build.gradle.kts | 2 +- templates-impl/build.gradle.kts | 4 ++-- termux/termux-app/build.gradle.kts | 2 +- termux/termux-emulator/build.gradle.kts | 2 +- termux/termux-shared/build.gradle.kts | 4 ++-- termux/termux-view/build.gradle.kts | 2 +- xml-inflater/build.gradle.kts | 3 ++- 60 files changed, 81 insertions(+), 68 deletions(-) rename {testing/android => subprojects/testing-android}/.gitignore (100%) rename {testing/android => subprojects/testing-android}/build.gradle.kts (95%) rename {testing/android => subprojects/testing-android}/consumer-rules.pro (100%) rename {testing/android => subprojects/testing-android}/proguard-rules.pro (100%) rename {testing/android => subprojects/testing-android}/src/main/java/androidx/test/uiautomator/UiDeviceAccessor.java (100%) rename {testing/android => subprojects/testing-android}/src/main/java/com/itsaky/androidide/testing/android/contextUtils.kt (100%) rename {testing/android => subprojects/testing-android}/src/main/java/com/itsaky/androidide/testing/android/rules/AbstractAndroidTestRule.kt (100%) rename {testing/android => subprojects/testing-android}/src/main/java/com/itsaky/androidide/testing/android/rules/RealmDBTestRule.kt (100%) rename {testing/android => subprojects/testing-android}/src/main/java/com/itsaky/androidide/testing/android/uiAutomatorUtils.kt (100%) rename {testing/android => subprojects/testing-android}/src/main/java/com/itsaky/androidide/testing/android/uiDeviceUtils.kt (100%) rename {testing/android => subprojects/testing-android}/src/main/java/com/itsaky/androidide/testing/android/uiObjectUtils.kt (100%) rename {testing/android => subprojects/testing-android}/src/main/java/com/itsaky/androidide/testing/android/util/NoOpStatement.kt (100%) rename {testing/benchmark => subprojects/testing-benchmark}/.gitignore (100%) rename {testing/benchmark => subprojects/testing-benchmark}/benchmark-proguard-rules.pro (100%) rename {testing/benchmark => subprojects/testing-benchmark}/build.gradle.kts (100%) rename {testing/benchmark => subprojects/testing-benchmark}/src/androidTest/AndroidManifest.xml (100%) rename {testing/benchmark => subprojects/testing-benchmark}/src/androidTest/java/com/itsaky/androidide/benchmark/lsp/java/JavaIndexingWorkerBenchmark.kt (100%) rename {testing/common => subprojects/testing-common}/.gitignore (100%) rename {testing/common => subprojects/testing-common}/build.gradle.kts (89%) rename {testing/common => subprojects/testing-common}/src/main/java/com/itsaky/androidide/testing/common/CIOnlyTestRule.kt (100%) rename {testing/common => subprojects/testing-common}/src/main/java/com/itsaky/androidide/testing/common/NoOpStatement.kt (100%) rename {testing/common => subprojects/testing-common}/src/main/java/com/itsaky/androidide/testing/common/logging/TestingLoggingConfgurator.kt (100%) rename {testing/common => subprojects/testing-common}/src/main/java/com/itsaky/androidide/testing/common/utils/OperatingSystem.kt (100%) rename {testing/common => subprojects/testing-common}/src/main/java/com/itsaky/androidide/testing/common/utils/utilsExt.kt (100%) rename {testing/lsp => subprojects/testing-lsp}/.gitignore (100%) rename {testing/lsp => subprojects/testing-lsp}/build.gradle.kts (80%) rename {testing/lsp => subprojects/testing-lsp}/src/main/AndroidManifest.xml (100%) rename {testing/lsp => subprojects/testing-lsp}/src/main/java/com/itsaky/androidide/lsp/testing/LSPTest.kt (100%) rename {testing/lsp => subprojects/testing-lsp}/src/main/java/com/itsaky/androidide/lsp/testing/util/ReflectiveLogListener.kt (100%) rename {testing/tooling => subprojects/testing-tooling}/.gitignore (100%) rename {testing/tooling => subprojects/testing-tooling}/build.gradle.kts (96%) rename {testing/tooling => subprojects/testing-tooling}/src/main/java/com/itsaky/androidide/testing/tooling/ToolingApiTestLauncher.kt (100%) rename {testing/tooling => subprojects/testing-tooling}/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestLauncherParams.kt (100%) rename {testing/tooling => subprojects/testing-tooling}/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestScope.kt (100%) rename {testing/unit => subprojects/testing-unit}/.gitignore (100%) rename {testing/unit => subprojects/testing-unit}/build.gradle.kts (96%) rename {testing/unit => subprojects/testing-unit}/consumer-rules.pro (100%) rename {testing/unit => subprojects/testing-unit}/proguard-rules.pro (100%) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index f279c3492..473455496 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -153,10 +153,20 @@ + + + + + + + + + + diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6caaa9a65..5b23f28b4 100755 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -158,6 +158,6 @@ dependencies { // So we always copy the latest JAR file to assets compileOnly(projects.subprojects.toolingApiImpl) - testImplementation(projects.testing.unit) - androidTestImplementation(projects.testing.android) + testImplementation(projects.subprojects.testingUnit) + androidTestImplementation(projects.subprojects.testingAndroid) } diff --git a/build-info/build.gradle.kts b/build-info/build.gradle.kts index 7c64b317f..c3192aaee 100644 --- a/build-info/build.gradle.kts +++ b/build-info/build.gradle.kts @@ -15,6 +15,7 @@ * along with AndroidIDE. If not, see . */ +import com.android.SdkConstants import com.itsaky.androidide.build.config.AGP_VERSION_MINIMUM import com.itsaky.androidide.build.config.BuildConfig import com.itsaky.androidide.build.config.CI @@ -74,7 +75,7 @@ tasks.create("generateBuildInfo") { "AGP_VERSION_MININUM" to AGP_VERSION_MINIMUM, "AGP_VERSION_LATEST" to libs.versions.agp.tooling.get(), - "AGP_VERSION_GRADLE_LATEST" to "8.6" /*SdkConstants.GRADLE_LATEST_VERSION*/, + "AGP_VERSION_GRADLE_LATEST" to SdkConstants.GRADLE_LATEST_VERSION, "SNAPSHOTS_REPOSITORY" to VersionUtils.SONATYPE_SNAPSHOTS_REPO, "PUBLIC_REPOSITORY" to VersionUtils.SONATYPE_PUBLIC_REPO, diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 82dbd987d..46a2bfc45 100755 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -18,8 +18,8 @@ import com.itsaky.androidide.build.config.BuildConfig plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) + id("com.android.library") + id("kotlin-android") } android { diff --git a/composite-builds/build-deps/appintro/build.gradle.kts b/composite-builds/build-deps/appintro/build.gradle.kts index 8014238d4..1752ca826 100644 --- a/composite-builds/build-deps/appintro/build.gradle.kts +++ b/composite-builds/build-deps/appintro/build.gradle.kts @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) + id("com.android.library") + id("kotlin-android") id("com.itsaky.androidide.build") } diff --git a/composite-builds/build-logic/build.gradle.kts b/composite-builds/build-logic/build.gradle.kts index ad7249495..69760d2e0 100644 --- a/composite-builds/build-logic/build.gradle.kts +++ b/composite-builds/build-logic/build.gradle.kts @@ -15,6 +15,10 @@ * along with AndroidIDE. If not, see . */ +plugins { + alias(libs.plugins.kotlin.jvm) apply false +} + subprojects { plugins.withId("java-library") { extensions.getByType(JavaPluginExtension::class.java).apply { diff --git a/composite-builds/build-logic/common/build.gradle.kts b/composite-builds/build-logic/common/build.gradle.kts index b15036d67..af4af13f3 100644 --- a/composite-builds/build-logic/common/build.gradle.kts +++ b/composite-builds/build-logic/common/build.gradle.kts @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { //noinspection JavaPluginLanguageLevel id("java-library") - alias(libs.plugins.kotlin.jvm) + id("org.jetbrains.kotlin.jvm") } tasks.withType { diff --git a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt index fd86376f9..4a998f5c0 100644 --- a/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt +++ b/composite-builds/build-logic/plugins/src/main/java/com/itsaky/androidide/plugins/TerminalBootstrapPackagesPlugin.kt @@ -46,20 +46,22 @@ class TerminalBootstrapPackagesPlugin : Plugin { */ private const val BOOTSTRAP_PACKAGES_VERSION = "16.12.2023" - private const val PACKAGES_DOWNLOAD_URL = "https://github.com/AndroidIDEOfficial/terminal-packages/releases/download/bootstrap-%1\$s/bootstrap-%2\$s.zip" + private const val PACKAGES_DOWNLOAD_URL = + "https://github.com/AndroidIDEOfficial/terminal-packages/releases/download/bootstrap-%1\$s/bootstrap-%2\$s.zip" } override fun apply(target: Project) { target.run { - val bootstrapOut = project.layout.buildDirectory.file("intermediates/bootstrap-packages") + val bootstrapOut = project.layout.buildDirectory.dir("bootstrap-packages") .get().asFile val files = BOOTSTRAP_PACKAGES.map { (arch, sha256) -> val file = File(bootstrapOut, "bootstrap-${arch}.zip") file.parentFile.mkdirs() - DownloadUtils.doDownload(file = file, + DownloadUtils.doDownload( + file = file, remoteUrl = PACKAGES_DOWNLOAD_URL.format(BOOTSTRAP_PACKAGES_VERSION, arch), expectedChecksum = sha256, logger = logger diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 10e5ba5a1..6edbcaf24 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -agp = "8.3.0" -agp-tooling = "8.4.0-rc02" +agp = "8.4.1" +agp-tooling = "8.4.1" gradle-tooling = "8.6" junit-jupiter = "5.10.2" kotlin = "1.9.24" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22ce5..b82aa23a4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew.bat b/gradlew.bat index 6689b85be..7101f8e46 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/lsp/java/build.gradle.kts b/lsp/java/build.gradle.kts index 51695c329..108454305 100644 --- a/lsp/java/build.gradle.kts +++ b/lsp/java/build.gradle.kts @@ -45,18 +45,17 @@ dependencies { implementation(libs.androidide.ts) implementation(libs.androidide.ts.java) + implementation(libs.androidx.appcompat) implementation(libs.common.editor) implementation(libs.common.javaparser) implementation(libs.common.utilcode) implementation(libs.androidx.annotation) implementation(libs.google.guava) implementation(libs.google.gson) + implementation(libs.google.material) - compileOnly(libs.androidx.appcompat) - compileOnly(libs.google.material) - compileOnly(projects.actions) - compileOnly(projects.common) - + implementation(projects.actions) + implementation(projects.common) implementation(projects.editorApi) implementation(projects.resources) implementation(projects.lsp.api) @@ -71,10 +70,10 @@ dependencies { implementation(libs.androidx.core.ktx) implementation(libs.common.kotlin) - - testImplementation(projects.testing.common) - testImplementation(projects.testing.lsp) - androidTestImplementation(projects.testing.android) + + testImplementation(projects.subprojects.testingCommon) + testImplementation(projects.subprojects.testingLsp) + androidTestImplementation(projects.subprojects.testingAndroid) androidTestImplementation(projects.common) androidTestImplementation(projects.shared) } \ No newline at end of file diff --git a/lsp/xml/build.gradle.kts b/lsp/xml/build.gradle.kts index 0faf59e0d..1e42f6a2d 100644 --- a/lsp/xml/build.gradle.kts +++ b/lsp/xml/build.gradle.kts @@ -55,7 +55,8 @@ dependencies { testImplementation(projects.actions) testImplementation(projects.subprojects.projects) testImplementation(projects.subprojects.toolingApi) - testImplementation(projects.testing.lsp) + testImplementation(projects.subprojects.testingCommon) + testImplementation(projects.subprojects.testingLsp) compileOnly(projects.common) compileOnly(libs.common.antlr4) diff --git a/settings.gradle.kts b/settings.gradle.kts index 1d8b86e44..df37b68a0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -160,6 +160,12 @@ include( ":subprojects:indexing", ":subprojects:javac-services", ":subprojects:projects", + ":subprojects:testing-android", + ":subprojects:testing-benchmarks", + ":subprojects:testing-common", + ":subprojects:testing-lsp", + ":subprojects:testing-tooling", + ":subprojects:testing-unit", ":subprojects:tooling-api", ":subprojects:tooling-api-events", ":subprojects:tooling-api-impl", @@ -170,12 +176,6 @@ include( ":termux:termux-emulator", ":termux:termux-shared", ":termux:termux-view", - ":testing:android", - ":testing:benchmark", - ":testing:common", - ":testing:lsp", - ":testing:tooling", - ":testing:unit", ) object FDroidConfig { diff --git a/subprojects/projects/build.gradle.kts b/subprojects/projects/build.gradle.kts index 2493a9132..a13190ed7 100644 --- a/subprojects/projects/build.gradle.kts +++ b/subprojects/projects/build.gradle.kts @@ -38,5 +38,5 @@ dependencies { implementation(libs.google.auto.service.annotations) implementation(libs.google.guava) - testImplementation(projects.testing.tooling) + testImplementation(projects.subprojects.testingTooling) } \ No newline at end of file diff --git a/testing/android/.gitignore b/subprojects/testing-android/.gitignore similarity index 100% rename from testing/android/.gitignore rename to subprojects/testing-android/.gitignore diff --git a/testing/android/build.gradle.kts b/subprojects/testing-android/build.gradle.kts similarity index 95% rename from testing/android/build.gradle.kts rename to subprojects/testing-android/build.gradle.kts index 5a392befa..ffbdc1ec6 100644 --- a/testing/android/build.gradle.kts +++ b/subprojects/testing-android/build.gradle.kts @@ -18,8 +18,8 @@ import com.itsaky.androidide.build.config.BuildConfig plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) + id("com.android.library") + id("kotlin-android") } android { @@ -61,5 +61,5 @@ dependencies { api(projects.buildInfo) api(projects.common) api(projects.shared) - api(projects.testing.common) + api(projects.subprojects.testingCommon) } \ No newline at end of file diff --git a/testing/android/consumer-rules.pro b/subprojects/testing-android/consumer-rules.pro similarity index 100% rename from testing/android/consumer-rules.pro rename to subprojects/testing-android/consumer-rules.pro diff --git a/testing/android/proguard-rules.pro b/subprojects/testing-android/proguard-rules.pro similarity index 100% rename from testing/android/proguard-rules.pro rename to subprojects/testing-android/proguard-rules.pro diff --git a/testing/android/src/main/java/androidx/test/uiautomator/UiDeviceAccessor.java b/subprojects/testing-android/src/main/java/androidx/test/uiautomator/UiDeviceAccessor.java similarity index 100% rename from testing/android/src/main/java/androidx/test/uiautomator/UiDeviceAccessor.java rename to subprojects/testing-android/src/main/java/androidx/test/uiautomator/UiDeviceAccessor.java diff --git a/testing/android/src/main/java/com/itsaky/androidide/testing/android/contextUtils.kt b/subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/contextUtils.kt similarity index 100% rename from testing/android/src/main/java/com/itsaky/androidide/testing/android/contextUtils.kt rename to subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/contextUtils.kt diff --git a/testing/android/src/main/java/com/itsaky/androidide/testing/android/rules/AbstractAndroidTestRule.kt b/subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/rules/AbstractAndroidTestRule.kt similarity index 100% rename from testing/android/src/main/java/com/itsaky/androidide/testing/android/rules/AbstractAndroidTestRule.kt rename to subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/rules/AbstractAndroidTestRule.kt diff --git a/testing/android/src/main/java/com/itsaky/androidide/testing/android/rules/RealmDBTestRule.kt b/subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/rules/RealmDBTestRule.kt similarity index 100% rename from testing/android/src/main/java/com/itsaky/androidide/testing/android/rules/RealmDBTestRule.kt rename to subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/rules/RealmDBTestRule.kt diff --git a/testing/android/src/main/java/com/itsaky/androidide/testing/android/uiAutomatorUtils.kt b/subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/uiAutomatorUtils.kt similarity index 100% rename from testing/android/src/main/java/com/itsaky/androidide/testing/android/uiAutomatorUtils.kt rename to subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/uiAutomatorUtils.kt diff --git a/testing/android/src/main/java/com/itsaky/androidide/testing/android/uiDeviceUtils.kt b/subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/uiDeviceUtils.kt similarity index 100% rename from testing/android/src/main/java/com/itsaky/androidide/testing/android/uiDeviceUtils.kt rename to subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/uiDeviceUtils.kt diff --git a/testing/android/src/main/java/com/itsaky/androidide/testing/android/uiObjectUtils.kt b/subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/uiObjectUtils.kt similarity index 100% rename from testing/android/src/main/java/com/itsaky/androidide/testing/android/uiObjectUtils.kt rename to subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/uiObjectUtils.kt diff --git a/testing/android/src/main/java/com/itsaky/androidide/testing/android/util/NoOpStatement.kt b/subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/util/NoOpStatement.kt similarity index 100% rename from testing/android/src/main/java/com/itsaky/androidide/testing/android/util/NoOpStatement.kt rename to subprojects/testing-android/src/main/java/com/itsaky/androidide/testing/android/util/NoOpStatement.kt diff --git a/testing/benchmark/.gitignore b/subprojects/testing-benchmark/.gitignore similarity index 100% rename from testing/benchmark/.gitignore rename to subprojects/testing-benchmark/.gitignore diff --git a/testing/benchmark/benchmark-proguard-rules.pro b/subprojects/testing-benchmark/benchmark-proguard-rules.pro similarity index 100% rename from testing/benchmark/benchmark-proguard-rules.pro rename to subprojects/testing-benchmark/benchmark-proguard-rules.pro diff --git a/testing/benchmark/build.gradle.kts b/subprojects/testing-benchmark/build.gradle.kts similarity index 100% rename from testing/benchmark/build.gradle.kts rename to subprojects/testing-benchmark/build.gradle.kts diff --git a/testing/benchmark/src/androidTest/AndroidManifest.xml b/subprojects/testing-benchmark/src/androidTest/AndroidManifest.xml similarity index 100% rename from testing/benchmark/src/androidTest/AndroidManifest.xml rename to subprojects/testing-benchmark/src/androidTest/AndroidManifest.xml diff --git a/testing/benchmark/src/androidTest/java/com/itsaky/androidide/benchmark/lsp/java/JavaIndexingWorkerBenchmark.kt b/subprojects/testing-benchmark/src/androidTest/java/com/itsaky/androidide/benchmark/lsp/java/JavaIndexingWorkerBenchmark.kt similarity index 100% rename from testing/benchmark/src/androidTest/java/com/itsaky/androidide/benchmark/lsp/java/JavaIndexingWorkerBenchmark.kt rename to subprojects/testing-benchmark/src/androidTest/java/com/itsaky/androidide/benchmark/lsp/java/JavaIndexingWorkerBenchmark.kt diff --git a/testing/common/.gitignore b/subprojects/testing-common/.gitignore similarity index 100% rename from testing/common/.gitignore rename to subprojects/testing-common/.gitignore diff --git a/testing/common/build.gradle.kts b/subprojects/testing-common/build.gradle.kts similarity index 89% rename from testing/common/build.gradle.kts rename to subprojects/testing-common/build.gradle.kts index 8fc16e0ec..cb00c2278 100644 --- a/testing/common/build.gradle.kts +++ b/subprojects/testing-common/build.gradle.kts @@ -24,10 +24,10 @@ plugins { dependencies { kapt(libs.google.auto.service) - implementation(libs.google.auto.service.annotations) + api(libs.google.auto.service.annotations) api(libs.tests.junit) api(projects.logger) - implementation(projects.subprojects.toolingApiImpl) + api(projects.subprojects.toolingApiImpl) } \ No newline at end of file diff --git a/testing/common/src/main/java/com/itsaky/androidide/testing/common/CIOnlyTestRule.kt b/subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/CIOnlyTestRule.kt similarity index 100% rename from testing/common/src/main/java/com/itsaky/androidide/testing/common/CIOnlyTestRule.kt rename to subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/CIOnlyTestRule.kt diff --git a/testing/common/src/main/java/com/itsaky/androidide/testing/common/NoOpStatement.kt b/subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/NoOpStatement.kt similarity index 100% rename from testing/common/src/main/java/com/itsaky/androidide/testing/common/NoOpStatement.kt rename to subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/NoOpStatement.kt diff --git a/testing/common/src/main/java/com/itsaky/androidide/testing/common/logging/TestingLoggingConfgurator.kt b/subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/logging/TestingLoggingConfgurator.kt similarity index 100% rename from testing/common/src/main/java/com/itsaky/androidide/testing/common/logging/TestingLoggingConfgurator.kt rename to subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/logging/TestingLoggingConfgurator.kt diff --git a/testing/common/src/main/java/com/itsaky/androidide/testing/common/utils/OperatingSystem.kt b/subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/utils/OperatingSystem.kt similarity index 100% rename from testing/common/src/main/java/com/itsaky/androidide/testing/common/utils/OperatingSystem.kt rename to subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/utils/OperatingSystem.kt diff --git a/testing/common/src/main/java/com/itsaky/androidide/testing/common/utils/utilsExt.kt b/subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/utils/utilsExt.kt similarity index 100% rename from testing/common/src/main/java/com/itsaky/androidide/testing/common/utils/utilsExt.kt rename to subprojects/testing-common/src/main/java/com/itsaky/androidide/testing/common/utils/utilsExt.kt diff --git a/testing/lsp/.gitignore b/subprojects/testing-lsp/.gitignore similarity index 100% rename from testing/lsp/.gitignore rename to subprojects/testing-lsp/.gitignore diff --git a/testing/lsp/build.gradle.kts b/subprojects/testing-lsp/build.gradle.kts similarity index 80% rename from testing/lsp/build.gradle.kts rename to subprojects/testing-lsp/build.gradle.kts index d9a04fe5a..9c874bc82 100644 --- a/testing/lsp/build.gradle.kts +++ b/subprojects/testing-lsp/build.gradle.kts @@ -18,8 +18,8 @@ import com.itsaky.androidide.build.config.BuildConfig plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) + id("com.android.library") + id("kotlin-android") } android { @@ -30,15 +30,14 @@ dependencies { api(libs.androidx.core.ktx) api(libs.common.editor) api(libs.common.kotlin) - api(libs.tests.mockito.kotlin) api(projects.actions) api(projects.common) api(projects.eventbusAndroid) api(projects.lsp.api) - api(projects.testing.common) - api(projects.testing.android) - api(projects.testing.tooling) - api(projects.testing.unit) + api(projects.subprojects.testingCommon) + api(projects.subprojects.testingAndroid) + api(projects.subprojects.testingTooling) + api(projects.subprojects.testingUnit) } \ No newline at end of file diff --git a/testing/lsp/src/main/AndroidManifest.xml b/subprojects/testing-lsp/src/main/AndroidManifest.xml similarity index 100% rename from testing/lsp/src/main/AndroidManifest.xml rename to subprojects/testing-lsp/src/main/AndroidManifest.xml diff --git a/testing/lsp/src/main/java/com/itsaky/androidide/lsp/testing/LSPTest.kt b/subprojects/testing-lsp/src/main/java/com/itsaky/androidide/lsp/testing/LSPTest.kt similarity index 100% rename from testing/lsp/src/main/java/com/itsaky/androidide/lsp/testing/LSPTest.kt rename to subprojects/testing-lsp/src/main/java/com/itsaky/androidide/lsp/testing/LSPTest.kt diff --git a/testing/lsp/src/main/java/com/itsaky/androidide/lsp/testing/util/ReflectiveLogListener.kt b/subprojects/testing-lsp/src/main/java/com/itsaky/androidide/lsp/testing/util/ReflectiveLogListener.kt similarity index 100% rename from testing/lsp/src/main/java/com/itsaky/androidide/lsp/testing/util/ReflectiveLogListener.kt rename to subprojects/testing-lsp/src/main/java/com/itsaky/androidide/lsp/testing/util/ReflectiveLogListener.kt diff --git a/testing/tooling/.gitignore b/subprojects/testing-tooling/.gitignore similarity index 100% rename from testing/tooling/.gitignore rename to subprojects/testing-tooling/.gitignore diff --git a/testing/tooling/build.gradle.kts b/subprojects/testing-tooling/build.gradle.kts similarity index 96% rename from testing/tooling/build.gradle.kts rename to subprojects/testing-tooling/build.gradle.kts index 2035add0c..dbf86033a 100644 --- a/testing/tooling/build.gradle.kts +++ b/subprojects/testing-tooling/build.gradle.kts @@ -27,13 +27,11 @@ dependencies { api(libs.tests.junit) api(libs.tests.google.truth) api(libs.tests.mockk) - api(projects.buildInfo) api(projects.logger) api(projects.shared) api(projects.subprojects.toolingApi) - - api(projects.testing.common) + api(projects.subprojects.testingCommon) // build tooling API before tests compileOnly(projects.subprojects.toolingApiImpl) diff --git a/testing/tooling/src/main/java/com/itsaky/androidide/testing/tooling/ToolingApiTestLauncher.kt b/subprojects/testing-tooling/src/main/java/com/itsaky/androidide/testing/tooling/ToolingApiTestLauncher.kt similarity index 100% rename from testing/tooling/src/main/java/com/itsaky/androidide/testing/tooling/ToolingApiTestLauncher.kt rename to subprojects/testing-tooling/src/main/java/com/itsaky/androidide/testing/tooling/ToolingApiTestLauncher.kt diff --git a/testing/tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestLauncherParams.kt b/subprojects/testing-tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestLauncherParams.kt similarity index 100% rename from testing/tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestLauncherParams.kt rename to subprojects/testing-tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestLauncherParams.kt diff --git a/testing/tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestScope.kt b/subprojects/testing-tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestScope.kt similarity index 100% rename from testing/tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestScope.kt rename to subprojects/testing-tooling/src/main/java/com/itsaky/androidide/testing/tooling/models/ToolingApiTestScope.kt diff --git a/testing/unit/.gitignore b/subprojects/testing-unit/.gitignore similarity index 100% rename from testing/unit/.gitignore rename to subprojects/testing-unit/.gitignore diff --git a/testing/unit/build.gradle.kts b/subprojects/testing-unit/build.gradle.kts similarity index 96% rename from testing/unit/build.gradle.kts rename to subprojects/testing-unit/build.gradle.kts index 145181e94..9aa82f05c 100644 --- a/testing/unit/build.gradle.kts +++ b/subprojects/testing-unit/build.gradle.kts @@ -32,10 +32,8 @@ dependencies { api(libs.tests.junit) api(libs.tests.google.truth) api(libs.tests.mockk) - api(projects.buildInfo) api(projects.common) api(projects.shared) - - api(projects.testing.common) + api(projects.subprojects.testingCommon) } \ No newline at end of file diff --git a/testing/unit/consumer-rules.pro b/subprojects/testing-unit/consumer-rules.pro similarity index 100% rename from testing/unit/consumer-rules.pro rename to subprojects/testing-unit/consumer-rules.pro diff --git a/testing/unit/proguard-rules.pro b/subprojects/testing-unit/proguard-rules.pro similarity index 100% rename from testing/unit/proguard-rules.pro rename to subprojects/testing-unit/proguard-rules.pro diff --git a/subprojects/tooling-api-impl/build.gradle.kts b/subprojects/tooling-api-impl/build.gradle.kts index 632957a78..bb54c20e7 100644 --- a/subprojects/tooling-api-impl/build.gradle.kts +++ b/subprojects/tooling-api-impl/build.gradle.kts @@ -71,7 +71,7 @@ dependencies { implementation(libs.xml.apis) implementation(libs.tooling.gradleApi) - testImplementation(projects.testing.tooling) + testImplementation(projects.subprojects.testingTooling) runtimeOnly(libs.tooling.slf4j) } diff --git a/templates-impl/build.gradle.kts b/templates-impl/build.gradle.kts index 471409d24..f5d439f29 100644 --- a/templates-impl/build.gradle.kts +++ b/templates-impl/build.gradle.kts @@ -43,6 +43,6 @@ dependencies { testImplementation(projects.templatesApi) testImplementation(projects.lsp.api) testImplementation(projects.preferences) - testImplementation(projects.testing.unit) - testImplementation(projects.testing.tooling) + testImplementation(projects.subprojects.testingUnit) + testImplementation(projects.subprojects.testingTooling) } \ No newline at end of file diff --git a/termux/termux-app/build.gradle.kts b/termux/termux-app/build.gradle.kts index 7bb6b22bf..f21cef039 100644 --- a/termux/termux-app/build.gradle.kts +++ b/termux/termux-app/build.gradle.kts @@ -68,7 +68,7 @@ dependencies { implementation(projects.termux.termuxView) implementation(projects.termux.termuxShared) - testImplementation(projects.testing.unit) + testImplementation(projects.subprojects.testingUnit) } tasks.register("versionName") { diff --git a/termux/termux-emulator/build.gradle.kts b/termux/termux-emulator/build.gradle.kts index 8c3fd82a0..100065ccc 100644 --- a/termux/termux-emulator/build.gradle.kts +++ b/termux/termux-emulator/build.gradle.kts @@ -36,5 +36,5 @@ tasks.withType(Test::class.java) { dependencies { implementation(libs.androidx.annotation) - testImplementation(projects.testing.unit) + testImplementation(projects.subprojects.testingUnit) } diff --git a/termux/termux-shared/build.gradle.kts b/termux/termux-shared/build.gradle.kts index 59df34aee..974caefaa 100644 --- a/termux/termux-shared/build.gradle.kts +++ b/termux/termux-shared/build.gradle.kts @@ -40,6 +40,6 @@ dependencies { implementation(projects.preferences) implementation(projects.resources) - testImplementation(projects.testing.unit) - testImplementation(projects.testing.android) + testImplementation(projects.subprojects.testingUnit) + testImplementation(projects.subprojects.testingAndroid) } diff --git a/termux/termux-view/build.gradle.kts b/termux/termux-view/build.gradle.kts index 800a69dab..3a8df2644 100644 --- a/termux/termux-view/build.gradle.kts +++ b/termux/termux-view/build.gradle.kts @@ -15,5 +15,5 @@ dependencies { implementation(projects.resources) api(projects.termux.termuxEmulator) - testImplementation(projects.testing.unit) + testImplementation(projects.subprojects.testingUnit) } \ No newline at end of file diff --git a/xml-inflater/build.gradle.kts b/xml-inflater/build.gradle.kts index 8f2db5ccf..e201f7292 100644 --- a/xml-inflater/build.gradle.kts +++ b/xml-inflater/build.gradle.kts @@ -41,5 +41,6 @@ dependencies { implementation(projects.resources) testImplementation(projects.subprojects.projects) - testImplementation(projects.testing.tooling) + testImplementation(projects.subprojects.testingCommon) + testImplementation(projects.subprojects.testingTooling) }