< prev index next >

src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java

Print this page
rev 50498 : 8199871: Deprecate pack200 and unpack200 tools
Reviewed-by:

@@ -54,21 +54,25 @@
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
 /** Command line interface for Pack200.
  */
+
+@SuppressWarnings({"removal"})
 class Driver {
         private static final ResourceBundle RESOURCE =
                 ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource");
+    private static boolean suppressDeprecateMsg = false;
 
     public static void main(String[] ava) throws IOException {
         List<String> av = new ArrayList<>(Arrays.asList(ava));
 
         boolean doPack   = true;
         boolean doUnpack = false;
         boolean doRepack = false;
         boolean doZip = true;
+        suppressDeprecateMsg = av.remove("-XDsuppress-tool-removal-message");
         String logFile = null;
         String verboseProp = Utils.DEBUG_VERBOSE;
 
         {
             // Non-standard, undocumented "--unpack" switch enables unpack mode.

@@ -83,10 +87,14 @@
                 doUnpack = true;
                     break;
             }
         }
 
+        if (!suppressDeprecateMsg) {
+            printDeprecateWarning(doPack, System.out);
+        }
+
         // Collect engine properties here:
         Map<String,String> engProps = new HashMap<>();
         engProps.put(verboseProp, System.getProperty(verboseProp));
 
         String optionMap;

@@ -393,10 +401,16 @@
 
         return tmpfile.toFile();
     }
 
     private static
+    void printDeprecateWarning(boolean doPack, PrintStream out) {
+        String prog = doPack ? "pack200" : "unpack200";
+        out.println(MessageFormat.format(RESOURCE.getString(DriverResource.DEPRECATED), prog));
+    }
+
+    private static
     void printUsage(boolean doPack, boolean full, PrintStream out) {
         String prog = doPack ? "pack200" : "unpack200";
         String[] packUsage = (String[])RESOURCE.getObject(DriverResource.PACK_HELP);
         String[] unpackUsage = (String[])RESOURCE.getObject(DriverResource.UNPACK_HELP);
         String[] usage = doPack? packUsage: unpackUsage;

@@ -405,10 +419,15 @@
             if (!full) {
             out.println(MessageFormat.format(RESOURCE.getString(DriverResource.MORE_INFO), prog));
                 break;
             }
         }
+        // Print a warning at the end
+        // The full help page is long, the beginning warning could be out of sight
+        if (full && !suppressDeprecateMsg) {
+            printDeprecateWarning(doPack, out);
+        }
     }
 
     private static
         String getZipComment(String jarfile) throws IOException {
         byte[] tail = new byte[1000];
< prev index next >