Skip to content

Commit 98a66ef

Browse files
committed
add gradle
1 parent f36d94f commit 98a66ef

File tree

4 files changed

+82
-3
lines changed

4 files changed

+82
-3
lines changed

integration/gradle-plugin-integration-tests/client-generator/multiple-tasks/build.gradle.kts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,19 @@ tasks.create("generateSecond", GraphQLGenerateClientTask::class) {
2727
queryFiles.from(
2828
"${project.projectDir}/src/main/resources/queries/UpdateNameMutation.graphql"
2929
)
30+
31+
tasks.create("generateSub", GraphQLGenerateClientTask::class) {
32+
packageName.set("com.expediagroup.generated.generateSub")
33+
schemaFile.set(file("${project.projectDir}/schema.graphql"))
34+
// optional config
35+
queryFileDirectory.from(
36+
"${project.projectDir}/src/main/resources/queries/parentDir"
37+
)
3038
}
3139

3240
tasks {
3341
named<Test>("test") {
34-
dependsOn("generateFirst", "generateSecond")
42+
dependsOn("generateFirst", "generateSecond", "generateSub")
3543

3644
doLast {
3745
// verify files were generated
@@ -41,6 +49,12 @@ tasks {
4149
if (!File(project.buildDir, "generated/source/graphql/main/com/expediagroup/generated/second/UpdateNameMutation.kt").exists()) {
4250
throw RuntimeException("failed to generate client for UpdateNameMutation")
4351
}
52+
if (!File(project.buildDir, "generated/source/graphql/main/com/expediagroup/generated/generateSub/ExampleQuery.kt").exists()) {
53+
throw RuntimeException("failed to generate client for UpdateNameMutation")
54+
}
55+
if (!File(project.buildDir, "generated/source/graphql/main/com/expediagroup/generated/generateSub/SubDirQuery.kt").exists()) {
56+
throw RuntimeException("failed to generate client for SubDirQuery")
57+
}
4458
}
4559
}
4660
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
query ExampleQuery($simpleCriteria: SimpleArgumentInput!) {
2+
enumQuery
3+
scalarQuery {
4+
count
5+
custom
6+
id
7+
name
8+
rating
9+
valid
10+
}
11+
listQuery {
12+
id
13+
name
14+
}
15+
complexObjectQuery {
16+
id
17+
name
18+
optional
19+
details {
20+
id
21+
flag
22+
value
23+
}
24+
}
25+
interfaceQuery {
26+
__typename
27+
id
28+
name
29+
... on FirstInterfaceImplementation {
30+
intValue
31+
}
32+
... on SecondInterfaceImplementation {
33+
floatValue
34+
}
35+
}
36+
unionQuery {
37+
__typename
38+
... on BasicObject {
39+
id
40+
name
41+
}
42+
... on ComplexObject {
43+
id
44+
name
45+
optional
46+
details {
47+
id
48+
flag
49+
value
50+
}
51+
}
52+
}
53+
inputObjectQuery(criteria: $simpleCriteria)
54+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
query subDirQuery {
2+
enumQuery
3+
scalarQuery {
4+
count
5+
custom
6+
id
7+
name
8+
rating
9+
valid
10+
}
11+
}

plugins/graphql-kotlin-gradle-plugin/src/main/kotlin/com/expediagroup/graphql/plugin/gradle/tasks/AbstractGenerateClientTask.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,10 @@ abstract class AbstractGenerateClientTask : DefaultTask() {
151151
val targetQueryFiles: List<File> = when {
152152
queryFiles.files.isNotEmpty() -> queryFiles.files.toList()
153153
queryFileDirectory.isPresent -> {
154-
queryFileDirectory.get().asFile
155-
.listFiles { file -> file.extension == "graphql" }
154+
queryFileDirectory.asFile.orNull?.walkBottomUp()?.filter { file -> file.extension == "graphql" }
156155
?.toList() ?: throw RuntimeException("exception while looking up the query files")
157156
}
157+
158158
else -> throw RuntimeException("no query files found")
159159
}
160160

0 commit comments

Comments
 (0)