< prev index next >
test/lib/testlibrary/java/util/jar/CreateMultiReleaseTestJars.java
Print this page
rev 15578 : 8165723: JarFile::isMultiRelease() method returns false when it should return true
Reviewed-by: alanb
*** 86,134 ****
jb.addEntry("version/Version.class", rootClasses.get("version.Version"));
jb.build();
}
public void buildMultiReleaseJar() throws IOException {
! buildCustomMultiReleaseJar("multi-release.jar", "true");
}
! public void buildCustomMultiReleaseJar(String filename, String multiReleaseValue) throws IOException {
JarBuilder jb = new JarBuilder(filename);
jb.addAttribute("Multi-Release", multiReleaseValue);
! jb.addEntry("README", readme8.getBytes());
! jb.addEntry("version/Main.java", main.getBytes());
! jb.addEntry("version/Main.class", rootClasses.get("version.Main"));
! jb.addEntry("version/Version.java", java8.getBytes());
! jb.addEntry("version/Version.class", rootClasses.get("version.Version"));
! jb.addEntry("META-INF/versions/9/README", readme9.getBytes());
! jb.addEntry("META-INF/versions/9/version/Version.java", java9.getBytes());
! jb.addEntry("META-INF/versions/9/version/PackagePrivate.java", ppjava9.getBytes());
! jb.addEntry("META-INF/versions/9/version/Version.class", version9Classes.get("version.Version"));
! jb.addEntry("META-INF/versions/9/version/PackagePrivate.class", version9Classes.get("version.PackagePrivate"));
! jb.addEntry("META-INF/versions/10/README", readme10.getBytes());
! jb.addEntry("META-INF/versions/10/version/Version.java", java10.getBytes());
! jb.addEntry("META-INF/versions/10/version/Version.class", version10Classes.get("version.Version"));
jb.build();
}
! public void buildShortMultiReleaseJar() throws IOException {
! JarBuilder jb = new JarBuilder("short-multi-release.jar");
! jb.addAttribute("Multi-Release", "true");
jb.addEntry("README", readme8.getBytes());
jb.addEntry("version/Main.java", main.getBytes());
jb.addEntry("version/Main.class", rootClasses.get("version.Main"));
jb.addEntry("version/Version.java", java8.getBytes());
jb.addEntry("version/Version.class", rootClasses.get("version.Version"));
jb.addEntry("META-INF/versions/9/README", readme9.getBytes());
jb.addEntry("META-INF/versions/9/version/Version.java", java9.getBytes());
jb.addEntry("META-INF/versions/9/version/PackagePrivate.java", ppjava9.getBytes());
! // no entry for META-INF/versions/9/version/Version.class
jb.addEntry("META-INF/versions/9/version/PackagePrivate.class", version9Classes.get("version.PackagePrivate"));
jb.addEntry("META-INF/versions/10/README", readme10.getBytes());
jb.addEntry("META-INF/versions/10/version/Version.java", java10.getBytes());
jb.addEntry("META-INF/versions/10/version/Version.class", version10Classes.get("version.Version"));
- jb.build();
}
public void buildSignedMultiReleaseJar() throws Exception {
String testsrc = System.getProperty("test.src",".");
String testdir = findTestDir(testsrc);
--- 86,130 ----
jb.addEntry("version/Version.class", rootClasses.get("version.Version"));
jb.build();
}
public void buildMultiReleaseJar() throws IOException {
! JarBuilder jb = customMultiReleaseJar("multi-release.jar", "true");
! addEntries(jb);
! jb.build();
}
! private JarBuilder customMultiReleaseJar(String filename, String multiReleaseValue)
! throws IOException {
JarBuilder jb = new JarBuilder(filename);
jb.addAttribute("Multi-Release", multiReleaseValue);
! return jb;
! }
!
! public void buildCustomMultiReleaseJar(String filename, String multiReleaseValue,
! Map<String, String> extraAttributes) throws IOException {
! JarBuilder jb = new JarBuilder(filename);
! extraAttributes.entrySet()
! .forEach(entry -> jb.addAttribute(entry.getKey(), entry.getValue()));
! jb.addAttribute("Multi-Release", multiReleaseValue);
jb.build();
}
! private void addEntries(JarBuilder jb) {
jb.addEntry("README", readme8.getBytes());
jb.addEntry("version/Main.java", main.getBytes());
jb.addEntry("version/Main.class", rootClasses.get("version.Main"));
jb.addEntry("version/Version.java", java8.getBytes());
jb.addEntry("version/Version.class", rootClasses.get("version.Version"));
jb.addEntry("META-INF/versions/9/README", readme9.getBytes());
jb.addEntry("META-INF/versions/9/version/Version.java", java9.getBytes());
jb.addEntry("META-INF/versions/9/version/PackagePrivate.java", ppjava9.getBytes());
! jb.addEntry("META-INF/versions/9/version/Version.class", version9Classes.get("version.Version"));
jb.addEntry("META-INF/versions/9/version/PackagePrivate.class", version9Classes.get("version.PackagePrivate"));
jb.addEntry("META-INF/versions/10/README", readme10.getBytes());
jb.addEntry("META-INF/versions/10/version/Version.java", java10.getBytes());
jb.addEntry("META-INF/versions/10/version/Version.class", version10Classes.get("version.Version"));
}
public void buildSignedMultiReleaseJar() throws Exception {
String testsrc = System.getProperty("test.src",".");
String testdir = findTestDir(testsrc);
< prev index next >