Commit Graph

210 Commits (32397d7bfbb093339d32c1620625cd56f1cfb4c5)

Author SHA1 Message Date
Andy Wilkinson 9c9fbf400e Upgrade to Spring Java Format 0.0.29
Closes gh-28205
3 years ago
Andy Wilkinson 5957dfeea4 Don't include binary jars in loader-tools source jar
Closes gh-28113
3 years ago
Phillip Webb a76e5c043e Update copyright year of changed files 3 years ago
Phillip Webb 63ed921554 Restore simple Library constructor
See gh-15808
3 years ago
Madhura Bhave b790c82732 Apply exclusions to existing war entries
Update `RepackageMojo` and supporting classes so that `exclusions`
on the repackage goal apply to both the contributed libraries and any
existing jar entries already contained in the original war.

Prior to this commit, exclusions would apply to contributed jars (for
example, those in `WEB-INF/lib-provided`) but not jars that were
packaged directly into `WEB-INF/lib` by the war plugin

Fixes gh-15808

Co-authored-by: Phillip Webb <pwebb@vmware.com>
3 years ago
Andy Wilkinson 563b8a8cec Merge branch '2.3.x' into 2.4.x
See gh-25836
4 years ago
Andy Wilkinson e94f8bba62 Ensure that upstream jars have been built
See gh-25835
4 years ago
Andy Wilkinson 38a4f135a9 Merge branch '2.3.x' into 2.4.x
Closes gh-25836
4 years ago
Andy Wilkinson ca9a619259 Defer processing of zipTree source until execution time
Closes gh-25835
4 years ago
Phillip Webb a28a3ae090 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 9c8a97809d Consistent use of @deprecated since
Restore the patch version number for consistency with `@since`
tags.

See gh-25808
4 years ago
Phillip Webb 363f5829d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25825
4 years ago
Phillip Webb 26dd1b9a26 Update deprecations with for removal targets
Update all deprecation tags to include a removal target.

Closes gh-25808
4 years ago
Scott Frederick 4015d70f00 Merge branch '2.3.x' into 2.4.x
Closes gh-25789
4 years ago
Scott Frederick 3ad5f1013a Fix Maven image building with classifiers
Fixes gh-25736
4 years ago
Phillip Webb 11a94ee6f0 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 82127fdaa3 Update copyright year of changed files 4 years ago
Scott Frederick 6f860b441b Merge branch '2.3.x' into 2.4.x
Closes gh-25700
4 years ago
Scott Frederick e4fa39df01 Fail fast when finalName is misconfigured
When the `finalName` parameter is incorrectly set in the Spring Boot
Maven plugin configuration instead of in the `build` configuration, the
repackaged and original archive files are not named as expected. Prior
to this commit, the image building goal would detect this error
condition and throw an exception late in the process of creating the
build container, leaving the container in an unstable state. This
commit changes the image building goal to detect this condition early,
before attempting to create the container.

Fixes gh-25590
4 years ago
Andy Wilkinson ed4e419b0c Revert "Merge branch '2.3.x' into 2.4.x"
This reverts commit eaa510872a, reversing
changes made to 3e69522e2d.

See gh-25700
4 years ago
Andy Wilkinson ae2ff7849b Revert "Fail fast when finalName is misconfigured"
This reverts commit 263b7c20e4.

See gh-25590
4 years ago
Scott Frederick eaa510872a Merge branch '2.3.x' into 2.4.x
Closes gh-25700
4 years ago
Scott Frederick 263b7c20e4 Fail fast when finalName is misconfigured
When the `finalName` parameter is incorrectly set in the Spring Boot
Maven plugin configuration instead of in the `build` configuration, the
repackaged and original archive files are not named as expected. Prior
to this commit, the image building goal would detect this error
condition and throw an exception late in the process of creating the
build container, leaving the container in an unstable state. This
commit changes the image building goal to detect this condition early,
before attempting to create the container.

Fixes gh-25590
4 years ago
dreis2211 1ccd8dae8a Allow the project to be built with Java 16
See gh-25171
4 years ago
Stephane Nicoll 9218965104 Merge branch '2.3.x' into 2.4.x
Closes gh-25140
4 years ago
dreis2211 4937547b8a Fix build deprecation warnings about duplicate jar entries
See gh-25116
4 years ago
Andy Wilkinson 788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
4 years ago
Andy Wilkinson 67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
4 years ago
Phillip Webb 257608a3a3 Merge branch '2.3.x' into 2.4.x
Closes gh-25076
4 years ago
Phillip Webb 939b5dfc26 Add junit-platform-launcher dependency
Update `build.gradle` files to ensure that `junit-platform-launcher` is
a `testRuntimeOnly` dependency. This ensures that tests can be run from
Eclipse.

