Merge branch 'develop' into releases/Release_2_11_2_Branch
[jalview.git] / utils / getJavaVersion.java
index c751a9a..8e09423 100644 (file)
@@ -1,50 +1,59 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
-import java.io.*;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.Hashtable;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 
 public class getJavaVersion
 {
-/**
- * Takes a set of Jars and/or class files as arguments. Reports the java version for the classes
- */
+  /**
+   * Takes a set of Jars and/or class files as arguments. Reports the java
+   * version for the classes
+   */
 
   public static void main(String[] args) throws IOException
   {
-    Hashtable observed=new Hashtable();
+    Hashtable observed = new Hashtable();
     for (int i = 0; i < args.length; i++)
-      {
-        checkClassVersion(args[i], observed);
-      }
+    {
+      checkClassVersion(args[i], observed);
+    }
     printVersions(observed, System.out);
   }
-  public static void printVersions(Hashtable observed, java.io.PrintStream outs)
+
+  public static void printVersions(Hashtable observed,
+          java.io.PrintStream outs)
   {
-    if (observed.size()>0)
+    if (observed.size() > 0)
     {
-      int space=0;
-      String key=null;
-      for (Enumeration keys = observed.keys(); keys.hasMoreElements(); ) {
+      int space = 0;
+      String key = null;
+      for (Enumeration keys = observed.keys(); keys.hasMoreElements();)
+      {
         key = (String) keys.nextElement();
-        if (space++>0)
+        if (space++ > 0)
         {
           outs.print(" ");
         }
@@ -60,13 +69,13 @@ public class getJavaVersion
     String version = checkClassVersion(filename);
     if (version == null)
     {
-//      System.err.println("Reading "+filename+" as  jar:");
+      // System.err.println("Reading "+filename+" as  jar:");
       try
       {
         JarInputStream jis = new JarInputStream(new FileInputStream(
                 filename));
         JarEntry entry;
-        Hashtable perjar=new Hashtable();
+        Hashtable perjar = new Hashtable();
         while ((entry = jis.getNextJarEntry()) != null)
         {
           if (entry != null)
@@ -88,8 +97,8 @@ public class getJavaVersion
             }
           }
         }
-        System.err.println("Jar : "+filename);
-        printVersions(perjar,System.err);
+        System.err.println("Jar : " + filename);
+        printVersions(perjar, System.err);
       } catch (Exception e)
       {
 
@@ -105,12 +114,11 @@ public class getJavaVersion
   {
     if (version != null)
     {
-//      System.err.println("Version is '"+version+"'");
+      // System.err.println("Version is '"+version+"'");
       int[] vrs = (int[]) observed.get(version);
       if (vrs == null)
       {
-        vrs = new int[]
-        { 0 };
+        vrs = new int[] { 0 };
       }
       vrs[0]++;
       observed.put(version, vrs);
@@ -131,22 +139,31 @@ public class getJavaVersion
     if (versions == null)
     {
       versions = new Hashtable();
-      versions.put("45.3", "1.0");
+      versions.put("45.3", "1.0.2");
       versions.put("45.3", "1.1");
       versions.put("46.0", "1.2");
       versions.put("47.0", "1.3");
       versions.put("48.0", "1.4");
       versions.put("49.0", "1.5");
       versions.put("50.0", "1.6");
+      versions.put("51.0", "1.7");
+      versions.put("52.0", "1.8");
+      versions.put("53.0", "9");
+      versions.put("54.0", "10");
+      versions.put("55.0", "11");
+
     }
-    String version = (String) versions.get(major + "."
-            + minor);
+    String version = (String) versions.get(major + "." + minor);
     if (version == null)
     {
       // get nearest known version
       version = (String) versions.get(major + ".0");
     }
-//    System.err.println("Version "+version);
+    // System.err.println("Version "+version);
+    if (version == null)
+    {
+      versions.put(major + "." + minor, "Class v" + major + ".0");
+    }
     return version;
   }
 
@@ -159,7 +176,7 @@ public class getJavaVersion
     }
     int minor = in.readUnsignedShort();
     int major = in.readUnsignedShort();
-//    System.err.println("Version "+major+"."+minor);
+    // System.err.println("Version "+major+"."+minor);
     return parseVersions(minor, major);
   }