--- old/src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java 2018-06-09 00:01:44.000000000 -0700 +++ new/src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java 2018-06-09 00:01:44.000000000 -0700 @@ -56,9 +56,12 @@ /** 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 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 av = new ArrayList<>(Arrays.asList(ava)); @@ -67,6 +70,7 @@ boolean doUnpack = false; boolean doRepack = false; boolean doZip = true; + suppressDeprecateMsg = av.remove("-XDsuppress-tool-removal-message"); String logFile = null; String verboseProp = Utils.DEBUG_VERBOSE; @@ -85,6 +89,10 @@ } } + if (!suppressDeprecateMsg) { + printDeprecateWarning(doPack, System.out); + } + // Collect engine properties here: Map engProps = new HashMap<>(); engProps.put(verboseProp, System.getProperty(verboseProp)); @@ -395,6 +403,12 @@ } 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); @@ -407,6 +421,11 @@ 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