Closes gh-25074
4 years ago
Andy Wilkinson 9e389c8376 Merge branch '2.3.x' into 2.4.x
Closes gh-24710
4 years ago
Andy Wilkinson 5ad4d627fd Fix classpath index so entries match those expected by the launcher
This reverts commit ad164269e9 and adds
some additional tests.

Fixes gh-24192
4 years ago
Phillip Webb 4fba7d0c60 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 29300530c6 Polish 4 years ago
Phillip Webb da753300a1 Merge branch '2.3.x'
Closes gh-23819
4 years ago
Phillip Webb f84323fe3e Prevent duplicate jar entries from being written
Update the `AbstractJarWriter` so that it can directly build the layer
index as entries are written. Prior to this commit, a layer tracking
was handled by a decorator class which was broken because it didn't
override enough methods. Since `AbstractJarWriter` has quite a complex
API, it seems sensible to have it handle the layer index directly,
removing the need for a decorator entirely.

Fixes gh-23801
4 years ago
Andy Wilkinson 84f96033c5 Put project deps in app layer and make customization easier
Previously, when building a layered jar with Gradle, project
dependencies were treated the same as any other dependency, being
included in the dependencies or snapshot dependencies layer based
on their version.

This commit updates the default layering when using Gradle to include
project dependencies in the application layer by default. The DSL has
also been updated to allow their layer to be customized using new
includeProjectDependencies() and excludeProjectDependencies() methods
rather than relying on including and excluding them via a
group:artifact:version pattern.

Closes gh-23431
4 years ago
Johnny Lim e48af31ced Polish
See gh-23081
4 years ago
Phillip Webb 899e8e189b Merge branch '2.3.x'
Closes gh-23001
4 years ago
Phillip Webb f7452b9383 Ensure LayoutFactory is not passed an empty file
Update `Repackager` to ensure that `getLayout` is called before we
backup the source file. This restores earlier behavior that some
custom `ModuleFactory` implementations were relying on.

Closes gh-22995
4 years ago
Madhura Bhave 41f5ba9077 Switch layering on by default
Closes gh-20983
4 years ago
dreis2211 e49e2dfff1 Use Supplier variants of Assert methods
See gh-22699
4 years ago
Andy Wilkinson 972aab18f9 Merge branch '2.3.x'
Closes gh-22328
4 years ago
dreis2211 021d9b59cb Cleanup temporary files after Maven plugin execution
See gh-22112
4 years ago
Andy Wilkinson 47874d8c6a Treat warnings as errors when compiling
See gh-21271
4 years ago
Andy Wilkinson 0de466e06e Require dependency on s-b-dependencies to use its constraints
Previously, Spring Boot's modules published Gradle Module Metadata
(GMM) the declared a platform dependency on spring-boot-dependencies.
This provided versions for each module's own dependencies but also had
they unwanted side-effect of pulling in spring-boot-dependencies
constraints which would influence the version of other dependencies
declared in the same configuration. This was undesirable as users
should be able to opt in to this level of dependency management, either
by using the dependency management plugin or by using Gradle's built-in
support via a platform dependency on spring-boot-dependencies.

This commit reworks how Spring Boot's build uses
spring-boot-dependencies and spring-boot-parent to provide its own
dependency management. Configurations that aren't seen by consumers are
configured to extend a dependencyManagement configuration that has an
enforced platform dependency on spring-boot-parent. This enforces
spring-boot-parent's version constraints on Spring Boot's build without
making them visible to consumers. To ensure that the versions that
Spring Boot has been built against are visible to consumers, the
Maven publication that produces pom files and GMM for the published
modules is configured to use the resolved versions from the module's
runtime classpath.

Fixes gh-21911
4 years ago
Andy Wilkinson c7a5b72565 Improve compatibility by replacing use of seq with a native for-loop
Closes gh-21068
5 years ago
Phillip Webb ad1248e4ec Replace "folder" with "directory"
Consistently use the term "directory" instead of "folder"

Closes gh-21218
5 years ago
Johnny Lim 29717423a3 Remove this keyword on member method invocations
See gh-21007
5 years ago
Scott Frederick fa186aa15b Preserve timestamps on loader directories
Prior to this commit, when the Maven plugin copied
spring-boot-loader.jar to a repackaged archive the timestamps of class
files were preserved but the timestamps of directories were not
preserved. This resulted in the directories having a current timestamp.

This commit copies the directory timestamps from spring-boot-loader.jar
to the repackaged archive and adds tests to verify the proper
behavior.

See gh-20927
5 years ago