diff options
Diffstat (limited to 'integration-tests/src/test/resources/kmp/workload')
8 files changed, 109 insertions, 0 deletions
diff --git a/integration-tests/src/test/resources/kmp/workload/build.gradle.kts b/integration-tests/src/test/resources/kmp/workload/build.gradle.kts new file mode 100644 index 00000000..f0ba36f1 --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/build.gradle.kts @@ -0,0 +1,66 @@ +plugins { + kotlin("multiplatform") + id("com.google.devtools.ksp") +} + +version = "1.0-SNAPSHOT" + +kotlin { + jvm { + withJava() + } + js(BOTH) { + browser() + nodejs() + } + linuxX64() { + binaries { + executable() + } + } + androidNativeX64() { + binaries { + executable() + } + } + androidNativeArm64() { + binaries { + executable() + } + } + // TODO: Enable after CI's Xcode version catches up. + // iosArm64() + // macosX64() + mingwX64() + sourceSets { + val commonMain by getting { + dependencies { + implementation(project(":annotations")) + } + } + val linuxX64Main by getting + val linuxX64Test by getting + val androidNativeX64Main by getting + val androidNativeArm64Main by getting + } +} + +tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> { + kotlinOptions.freeCompilerArgs += "-Xuse-deprecated-legacy-compiler" +} + +dependencies { + add("kspCommonMainMetadata", project(":test-processor")) + add("kspJvm", project(":test-processor")) + add("kspJvmTest", project(":test-processor")) + add("kspJs", project(":test-processor")) + add("kspJsTest", project(":test-processor")) + add("kspAndroidNativeX64", project(":test-processor")) + add("kspAndroidNativeX64Test", project(":test-processor")) + add("kspAndroidNativeArm64", project(":test-processor")) + add("kspAndroidNativeArm64Test", project(":test-processor")) + add("kspLinuxX64", project(":test-processor")) + add("kspLinuxX64Test", project(":test-processor")) + add("kspMingwX64", project(":test-processor")) + add("kspMingwX64Test", project(":test-processor")) +} diff --git a/integration-tests/src/test/resources/kmp/workload/src/androidNativeArm64Main/kotlin/Main.kt b/integration-tests/src/test/resources/kmp/workload/src/androidNativeArm64Main/kotlin/Main.kt new file mode 100644 index 00000000..bf7bfe3e --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/src/androidNativeArm64Main/kotlin/Main.kt @@ -0,0 +1,7 @@ +import com.example.Bar +import com.example.Foo + +fun main() { + println(Bar().toString()) + println(Foo().toString()) +} diff --git a/integration-tests/src/test/resources/kmp/workload/src/androidNativeX64Main/kotlin/Main.kt b/integration-tests/src/test/resources/kmp/workload/src/androidNativeX64Main/kotlin/Main.kt new file mode 100644 index 00000000..bf7bfe3e --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/src/androidNativeX64Main/kotlin/Main.kt @@ -0,0 +1,7 @@ +import com.example.Bar +import com.example.Foo + +fun main() { + println(Bar().toString()) + println(Foo().toString()) +} diff --git a/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/Bar.kt b/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/Bar.kt new file mode 100644 index 00000000..480d3cb2 --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/Bar.kt @@ -0,0 +1,5 @@ +package com.example + +class Bar { + val baz = Foo().baz +} diff --git a/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/Baz.kt b/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/Baz.kt new file mode 100644 index 00000000..83015598 --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/Baz.kt @@ -0,0 +1,5 @@ +package com.example + +class Baz { + val bar = Foo().bar +} diff --git a/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/ToBeValidated.kt b/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/ToBeValidated.kt new file mode 100644 index 00000000..05497afb --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/src/commonMain/kotlin/com/example/ToBeValidated.kt @@ -0,0 +1,9 @@ +package com.example + +// https://github.com/google/ksp/issues/632 +@MyAnnotation +@ExperimentalMultiplatform +class ToBeValidated { + // https://github.com/google/ksp/issues/574 + val ToBeInferred = listOf("string") +} diff --git a/integration-tests/src/test/resources/kmp/workload/src/linuxX64Main/kotlin/Main.kt b/integration-tests/src/test/resources/kmp/workload/src/linuxX64Main/kotlin/Main.kt new file mode 100644 index 00000000..bf7bfe3e --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/src/linuxX64Main/kotlin/Main.kt @@ -0,0 +1,7 @@ +import com.example.Bar +import com.example.Foo + +fun main() { + println(Bar().toString()) + println(Foo().toString()) +} diff --git a/integration-tests/src/test/resources/kmp/workload/src/linuxX64Test/kotlin/MyTest.kt b/integration-tests/src/test/resources/kmp/workload/src/linuxX64Test/kotlin/MyTest.kt new file mode 100644 index 00000000..836f9f2b --- /dev/null +++ b/integration-tests/src/test/resources/kmp/workload/src/linuxX64Test/kotlin/MyTest.kt @@ -0,0 +1,3 @@ +@com.example.MyAnnotation +@ExperimentalMultiplatform +class MyTest |