Skip to content

Commit cf154cd

Browse files
sundararajanamcimadamore
authored andcommitted
7903187: jextract should support --version option
Reviewed-by: mcimadamore
1 parent 243478e commit cf154cd

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

src/main/java/org/openjdk/jextract/JextractTool.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
package org.openjdk.jextract;
2727

28+
import org.openjdk.jextract.clang.LibClang;
2829
import org.openjdk.jextract.impl.ClangException;
2930
import org.openjdk.jextract.impl.CommandLine;
3031
import org.openjdk.jextract.impl.IncludeHelper;
@@ -342,6 +343,7 @@ private int run(String[] args) {
342343
parser.accepts("--output", format("help.output"), true);
343344
parser.accepts("--source", format("help.source"), false);
344345
parser.accepts("-t", List.of("--target-package"), format("help.t"), true);
346+
parser.accepts("--version", format("help.version"), false);
345347

346348
OptionSet optionSet;
347349
try {
@@ -351,6 +353,13 @@ private int run(String[] args) {
351353
return OPTION_ERROR;
352354
}
353355

356+
if (optionSet.has("--version")) {
357+
err.printf("%s %s\n", "jextract", System.getProperty("java.version"));
358+
err.printf("%s %s\n", "JDK version", System.getProperty("java.runtime.version"));
359+
err.printf("%s\n", LibClang.version());
360+
return SUCCESS;
361+
}
362+
354363
if (optionSet.has("-h")) {
355364
return printHelp(SUCCESS);
356365
}

src/main/resources/org/openjdk/jextract/impl/resources/Messages.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ help.l=specify a library
4343
help.output=specify the directory to place generated files
4444
help.source=generate java sources
4545
help.t=target package for specified header files
46+
help.version=print version information and exit
4647
help.non.option=header file
4748
jextract.usage=\
4849
Usage: jextract <options> <header file> \n\
@@ -63,4 +64,5 @@ Option Description \n\
6364
-l <library> specify a library name or absolute library path \n\
6465
--output <path> specify the directory to place generated files \n\
6566
--source generate java sources \n\
66-
-t, --target-package <package> target package for specified header files \n
67+
-t, --target-package <package> target package for specified header files \n\
68+
--version print version information and exit \n

test/testng/org/openjdk/jextract/test/toolprovider/JextractToolProviderTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ public void testHelp() {
4444
run("-?").checkSuccess();
4545
}
4646

47+
@Test
48+
public void testVersion() {
49+
run("--version").checkSuccess();
50+
}
51+
4752
// error for non-existent args file
4853
@Test
4954
public void testNonExistentArgsFile() {

0 commit comments

Comments
 (0)