Merge branch '2.5.x' into 2.6.x
Closes gh-30790
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -452,7 +452,8 @@ public abstract class Packager {
|
||||
private boolean isTransformable(JarArchiveEntry entry) {
|
||||
String name = entry.getName();
|
||||
if (name.startsWith("META-INF/")) {
|
||||
return name.equals("META-INF/aop.xml") || name.endsWith(".kotlin_module");
|
||||
return name.equals("META-INF/aop.xml") || name.endsWith(".kotlin_module")
|
||||
|| name.startsWith("META-INF/services/");
|
||||
}
|
||||
return !name.startsWith("BOOT-INF/") && !name.equals("module-info.class");
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -484,6 +484,18 @@ abstract class AbstractPackagerTests<P extends Packager> {
|
||||
assertThat(getPackagedEntry("BOOT-INF/classes/META-INF/aop.xml")).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void metaInfServicesFilesAreMovedBeneathBootInfClassesWhenRepackaged() throws Exception {
|
||||
this.testJarFile.addClass("A.class", ClassWithMainMethod.class);
|
||||
File service = new File(this.tempDir, "com.example.Service");
|
||||
service.createNewFile();
|
||||
this.testJarFile.addFile("META-INF/services/com.example.Service", service);
|
||||
P packager = createPackager();
|
||||
execute(packager, NO_LIBRARIES);
|
||||
assertThat(getPackagedEntry("META-INF/services/com.example.Service")).isNull();
|
||||
assertThat(getPackagedEntry("BOOT-INF/classes/META-INF/services/com.example.Service")).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void allEntriesUseUnixPlatformAndUtf8NameEncoding() throws IOException {
|
||||
this.testJarFile.addClass("A.class", ClassWithMainMethod.class);
|
||||
|
||||
Reference in New Issue
Block a user