From 0ec190c00a1bb3dd8fd088529ba7871f9a94d44b Mon Sep 17 00:00:00 2001
From: Nadav Har'El <nyh@cloudius-systems.com>
Date: Sun, 29 Sep 2013 15:20:41 +0300
Subject: [PATCH] Add "-version" option to RunJava

Add "-version" option to RunJava, and therefore to java.so and the "java"
CLI command.

java -version now shows:

  java version "1.7.0_25"
  OpenJDK Runtime Environment (1.7.0_25-mockbuild_2013_07_27_13_36-b00)
  OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

I can't explain why the version on the second line is different than what
"java -version" on Fedora 18 shows for the same libjvm.so:

  java version "1.7.0_25"
  OpenJDK Runtime Environment (fedora-2.3.10.4.fc18-x86_64)
  OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
---
 java/RunJava.java | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/java/RunJava.java b/java/RunJava.java
index e19a11574..957d48754 100644
--- a/java/RunJava.java
+++ b/java/RunJava.java
@@ -56,6 +56,16 @@ public class RunJava {
                 String key = args[i].substring(2, eq);
                 String value = args[i].substring(eq+1, args[i].length());
                 System.setProperty(key,  value);
+            } else if (args[i].equals("-version")) {
+                System.err.println("java version \"" +
+                        System.getProperty("java.version") + "\"");
+                System.err.println(System.getProperty("java.runtime.name") +
+                        " (" + System.getProperty("java.runtime.version") +
+                        ")");
+                System.err.println(System.getProperty("java.vm.name") +
+                        " (build " + System.getProperty("java.vm.version") +
+                        ", " + System.getProperty("java.vm.info") + ")");
+                return;
             } else if (!args[i].startsWith("-")) {
                 runClass(args[i], java.util.Arrays.copyOfRange(args,  i+1,  args.length), classpath);
                 return;
-- 
GitLab