diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d5f000ca6..3ec548501 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -122,7 +122,7 @@ jobs:
restore-keys: |
${{ runner.os }}-gradle-
- name: Run debug tests
- run: ./gradlew test --continue
+ run: ./gradlew runTestsInCI --continue
env:
ANDROIDIDE_TEST: true
IDE_SIGNING_ALIAS: ${{ secrets.IDE_SIGNING_ALIAS }}
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 983e88772..2c33d6782 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -12,18 +12,18 @@
-
+
-
+
-
+
-
-
-
+
+
+
diff --git a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt b/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt
index 2052895db..14d27db66 100644
--- a/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt
+++ b/build-logic/ide/src/main/java/com/itsaky/androidide/plugins/AndroidIDEPlugin.kt
@@ -17,6 +17,7 @@
package com.itsaky.androidide.plugins
+import org.gradle.api.GradleException
import org.gradle.api.Plugin
import org.gradle.api.Project
@@ -28,5 +29,25 @@ import org.gradle.api.Project
class AndroidIDEPlugin : Plugin {
override fun apply(target: Project) {
+ target.run {
+ if (project.path == rootProject.path) {
+ throw GradleException("Cannot apply ${AndroidIDEPlugin::class.simpleName} to root project")
+ }
+
+ val taskName = when {
+ project.path == ":app" -> "testArm64-v8aDebugUnitTest"
+
+ plugins.hasPlugin("com.android.application") ||
+ plugins.hasPlugin("com.android.library") -> "testDebugUnitTest"
+
+ else -> "test"
+ }
+
+ logger.info("${project.path} will run task '$taskName' for tests in CI")
+
+ project.tasks.create("runTestsInCI") {
+ dependsOn(taskName)
+ }
+ }
}
}
diff --git a/build.gradle.kts b/build.gradle.kts
index e05367a23..d62599c46 100755
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -25,6 +25,7 @@ import com.vanniktech.maven.publish.JavaLibrary
import com.vanniktech.maven.publish.JavadocJar
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import com.vanniktech.maven.publish.SonatypeHost.Companion.S01
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@Suppress("DSL_SCOPE_VIOLATION")
plugins {
@@ -114,7 +115,9 @@ fun Project.configureBaseExtension() {
}
subprojects {
- apply { plugin(AndroidIDEPlugin::class.java) }
+ afterEvaluate {
+ apply { plugin(AndroidIDEPlugin::class.java) }
+ }
project.group = BuildConfig.packageName
project.version = rootProject.version
@@ -179,7 +182,7 @@ subprojects {
}
}
- tasks.withType().configureEach {
+ tasks.withType().configureEach {
kotlinOptions.jvmTarget = BuildConfig.javaVersion.toString()
}
}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 4911957d0..744897eb0 100755
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -96,6 +96,5 @@ include(
":subprojects:tooling-api-model",
":subprojects:tooling-api-testing",
":subprojects:xml-dom",
- ":subprojects:xml-formatter",
":subprojects:xml-utils"
)
\ No newline at end of file