Commit Graph

29 Commits (26cfbe04b2565b133acb8ac7920c428f2c56a9e9)

Author SHA1 Message Date
Andy Wilkinson 36c1c051b8 Merge branch '2.1.x' 6 years ago
Andy Wilkinson e23f72c8b0 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 9fbd38ab3c Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 43c9a789ac Merge branch '2.1.x' 6 years ago
Robert Thornton cb6362df82 Use kotlin_module not kotlin-module to identify Kotlin module metadata
See gh-16004
6 years ago
Andy Wilkinson 0adea5a905 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 948bafa4d8 Repackage kotlin-module metadata beneath BOOT-INF/classes
Closes gh-15890
6 years ago
Andy Wilkinson 342bced125 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 2650a07dc9 Leave module-info.class in root of archive when repackaging
Closes gh-15810
6 years ago
Andy Wilkinson 61d04db0d7 Minimize and centralize assumptions about build output
Closes gh-15471
6 years ago
Phillip Webb d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
6 years ago
Andy Wilkinson 9eb5c9bd18 Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 814e90805e Merge branch '1.5.x' into 2.0.x 7 years ago
Johnny Lim 3dd2f5bb05 Polish
See gh-13148
7 years ago
dreis2211 e6a23fa3ff Remove unnecessary semicolons
Closes gh-13144
7 years ago
Andy Wilkinson d9d7499ae6 Merge branch '1.5.x' into 2.0.x 7 years ago
Johnny Lim 75e591e76e Polish
Closes gh-13130
7 years ago
Andy Wilkinson 6d16c5ff6e Omit libraries with null destination when repackaging
Closes gh-12437
7 years ago
Phillip Webb 29c3be3590 Polish 7 years ago
Johnny Lim d441a8a89a Polish
Closes gh-12205
7 years ago
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
7 years ago
Andy Wilkinson 1d2b85b2b8 Ensure that TestJarFile uses insertion order for jar's entries
Previously, the order of the entries in a TestJarFile was determined
by the underlying file system rather than by the order in which
they were added. This could lead to unpredicatable ordering and
failures in tests that verify archive entry ordering.

This commit updates TestJarFile to add entries to the archive in
insertion order.

See gh-11695
See gh-11696
7 years ago
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
Andy Wilkinson 54c0cf513b Polish 7 years ago
Madhura Bhave 8102dc78cb Remove redundant throws declarations 7 years ago
Stephane Nicoll 23218add90 Polish 7 years ago
Stephane Nicoll a688613fb4 Merge branch '1.5.x' 7 years ago
Phillip Webb 748e0779b6 Update copyright year for changed files 7 years ago
Phillip Webb 0ba4830b4f Relocate projects to spring-boot-project
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`
  - `spring-boot-docs`

See gh-9316
7 years ago