src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java
changeset 50603 95c0644a1c47
parent 48543 7067fe4e054e
child 52902 e3398b2e1ab0
equal deleted inserted replaced
50602:ed8de3d0cd28 50603:95c0644a1c47
    54 import java.util.zip.GZIPInputStream;
    54 import java.util.zip.GZIPInputStream;
    55 import java.util.zip.GZIPOutputStream;
    55 import java.util.zip.GZIPOutputStream;
    56 
    56 
    57 /** Command line interface for Pack200.
    57 /** Command line interface for Pack200.
    58  */
    58  */
       
    59 
       
    60 @SuppressWarnings({"removal"})
    59 class Driver {
    61 class Driver {
    60         private static final ResourceBundle RESOURCE =
    62     private static final ResourceBundle RESOURCE =
    61                 ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource");
    63         ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource");
       
    64     private static boolean suppressDeprecateMsg = false;
    62 
    65 
    63     public static void main(String[] ava) throws IOException {
    66     public static void main(String[] ava) throws IOException {
    64         List<String> av = new ArrayList<>(Arrays.asList(ava));
    67         List<String> av = new ArrayList<>(Arrays.asList(ava));
    65 
    68 
    66         boolean doPack   = true;
    69         boolean doPack   = true;
    67         boolean doUnpack = false;
    70         boolean doUnpack = false;
    68         boolean doRepack = false;
    71         boolean doRepack = false;
    69         boolean doZip = true;
    72         boolean doZip = true;
       
    73         suppressDeprecateMsg = av.remove("-XDsuppress-tool-removal-message");
    70         String logFile = null;
    74         String logFile = null;
    71         String verboseProp = Utils.DEBUG_VERBOSE;
    75         String verboseProp = Utils.DEBUG_VERBOSE;
    72 
    76 
    73         {
    77         {
    74             // Non-standard, undocumented "--unpack" switch enables unpack mode.
    78             // Non-standard, undocumented "--unpack" switch enables unpack mode.
    81                 av.remove(0);
    85                 av.remove(0);
    82                 doPack = false;
    86                 doPack = false;
    83                 doUnpack = true;
    87                 doUnpack = true;
    84                     break;
    88                     break;
    85             }
    89             }
       
    90         }
       
    91 
       
    92         if (!suppressDeprecateMsg) {
       
    93             printDeprecateWarning(doPack, System.out);
    86         }
    94         }
    87 
    95 
    88         // Collect engine properties here:
    96         // Collect engine properties here:
    89         Map<String,String> engProps = new HashMap<>();
    97         Map<String,String> engProps = new HashMap<>();
    90         engProps.put(verboseProp, System.getProperty(verboseProp));
    98         engProps.put(verboseProp, System.getProperty(verboseProp));
   393 
   401 
   394         return tmpfile.toFile();
   402         return tmpfile.toFile();
   395     }
   403     }
   396 
   404 
   397     private static
   405     private static
       
   406     void printDeprecateWarning(boolean doPack, PrintStream out) {
       
   407         String prog = doPack ? "pack200" : "unpack200";
       
   408         out.println(MessageFormat.format(RESOURCE.getString(DriverResource.DEPRECATED), prog));
       
   409     }
       
   410 
       
   411     private static
   398     void printUsage(boolean doPack, boolean full, PrintStream out) {
   412     void printUsage(boolean doPack, boolean full, PrintStream out) {
   399         String prog = doPack ? "pack200" : "unpack200";
   413         String prog = doPack ? "pack200" : "unpack200";
   400         String[] packUsage = (String[])RESOURCE.getObject(DriverResource.PACK_HELP);
   414         String[] packUsage = (String[])RESOURCE.getObject(DriverResource.PACK_HELP);
   401         String[] unpackUsage = (String[])RESOURCE.getObject(DriverResource.UNPACK_HELP);
   415         String[] unpackUsage = (String[])RESOURCE.getObject(DriverResource.UNPACK_HELP);
   402         String[] usage = doPack? packUsage: unpackUsage;
   416         String[] usage = doPack? packUsage: unpackUsage;
   404             out.println(usage[i]);
   418             out.println(usage[i]);
   405             if (!full) {
   419             if (!full) {
   406             out.println(MessageFormat.format(RESOURCE.getString(DriverResource.MORE_INFO), prog));
   420             out.println(MessageFormat.format(RESOURCE.getString(DriverResource.MORE_INFO), prog));
   407                 break;
   421                 break;
   408             }
   422             }
       
   423         }
       
   424         // Print a warning at the end
       
   425         // The full help page is long, the beginning warning could be out of sight
       
   426         if (full && !suppressDeprecateMsg) {
       
   427             printDeprecateWarning(doPack, out);
   409         }
   428         }
   410     }
   429     }
   411 
   430 
   412     private static
   431     private static
   413         String getZipComment(String jarfile) throws IOException {
   432         String getZipComment(String jarfile) throws IOException {