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 {
|