You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spring-boot/spring-boot-project
Andy Wilkinson b2dad7f1c4 Rework entry ordering of repackaged archives
Previously, the Repackager would write entries in the following
order:

- Libraries that require unpacking
- Existing entries
    - Application classes
    - WEB-INF/lib jars in a war
- Libraries that do not require unpacking
- Loader classes

Libraries that require unpacking were written before existing entries
so that, when repackaging a war, an entry in WEB-INF/lib would not
get in first and prevent a library with same location from being
unpacked. However, this had the unwanted side-effect of changing
the classpath order when an entry requires unpacking.

This commit reworks the handling of existing entries and libraries
that require unpacking so that existing entries can be written first
while also marking any that match a library that requires unpacking
as requiring unpacking.

Additionally, loader classes are now written first. They are the
first classes in the jar that will be used so it seems to make sense
for them to appear first. This aligns Maven-based repackaging
with the Gradle plugin's behaviour and with the structure documented
in the reference documentation's "The Executable Jar Format" appendix.

The net result of the changes described above is that entries are
now written in the following order:

- Loader classes
- Existing entries
    - Application classes
    - WEB-INF/lib jars in a war marked for unpacking if needed
- Libraries

Closes gh-11695
Closes gh-11696
7 years ago
..
spring-boot Polish 7 years ago
spring-boot-actuator Polish 7 years ago
spring-boot-actuator-autoconfigure Fix CompositeMeterRegistryPostProcessor autowire 7 years ago
spring-boot-autoconfigure Remove obsolete comment 7 years ago
spring-boot-cli Merge branch '1.5.x' 7 years ago
spring-boot-dependencies Start building against Spring Security 5.0.2 snapshots 7 years ago
spring-boot-devtools Use InvocationOnMock.getArgument() where possible 7 years ago
spring-boot-docs Polish 7 years ago
spring-boot-parent Upgrade to Maven Checkstyle Plugin 3.0.0 7 years ago
spring-boot-properties-migrator Restore "Reason: " prefix 7 years ago
spring-boot-starters Exclude tomcat-annotations-api and use javax.annotations-api instead 7 years ago
spring-boot-test Replace casted Mockito.any() calls 7 years ago
spring-boot-test-autoconfigure Polish contribution 7 years ago
spring-boot-tools Rework entry ordering of repackaged archives 7 years ago
pom.xml Rename spring-boot-deprecated-properties-support 7 years ago