< prev index next >

test/lib/testlibrary/java/util/jar/CreateMultiReleaseTestJars.java

Print this page
rev 16859 : 8176709: JarFileSystem::isMultiReleaseJar is incorrect
Reviewed-by: alanb, sherman, psandoz, mchung


  92         addEntries(jb);
  93         jb.addEntry("META-INF/versions/9/version/Version.class", version9Classes.get("version.Version"));
  94         jb.build();
  95     }
  96 
  97     public void buildShortMultiReleaseJar() throws IOException {
  98         JarBuilder jb = customMultiReleaseJar("short-multi-release.jar", "true");
  99         addEntries(jb);
 100         jb.build();
 101     }
 102 
 103     private JarBuilder customMultiReleaseJar(String filename, String multiReleaseValue)
 104             throws IOException {
 105         JarBuilder jb = new JarBuilder(filename);
 106         jb.addAttribute("Multi-Release", multiReleaseValue);
 107         return jb;
 108     }
 109 
 110     public void buildCustomMultiReleaseJar(String filename, String multiReleaseValue,
 111             Map<String, String> extraAttributes) throws IOException {





 112         JarBuilder jb = new JarBuilder(filename);
 113         extraAttributes.entrySet()
 114                 .forEach(entry -> jb.addAttribute(entry.getKey(), entry.getValue()));



 115         jb.addAttribute("Multi-Release", multiReleaseValue);
 116         jb.build();
 117     }
 118 
 119     private void addEntries(JarBuilder jb) {
 120         jb.addEntry("README", readme8.getBytes());
 121         jb.addEntry("version/Main.java", main.getBytes());
 122         jb.addEntry("version/Main.class", rootClasses.get("version.Main"));
 123         jb.addEntry("version/Version.java", java8.getBytes());
 124         jb.addEntry("version/Version.class", rootClasses.get("version.Version"));
 125         jb.addEntry("META-INF/versions/9/README", readme9.getBytes());
 126         jb.addEntry("META-INF/versions/9/version/Version.java", java9.getBytes());
 127         jb.addEntry("META-INF/versions/9/version/PackagePrivate.java", ppjava9.getBytes());
 128         jb.addEntry("META-INF/versions/9/version/PackagePrivate.class", version9Classes.get("version.PackagePrivate"));
 129         jb.addEntry("META-INF/versions/10/README", readme10.getBytes());
 130         jb.addEntry("META-INF/versions/10/version/Version.java", java10.getBytes());
 131         jb.addEntry("META-INF/versions/10/version/Version.class", version10Classes.get("version.Version"));
 132     }
 133 
 134     public void buildSignedMultiReleaseJar() throws Exception {




  92         addEntries(jb);
  93         jb.addEntry("META-INF/versions/9/version/Version.class", version9Classes.get("version.Version"));
  94         jb.build();
  95     }
  96 
  97     public void buildShortMultiReleaseJar() throws IOException {
  98         JarBuilder jb = customMultiReleaseJar("short-multi-release.jar", "true");
  99         addEntries(jb);
 100         jb.build();
 101     }
 102 
 103     private JarBuilder customMultiReleaseJar(String filename, String multiReleaseValue)
 104             throws IOException {
 105         JarBuilder jb = new JarBuilder(filename);
 106         jb.addAttribute("Multi-Release", multiReleaseValue);
 107         return jb;
 108     }
 109 
 110     public void buildCustomMultiReleaseJar(String filename, String multiReleaseValue,
 111             Map<String, String> extraAttributes) throws IOException {
 112         buildCustomMultiReleaseJar(filename, multiReleaseValue, extraAttributes, false);
 113     }
 114 
 115     public void buildCustomMultiReleaseJar(String filename, String multiReleaseValue,
 116             Map<String, String> extraAttributes, boolean addEntries) throws IOException {
 117         JarBuilder jb = new JarBuilder(filename);
 118         extraAttributes.entrySet()
 119                 .forEach(entry -> jb.addAttribute(entry.getKey(), entry.getValue()));
 120         if (addEntries) {
 121             addEntries(jb);
 122         }
 123         jb.addAttribute("Multi-Release", multiReleaseValue);
 124         jb.build();
 125     }
 126 
 127     private void addEntries(JarBuilder jb) {
 128         jb.addEntry("README", readme8.getBytes());
 129         jb.addEntry("version/Main.java", main.getBytes());
 130         jb.addEntry("version/Main.class", rootClasses.get("version.Main"));
 131         jb.addEntry("version/Version.java", java8.getBytes());
 132         jb.addEntry("version/Version.class", rootClasses.get("version.Version"));
 133         jb.addEntry("META-INF/versions/9/README", readme9.getBytes());
 134         jb.addEntry("META-INF/versions/9/version/Version.java", java9.getBytes());
 135         jb.addEntry("META-INF/versions/9/version/PackagePrivate.java", ppjava9.getBytes());
 136         jb.addEntry("META-INF/versions/9/version/PackagePrivate.class", version9Classes.get("version.PackagePrivate"));
 137         jb.addEntry("META-INF/versions/10/README", readme10.getBytes());
 138         jb.addEntry("META-INF/versions/10/version/Version.java", java10.getBytes());
 139         jb.addEntry("META-INF/versions/10/version/Version.class", version10Classes.get("version.Version"));
 140     }
 141 
 142     public void buildSignedMultiReleaseJar() throws Exception {


< prev index next >