< prev index next >
src/jdk.jartool/share/classes/sun/tools/jar/Main.java
Print this page
rev 50498 : 8199871: Deprecate pack200 and unpack200 tools
Reviewed-by:
@@ -29,50 +29,51 @@
import java.lang.module.Configuration;
import java.lang.module.FindException;
import java.lang.module.InvalidModuleDescriptorException;
import java.lang.module.ModuleDescriptor;
import java.lang.module.ModuleDescriptor.Exports;
-import java.lang.module.ModuleDescriptor.Provides;
import java.lang.module.ModuleDescriptor.Opens;
-import java.lang.module.ModuleDescriptor.Requires;
+import java.lang.module.ModuleDescriptor.Provides;
import java.lang.module.ModuleDescriptor.Version;
import java.lang.module.ModuleFinder;
import java.lang.module.ModuleReader;
import java.lang.module.ModuleReference;
-import java.lang.module.ResolutionException;
import java.lang.module.ResolvedModule;
import java.net.URI;
import java.nio.ByteBuffer;
-import java.nio.file.Path;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
+import java.text.MessageFormat;
import java.util.*;
import java.util.function.Consumer;
-import java.util.function.Supplier;
+import java.util.jar.Attributes;
+import java.util.jar.JarFile;
+import java.util.jar.JarOutputStream;
+import java.util.jar.Manifest;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import java.util.zip.*;
-import java.util.jar.*;
-import java.util.jar.Pack200.*;
-import java.util.jar.Manifest;
-import java.text.MessageFormat;
-
+import java.util.zip.CRC32;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+import java.util.zip.ZipInputStream;
+import java.util.zip.ZipOutputStream;
import jdk.internal.module.Checks;
import jdk.internal.module.ModuleHashes;
import jdk.internal.module.ModuleHashesBuilder;
import jdk.internal.module.ModuleInfo;
import jdk.internal.module.ModuleInfoExtender;
import jdk.internal.module.ModuleResolution;
import jdk.internal.module.ModuleTarget;
import jdk.internal.util.jar.JarIndex;
-import static jdk.internal.util.jar.JarIndex.INDEX_NAME;
+import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
import static java.util.jar.JarFile.MANIFEST_NAME;
import static java.util.stream.Collectors.joining;
-import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
+import static jdk.internal.util.jar.JarIndex.INDEX_NAME;
/**
* This class implements a simple utility for creating files in the JAR
* (Java Archive) file format. The JAR format is based on the ZIP file
* format, with optional meta-information stored in a MANIFEST entry.
@@ -149,10 +150,12 @@
* pflag: preserve/don't strip leading slash and .. component from file name
* dflag: print module descriptor
*/
boolean cflag, uflag, xflag, tflag, vflag, flag0, Mflag, iflag, nflag, pflag, dflag;
+ boolean suppressDeprecateMsg = false;
+
/* To support additional GNU Style informational options */
Consumer<PrintWriter> info;
/* Modular jar related options */
Version moduleVersion;
@@ -236,10 +239,11 @@
private boolean ok;
/**
* Starts main program with the specified arguments.
*/
+ @SuppressWarnings({"removal"})
public synchronized boolean run(String args[]) {
ok = true;
if (!parseArgs(args)) {
return false;
}
@@ -313,15 +317,18 @@
tmpFile = createTemporaryFile(tmpbase, ".jar");
try (OutputStream out = new FileOutputStream(tmpFile)) {
create(new BufferedOutputStream(out, 4096), manifest);
}
if (nflag) {
+ if (!suppressDeprecateMsg) {
+ warn(formatMsg("warn.flag.is.deprecated", "-n"));
+ }
File packFile = createTemporaryFile(tmpbase, ".pack");
try {
- Packer packer = Pack200.newPacker();
+ java.util.jar.Pack200.Packer packer = java.util.jar.Pack200.newPacker();
Map<String, String> p = packer.properties();
- p.put(Packer.EFFORT, "1"); // Minimal effort to conserve CPU
+ p.put(java.util.jar.Pack200.Packer.EFFORT, "1"); // Minimal effort to conserve CPU
try (JarFile jarFile = new JarFile(tmpFile.getCanonicalPath());
OutputStream pack = new FileOutputStream(packFile))
{
packer.pack(jarFile, pack);
}
@@ -330,11 +337,11 @@
}
tmpFile = createTemporaryFile(tmpbase, ".jar");
try (OutputStream out = new FileOutputStream(tmpFile);
JarOutputStream jos = new JarOutputStream(out))
{
- Unpacker unpacker = Pack200.newUnpacker();
+ java.util.jar.Pack200.Unpacker unpacker = java.util.jar.Pack200.newUnpacker();
unpacker.unpack(packFile, jos);
}
} finally {
Files.deleteIfExists(packFile.toPath());
}
< prev index next >