diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 468bdd7..dc00fde 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -68,14 +68,9 @@ jobs: working-directory: tests-projects/tests-jvm-junit5 run: ../../gradlew --stacktrace check shell: bash - - name: Check plugin with Android old layout (ubuntu) + - name: Check plugin with Android (ubuntu) if: matrix.os == 'ubuntu-latest' - working-directory: tests-projects/tests-android-old - run: ../../gradlew --stacktrace check - shell: bash - - name: Check plugin with Android new layout (ubuntu) - if: matrix.os == 'ubuntu-latest' - working-directory: tests-projects/tests-android-new + working-directory: tests-projects/tests-android run: ../../gradlew --stacktrace check shell: bash - name: Upload (macos / windows) diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index f2bed49..2b93882 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -66,14 +66,9 @@ jobs: working-directory: tests-projects/tests-jvm-junit5 run: ../../gradlew --stacktrace check shell: bash - - name: Check plugin with Android old layout (ubuntu) + - name: Check plugin with Android (ubuntu) if: matrix.os == 'ubuntu-latest' - working-directory: tests-projects/tests-android-old - run: ../../gradlew --stacktrace check - shell: bash - - name: Check plugin with Android new layout (ubuntu) - if: matrix.os == 'ubuntu-latest' - working-directory: tests-projects/tests-android-new + working-directory: tests-projects/tests-android run: ../../gradlew --stacktrace check shell: bash - name: Upload (macos / windows) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 68460ca..fdc6209 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -52,13 +52,8 @@ jobs: working-directory: tests-projects/tests-jvm-junit5 run: ../../gradlew --stacktrace check shell: bash - - name: Check plugin with Android old layout (ubuntu) + - name: Check plugin with Android (ubuntu) if: matrix.os == 'ubuntu-latest' - working-directory: tests-projects/tests-android-old - run: ../../gradlew --stacktrace check - shell: bash - - name: Check plugin with Android new layout (ubuntu) - if: matrix.os == 'ubuntu-latest' - working-directory: tests-projects/tests-android-new + working-directory: tests-projects/tests-android run: ../../gradlew --stacktrace check shell: bash diff --git a/mockmp-gradle-plugin/src/main/kotlin/org/kodein/mock/gradle/MocKMPGradlePlugin.kt b/mockmp-gradle-plugin/src/main/kotlin/org/kodein/mock/gradle/MocKMPGradlePlugin.kt index ad1c8f3..a15a182 100644 --- a/mockmp-gradle-plugin/src/main/kotlin/org/kodein/mock/gradle/MocKMPGradlePlugin.kt +++ b/mockmp-gradle-plugin/src/main/kotlin/org/kodein/mock/gradle/MocKMPGradlePlugin.kt @@ -92,15 +92,19 @@ class MocKMPGradlePlugin : Plugin { configureKsp(project, ext) - // Adding KSP JVM as a dependency to all Kotlin compilations - project.tasks.withType>().all { - if (name.startsWith("compile") && name.contains("TestKotlin")) { - when (jvmTarget.preset!!.name) { - "jvm" -> dependsOn("kspTestKotlin${jvmTarget.name.replaceFirstChar { it.titlecase() }}") - "android" -> dependsOn("kspDebugUnitTestKotlin${jvmTarget.name.replaceFirstChar { it.titlecase() }}") + // For some reason, the simple fact of calling `project.tasks.withType>()` + // breaks KSP if not set in a deep level of afterEvaluate :( + afterEvaluate { afterEvaluate { + // Adding KSP JVM as a dependency to all Kotlin compilations + project.tasks.withType>().all { + if (name.startsWith("compile") && name.contains("TestKotlin")) { + when (jvmTarget.preset!!.name) { + "jvm" -> dependsOn("kspTestKotlin${jvmTarget.name.replaceFirstChar { it.titlecase() }}") + "android" -> dependsOn("kspDebugUnitTestKotlin${jvmTarget.name.replaceFirstChar { it.titlecase() }}") + } } } - } + } } } } @@ -121,7 +125,6 @@ class MocKMPGradlePlugin : Plugin { SourceSetTarget.CommonMain -> executeOnMain(target, ext) SourceSetTarget.CommonTest_Via_JVM -> executeOnTests(target, ext) } - } } diff --git a/tests-projects/tests-android-old/build.gradle.kts b/tests-projects/tests-android-old/build.gradle.kts deleted file mode 100644 index 2f515c0..0000000 --- a/tests-projects/tests-android-old/build.gradle.kts +++ /dev/null @@ -1,69 +0,0 @@ -plugins { - alias(kodeinGlobals.plugins.android.library) - alias(kodeinGlobals.plugins.kotlin.multiplatform) - id("org.kodein.mock.mockmp") -} - -repositories { - mavenLocal() - google() - mavenCentral() -} - -android { - namespace = "org.kodein.mock.tests_android" - compileSdk = 32 - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - - defaultConfig { - minSdk = 21 - targetSdk = 32 - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } -} - -kotlin { - android() - ios() - - sourceSets { - val commonMain by getting { - kotlin.srcDir("$rootDir/../../tests/tests-junit4/src/commonMain/kotlin") - dependencies { - implementation(libs.datetime) - } - } - val commonTest by getting { - kotlin.srcDir("$rootDir/../../tests/tests-junit4/src/commonTest/kotlin") - dependencies { - implementation(libs.coroutines.test) - } - } - - val androidTest by getting { - dependencies { - implementation(kodeinGlobals.kotlin.test.junit) - } - } - } -} - -mockmp { - usesHelper = true -} - -// Showing tests in Gradle command line -afterEvaluate { - tasks.withType { - testLogging { - events("passed", "skipped", "failed", "standard_out", "standard_error") - showExceptions = true - showStackTraces = true - } - } -} diff --git a/tests-projects/tests-android-old/gradle.properties b/tests-projects/tests-android-old/gradle.properties deleted file mode 100644 index 2614e75..0000000 --- a/tests-projects/tests-android-old/gradle.properties +++ /dev/null @@ -1,5 +0,0 @@ -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 - -android.useAndroidX=true -android.nonTransitiveRClass=true -kotlin.mpp.androidSourceSetLayoutVersion1.nowarn=true diff --git a/tests-projects/tests-android-old/settings.gradle.kts b/tests-projects/tests-android-old/settings.gradle.kts deleted file mode 100644 index 2d5c155..0000000 --- a/tests-projects/tests-android-old/settings.gradle.kts +++ /dev/null @@ -1,44 +0,0 @@ -pluginManagement { - repositories { - mavenLocal() - gradlePluginPortal() - google() - mavenCentral() - } - - resolutionStrategy.eachPlugin { - if (target.id.id == "org.kodein.mock.mockmp") { - val rx = Regex("version = \"(.+)\"") - val match = file("$rootDir/../../build.gradle.kts").useLines { lines -> - lines.mapNotNull { rx.matchEntire(it.trim()) }.firstOrNull() - } ?: error("Could not find parent project version") - val mockmpVersion = match.groupValues[1] - - useModule("org.kodein.mock:mockmp-gradle-plugin:$mockmpVersion") - } - } -} - -@Suppress("UnstableApiUsage") -dependencyResolutionManagement { - repositories { - mavenLocal() - mavenCentral() - maven(url = "https://raw.githubusercontent.com/kosi-libs/kodein-internal-gradle-plugin/mvn-repo") - } - - versionCatalogs { - create("kodeinGlobals") { - val rx = Regex("classpath\\(\"org.kodein.internal.gradle:kodein-internal-gradle-settings:(.+)\"\\)") - val match = file("$rootDir/../../settings.gradle.kts").useLines { lines -> - lines.mapNotNull { rx.matchEntire(it.trim()) }.firstOrNull() - } ?: error("Could not find parent KIGP version") - val kigpVersion = match.groupValues[1] - - from("org.kodein.internal.gradle:kodein-internal-gradle-version-catalog:$kigpVersion") - } - create("libs") { - from(files("../../gradle/libs.versions.toml")) - } - } -} diff --git a/tests-projects/tests-android-old/src/androidMain/AndroidManifest.xml b/tests-projects/tests-android-old/src/androidMain/AndroidManifest.xml deleted file mode 100644 index 1f323ca..0000000 --- a/tests-projects/tests-android-old/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/tests-projects/tests-android-old/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp b/tests-projects/tests-android-old/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp deleted file mode 100644 index aa7d642..0000000 Binary files a/tests-projects/tests-android-old/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp and /dev/null differ diff --git a/tests-projects/tests-android-new/build.gradle.kts b/tests-projects/tests-android/build.gradle.kts similarity index 98% rename from tests-projects/tests-android-new/build.gradle.kts rename to tests-projects/tests-android/build.gradle.kts index d5237ff..1614660 100644 --- a/tests-projects/tests-android-new/build.gradle.kts +++ b/tests-projects/tests-android/build.gradle.kts @@ -27,7 +27,7 @@ android { } kotlin { - android() + androidTarget() ios() sourceSets { diff --git a/tests-projects/tests-android-new/gradle.properties b/tests-projects/tests-android/gradle.properties similarity index 71% rename from tests-projects/tests-android-new/gradle.properties rename to tests-projects/tests-android/gradle.properties index 17ff0a9..ada8099 100644 --- a/tests-projects/tests-android-new/gradle.properties +++ b/tests-projects/tests-android/gradle.properties @@ -2,4 +2,3 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 android.useAndroidX=true android.nonTransitiveRClass=true -kotlin.mpp.androidSourceSetLayoutVersion=2 diff --git a/tests-projects/tests-android-new/settings.gradle.kts b/tests-projects/tests-android/settings.gradle.kts similarity index 100% rename from tests-projects/tests-android-new/settings.gradle.kts rename to tests-projects/tests-android/settings.gradle.kts diff --git a/tests-projects/tests-android-new/src/androidMain/AndroidManifest.xml b/tests-projects/tests-android/src/androidMain/AndroidManifest.xml similarity index 100% rename from tests-projects/tests-android-new/src/androidMain/AndroidManifest.xml rename to tests-projects/tests-android/src/androidMain/AndroidManifest.xml diff --git a/tests-projects/tests-android-new/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp b/tests-projects/tests-android/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp similarity index 100% rename from tests-projects/tests-android-new/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp rename to tests-projects/tests-android/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp