File tree Expand file tree Collapse file tree 4 files changed +58
-1
lines changed
build-logic/jvm/src/main/kotlin
src/main/java/dev/sigstore/http Expand file tree Collapse file tree 4 files changed +58
-1
lines changed Original file line number Diff line number Diff line change
1
+ import buildlogic.BuildInfoTask
2
+
3
+ plugins {
4
+ java
5
+ }
6
+
7
+ val generateBuildInfo by tasks.registering(BuildInfoTask ::class ) {
8
+ version.set(project.version.toString())
9
+ genDir.set(project.layout.buildDirectory.dir(" generated/buildinfo" ))
10
+ }
11
+
12
+ sourceSets.main {
13
+ java.srcDir(generateBuildInfo)
14
+ }
Original file line number Diff line number Diff line change
1
+ package buildlogic
2
+
3
+ import org.gradle.api.DefaultTask
4
+ import org.gradle.api.file.DirectoryProperty
5
+ import org.gradle.api.file.RegularFile
6
+ import org.gradle.api.provider.Property
7
+ import org.gradle.api.provider.Provider
8
+ import org.gradle.api.tasks.Input
9
+ import org.gradle.api.tasks.InputDirectory
10
+ import org.gradle.api.tasks.OutputDirectory
11
+ import org.gradle.api.tasks.OutputFile
12
+ import org.gradle.api.tasks.TaskAction
13
+
14
+ abstract class BuildInfoTask : DefaultTask () {
15
+ @get:Input
16
+ abstract val packageName: Property <String >
17
+
18
+ @get:Input
19
+ abstract val version: Property <String >
20
+
21
+ @get:OutputDirectory
22
+ abstract val genDir: DirectoryProperty
23
+
24
+ @TaskAction
25
+ fun run () {
26
+ val output = """
27
+ package ${packageName.get()} ;
28
+
29
+ public class BuildInfo {
30
+ public static final String VERSION = "${version.get()} ";
31
+ }
32
+ """ .trimIndent()
33
+ val outputPath = genDir.file(packageName.get().replace(" ." , " /" ).plus(" /BuildInfo.java" )).get().asFile
34
+ outputPath.parentFile.mkdirs()
35
+ outputPath.writeText(output)
36
+ }
37
+ }
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import com.google.protobuf.gradle.id
3
3
plugins {
4
4
id(" build-logic.java-published-library" )
5
5
id(" build-logic.test-junit5" )
6
+ id(" build-logic.build-info" )
6
7
id(" org.jsonschema2dataclass" ) version " 5.0.0"
7
8
id(" com.google.protobuf" ) version " 0.9.4"
8
9
}
@@ -120,3 +121,7 @@ jsonSchema2Pojo {
120
121
tasks.named(" sourcesJar" ) {
121
122
dependsOn(" generateJsonSchema2DataClassConfigRekor" )
122
123
}
124
+
125
+ tasks.generateBuildInfo {
126
+ packageName.set(" dev.sigstore.buildinfo" )
127
+ }
Original file line number Diff line number Diff line change 16
16
package dev .sigstore .http ;
17
17
18
18
import com .google .api .client .util .Preconditions ;
19
+ import dev .sigstore .buildinfo .BuildInfo ;
19
20
import org .immutables .value .Value ;
20
21
21
22
/**
24
25
*/
25
26
@ Value .Immutable
26
27
public abstract class HttpParams {
27
- static final String DEFAULT_USER_AGENT = "sigstoreJavaClient/0.0.1" ;
28
+ static final String DEFAULT_USER_AGENT = "sigstoreJavaClient/" + BuildInfo . VERSION ;
28
29
static final int DEFAULT_TIMEOUT = 60 ;
29
30
static final boolean DEFAULT_ALLOW_INSECURE_CONNECTIONS = false ;
30
31
You can’t perform that action at this time.
0 commit comments