Skip to content

Commit d61d8c4

Browse files
authored
fix(isthmus-cli): use correct version in Isthmus CLI help (#456)
fixes #223 Signed-off-by: Niels Pardon <[email protected]>
1 parent 05c5337 commit d61d8c4

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

isthmus-cli/build.gradle.kts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import java.nio.charset.StandardCharsets
2+
13
plugins {
24
id("java")
35
id("idea")
@@ -49,6 +51,8 @@ dependencies {
4951
runtimeOnly("org.slf4j:slf4j-jdk14:${SLF4J_VERSION}")
5052
}
5153

54+
sourceSets { main { java.srcDir("build/generated/sources/version/") } }
55+
5256
val initializeAtBuildTime =
5357
listOf(
5458
"com.google.common.base.Platform",
@@ -143,3 +147,30 @@ graal {
143147
option("--features=io.substrait.isthmus.cli.RegisterAtRuntime")
144148
option("-J--enable-preview")
145149
}
150+
151+
tasks.register("writeIsthmusVersion") {
152+
doLast {
153+
val isthmusVersionClass =
154+
layout.buildDirectory
155+
.file("generated/sources/version/io/substrait/isthmus/cli/IsthmusCliVersion.java")
156+
.get()
157+
.getAsFile()
158+
isthmusVersionClass.getParentFile().mkdirs()
159+
160+
isthmusVersionClass.printWriter(StandardCharsets.UTF_8).use {
161+
it.println("package io.substrait.isthmus.cli;\n")
162+
it.println("import io.substrait.SubstraitVersion;")
163+
it.println("import picocli.CommandLine.IVersionProvider;\n")
164+
it.println("public class IsthmusCliVersion implements IVersionProvider {")
165+
it.println(" public String[] getVersion() throws Exception {")
166+
it.println(" return new String[] {")
167+
it.println(" \"\${COMMAND-NAME} version " + project.version + "\",")
168+
it.println(" \"Substrait version \" + SubstraitVersion.VERSION,")
169+
it.println("};")
170+
it.println(" }")
171+
it.println("}")
172+
}
173+
}
174+
}
175+
176+
tasks.named("compileJava") { dependsOn("writeIsthmusVersion") }

isthmus-cli/src/main/java/io/substrait/isthmus/cli/IsthmusEntryPoint.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package io.substrait.isthmus.cli;
22

3-
import static picocli.CommandLine.Command;
4-
import static picocli.CommandLine.Option;
5-
import static picocli.CommandLine.Parameters;
6-
73
import com.google.common.annotations.VisibleForTesting;
84
import com.google.protobuf.Message;
95
import com.google.protobuf.TextFormat;
@@ -22,10 +18,13 @@
2218
import org.apache.calcite.avatica.util.Casing;
2319
import org.apache.calcite.prepare.Prepare;
2420
import picocli.CommandLine;
21+
import picocli.CommandLine.Command;
22+
import picocli.CommandLine.Option;
23+
import picocli.CommandLine.Parameters;
2524

2625
@Command(
2726
name = "isthmus",
28-
version = "isthmus 0.1",
27+
versionProvider = io.substrait.isthmus.cli.IsthmusCliVersion.class,
2928
description = "Convert SQL Queries and SQL Expressions to Substrait",
3029
mixinStandardHelpOptions = true)
3130
public class IsthmusEntryPoint implements Callable<Integer> {

0 commit comments

Comments
 (0)