From 798ba696d1d7ebbe181f35e400b51bc309a0e288 Mon Sep 17 00:00:00 2001 From: Martin Bonnin Date: Mon, 23 Jun 2025 19:01:39 +0200 Subject: [PATCH] Add integration test --- .../kotlin/test/AndroidProjectTests.kt | 8 ++++ .../build.gradle.kts | 37 +++++++++++++++++++ .../settings.gradle.kts | 1 + .../src/main/AndroidManifest.xml | 2 + .../graphql/com/example/operations.graphql | 3 ++ .../main/graphql/com/example/schema.graphqls | 3 ++ .../src/main/java/com/example/Main.kt | 6 +++ 7 files changed, 60 insertions(+) create mode 100644 libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/build.gradle.kts create mode 100644 libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/settings.gradle.kts create mode 100644 libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/AndroidManifest.xml create mode 100644 libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/operations.graphql create mode 100644 libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/schema.graphqls create mode 100644 libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/java/com/example/Main.kt diff --git a/libraries/apollo-gradle-plugin/src/test-java17/kotlin/test/AndroidProjectTests.kt b/libraries/apollo-gradle-plugin/src/test-java17/kotlin/test/AndroidProjectTests.kt index 22328c428df..e0f149043e1 100644 --- a/libraries/apollo-gradle-plugin/src/test-java17/kotlin/test/AndroidProjectTests.kt +++ b/libraries/apollo-gradle-plugin/src/test-java17/kotlin/test/AndroidProjectTests.kt @@ -121,4 +121,12 @@ class AndroidProjectTests { Truth.assertThat(result.task(":build")!!.outcome).isEqualTo(TaskOutcome.SUCCESS) } } + + @Test + fun `connectToAndroidSourceSet carries task dependencies`() { + withTestProject("android-connect-source-set") { dir -> + val result = TestUtils.executeTask("build", dir) + Truth.assertThat(result.task(":build")!!.outcome).isEqualTo(TaskOutcome.SUCCESS) + } + } } diff --git a/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/build.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/build.gradle.kts new file mode 100644 index 00000000000..5af824f7bb9 --- /dev/null +++ b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/build.gradle.kts @@ -0,0 +1,37 @@ +plugins { + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) + // Revert to 4.3.0 to have the bug + id("com.apollographql.apollo").version("4.3.1") +} + +dependencies { + add("implementation", "com.apollographql.apollo:apollo-api") +} + +android { + compileSdk = libs.versions.android.sdkversion.compile.get().toInt() + namespace = "com.example" + + defaultConfig { + minSdk = libs.versions.android.sdkversion.min.get().toInt() + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + +java.toolchain { + languageVersion.set(JavaLanguageVersion.of(11)) +} + +apollo { + service("service") { + packageName.set("com.example") + outputDirConnection { + connectToAndroidSourceSet("main") + } + } +} diff --git a/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/settings.gradle.kts b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/settings.gradle.kts new file mode 100644 index 00000000000..fa2cf0ea160 --- /dev/null +++ b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/settings.gradle.kts @@ -0,0 +1 @@ +apply(from = "../../../../gradle/test.settings.gradle.kts") diff --git a/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/AndroidManifest.xml b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/AndroidManifest.xml new file mode 100644 index 00000000000..5c3d3655b52 --- /dev/null +++ b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + + diff --git a/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/operations.graphql b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/operations.graphql new file mode 100644 index 00000000000..d4b486a0100 --- /dev/null +++ b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/operations.graphql @@ -0,0 +1,3 @@ +query Main { + foo +} \ No newline at end of file diff --git a/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/schema.graphqls b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/schema.graphqls new file mode 100644 index 00000000000..f56400de775 --- /dev/null +++ b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/graphql/com/example/schema.graphqls @@ -0,0 +1,3 @@ +type Query { + foo: Int +} \ No newline at end of file diff --git a/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/java/com/example/Main.kt b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/java/com/example/Main.kt new file mode 100644 index 00000000000..6a7d40d0a95 --- /dev/null +++ b/libraries/apollo-gradle-plugin/testProjects/android-connect-source-set/src/main/java/com/example/Main.kt @@ -0,0 +1,6 @@ +package com.example + +fun main() { + // No assertion here. We just want to check it compiles + println(com.example.MainQuery::class.java.name) +} \ No newline at end of file