Skip to content

Commit 2f1ea6f

Browse files
authored
Apollo API: generate the version (#6539)
* Apollo API: generate the version * update apiDump
1 parent 5a9edd4 commit 2f1ea6f

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

libraries/apollo-api/api/apollo-api.api

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ public final class com/apollographql/apollo/api/Adapters {
3737
public static synthetic fun -toJson$default (Lcom/apollographql/apollo/api/Adapter;Ljava/lang/Object;Lcom/apollographql/apollo/api/CustomScalarAdapters;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String;
3838
}
3939

40+
public final class com/apollographql/apollo/api/ApolloApiVersionKt {
41+
public static final field apolloApiVersion Ljava/lang/String;
42+
}
43+
4044
public final class com/apollographql/apollo/api/ApolloOptionalAdapter : com/apollographql/apollo/api/Adapter {
4145
public fun <init> (Lcom/apollographql/apollo/api/Adapter;)V
4246
public fun fromJson (Lcom/apollographql/apollo/api/json/JsonReader;Lcom/apollographql/apollo/api/CustomScalarAdapters;)Lcom/apollographql/apollo/api/Optional;

libraries/apollo-api/api/apollo-api.klib.api

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1356,6 +1356,9 @@ final object com.apollographql.apollo.exception/OfflineException : okio/IOExcept
13561356
final fun toString(): kotlin/String // com.apollographql.apollo.exception/OfflineException.toString|toString(){}[0]
13571357
}
13581358

1359+
final const val com.apollographql.apollo.api/apolloApiVersion // com.apollographql.apollo.api/apolloApiVersion|{}apolloApiVersion[0]
1360+
final fun <get-apolloApiVersion>(): kotlin/String // com.apollographql.apollo.api/apolloApiVersion.<get-apolloApiVersion>|<get-apolloApiVersion>(){}[0]
1361+
13591362
final val com.apollographql.apollo.api/AnyAdapter // com.apollographql.apollo.api/AnyAdapter|{}AnyAdapter[0]
13601363
final fun <get-AnyAdapter>(): com.apollographql.apollo.api/Adapter<kotlin/Any> // com.apollographql.apollo.api/AnyAdapter.<get-AnyAdapter>|<get-AnyAdapter>(){}[0]
13611364
final val com.apollographql.apollo.api/ApolloOptionalAnyAdapter // com.apollographql.apollo.api/ApolloOptionalAnyAdapter|{}ApolloOptionalAnyAdapter[0]

libraries/apollo-api/build.gradle.kts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import org.jetbrains.kotlin.gradle.dsl.KotlinBaseExtension
2+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3+
import kotlin.jvm.java
4+
15
plugins {
26
id("org.jetbrains.kotlin.multiplatform")
37
}
@@ -18,3 +22,39 @@ kotlin {
1822
}
1923
}
2024

25+
abstract class GenerateLibraryVersion : DefaultTask() {
26+
@get:Input
27+
abstract val version: Property<String>
28+
29+
@get:OutputDirectory
30+
abstract val outputDir: DirectoryProperty
31+
32+
@TaskAction
33+
fun taskAction() {
34+
outputDir.asFile.get().apply {
35+
deleteRecursively()
36+
mkdirs()
37+
}
38+
39+
val versionFile = File(outputDir.asFile.get(), "com/apollographql/apollo/api/ApolloApiVersion.kt")
40+
versionFile.parentFile.mkdirs()
41+
versionFile.writeText("""// Generated file. Do not edit!
42+
package com.apollographql.apollo.api
43+
const val apolloApiVersion = "${version.get()}"
44+
""")
45+
}
46+
}
47+
48+
val pluginVersionTaskProvider = tasks.register("generateLibraryVersion", GenerateLibraryVersion::class.java) {
49+
outputDir.set(project.layout.buildDirectory.dir("generated/kotlin/"))
50+
version.set(project.version.toString())
51+
}
52+
53+
extensions.getByType(KotlinBaseExtension::class.java).apply {
54+
val versionFileProvider = pluginVersionTaskProvider.flatMap { it.outputDir }
55+
sourceSets.getByName("commonMain").kotlin.srcDir(versionFileProvider)
56+
}
57+
58+
tasks.withType(KotlinCompile::class.java) {
59+
dependsOn(pluginVersionTaskProvider)
60+
}

0 commit comments

Comments
 (0)