Skip to content

Commit 6c645c3

Browse files
authored
Merge pull request #17 from p-schneider/remove-jar-signature
Exlude signatures from signed jars
2 parents df7c41a + 577ff14 commit 6c645c3

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/main/java/de/jjohannes/gradle/javamodules/ExtraModuleInfoTransform.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
abstract public class ExtraModuleInfoTransform implements TransformAction<ExtraModuleInfoTransform.Parameter> {
4848

4949
private static final Pattern MODULE_INFO_CLASS_MRJAR_PATH = Pattern.compile("META-INF/versions/\\d+/module-info.class");
50+
private static final Pattern JAR_SIGNATURE_PATH = Pattern.compile("^META-INF/[^/]+\\.(SF|RSA|DSA|sf|rsa|dsa)$");
5051
private static final String SERVICES_PREFIX = "META-INF/services/";
5152

5253
public interface Parameter extends TransformParameters {
@@ -178,9 +179,11 @@ private static Map<String, String[]> copyAndExtractProviders(JarInputStream inpu
178179
if (entryName.startsWith(SERVICES_PREFIX) && !entryName.equals(SERVICES_PREFIX)) {
179180
providers.put(entryName.substring(SERVICES_PREFIX.length()), extractImplementations(content));
180181
}
181-
outputStream.putNextEntry(jarEntry);
182-
outputStream.write(content);
183-
outputStream.closeEntry();
182+
if (!JAR_SIGNATURE_PATH.matcher(jarEntry.getName()).matches()) {
183+
outputStream.putNextEntry(jarEntry);
184+
outputStream.write(content);
185+
outputStream.closeEntry();
186+
}
184187
jarEntry = inputStream.getNextJarEntry();
185188
}
186189
return providers;

0 commit comments

Comments
 (0)