Commit Graph

469 Commits (7afd33589f2d35423049169e4c6e584b7cb1afe5)

Author SHA1 Message Date
Scott Frederick 6b15822cb1 Polish "Add pullPolicy option for image building"
See gh-22736
4 years ago
anshlykov c7449b57ce Add pullPolicy option for image building
This commit adds a pullPolicy option to the configuration of the Maven
plugin spring-boot:build-image goal and the Gradle plugin bootBuildImage
task. The new option gives users control over pulling the builder image
and run image from a remote image registry to the local Docker daemon.

See gh-22736
4 years ago
Andy Wilkinson 969dd35e45 Upgrade to Mockito 3.4.6
Closes gh-22838
4 years ago
Andy Wilkinson e240c180f3 Merge branch '2.3.x'
Closes gh-22831
4 years ago
Andy Wilkinson 181e3b34ba Isolate Maven Plugin's integration tests from repo.spring.io
Previously, the Maven plugin integration tests used a settings.xml file
that defined https://repo.spring.io/snapshot as a repository. This
allowed them to resolve snapshots of the plugin's Spring Framework
dependencies but it had the unfortunate side-effect of also allowing
them to resolve snapshots of other Spring Boot modules from Artifactory
rather than using those currently being built.

This commit replaces the repositories in settings.xml with a Gradle
task that resolves the necessary dependencies and populates a local
repository with the dependencies' jars and pom files. This is achieved
using a ComponentMetadataRule that creates a custom variant of each
dependency that includes its pom file, inspired by the example in
gradle/gradle/#11449. A configuration that extends the
runtimeClasspath configuration and select the custom variant via its
attribute is then used to resolve the jars and pom files of the runtime
classpath such that they can then be used to populate the local
repository.

Closes gh-22828
4 years ago
Scott Frederick f247fec310 Merge branch '2.3.x'
Closes gh-22735
4 years ago
Scott Frederick 21b2dd2740 Allow empty env entries when building an image
Prior to this commit, an entry in the environment map provided to the
build plugin image building goal or task that had a null value would
result in a failure with a message that was difficult to diagnose.

This commit treats env map entries with a null value as an empty
entry to prevent the failure and also make it easier to provide an
explicit empty entry in the Maven XML.

Fixes gh-22703
4 years ago
Madhura Bhave 41f5ba9077 Switch layering on by default
Closes gh-20983
4 years ago
Andy Wilkinson 1a43cd1c8e Merge branch '2.1.x' into 2.2.x
Closes gh-22551
4 years ago
Nelson Osacky 0494007893 Disable extra scans for full profile.
The extra scans were not disabled for the full profile, only the
regular profile.

See gh-22550
4 years ago
Andy Wilkinson f4508b4059 Merge branch '2.1.x' into 2.2.x
Closes gh-22547
4 years ago
Nelson Osacky e41a53cf85 Add Gradle Enterprise Extension
This adds build caching and build scans.

The changes required disabling scans when using the maven invoker
plugin in order to not cause duplicate build scans when invoking other
maven builds. There is also an empty `.mvn` folder in the
spring-boot-starters project to prevent duplicate build scans as well
since there is no way to pass properties to the maven-javadoc-plugin.

The checkstyle plugin was causing a cache miss with the
`propertyExpansion` because it contains an absolute path. The absolute
path is now ignored and instead the files are added as inputs to the
checkstyle plugin. This only enables the local build cache. The remote
cache is not yet enabled.

On my local machine:

./mvnw clean install build times go from about 30 minutes to about 10 minutes.
./mvnw clean install -Pfull build times go from about 60 minutes to about 13 minutes.

See gh-22089
4 years ago
Andy Wilkinson 19ad163486 Merge branch '2.3.x'
Closes gh-22411
4 years ago
Andy Wilkinson accc1f1ca8 Merge branch '2.2.x' into 2.3.x
Closes gh-22410
4 years ago
Andy Wilkinson 5e7917e33a Upgrade to Maven Shade Plugin 3.2.4
Closes gh-22074
4 years ago
Andy Wilkinson 9e08490522 Merge branch 'gh-21271'
Closes gh-21271
4 years ago
Andy Wilkinson c64649a6d9 Enable unchecked compilation warnings
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
Scott Frederick 6119d69679 Add runImage option for image building
This commit adds a runImage property to the Maven plugin build-image
goal and the Gradle bootBuildImage task. The property allows the user
to override the run image reference provided in the builder metadata
with an alternate run image. The runImage property can be specified
in the build file or on the command line.

Fixes gh-21534
4 years ago
Andy Wilkinson 24138c104c Use highlightjs for syntax highlighting in Asciidoctor's HTML output
Closes gh-21701
5 years ago
Scott Frederick 07d842b51d Polish maven build image command line example 5 years ago
Andy Wilkinson ee758fa670 Use HTTPS for license links
This commit updates the MavenPublishingConventions to use HTTPS to
link to the Apache license. The configuration of NoHTTP has also
been reworked so that it will correctly find usch uses of http://
URLs.

Closes gh-21459
5 years ago
Andy Wilkinson a03426af57 Configure the Asciidoctor revnumber in a central location
See gh-20934
5 years ago
Madhura Bhave 376098d080 Set asciidoctor revnumber to null
Closes gh-20934
5 years ago
Scott Frederick 28749e7fbb Update CNB buildpack Java version env variable
Prior to this commit, the build tool plugins set the environment
variable BP_JAVA_VERSION when invoking the CNB builder to set the
version of the JDK/JRE that the builder should use in the created
image.

With CNB API 0.3, the convention changed the name of this environment
variable to BP_JVM_VERSION. This commit updates the build tool
plugins to match the newer convention.

See gh-21273
5 years ago
Scott Frederick 35bc82a693 Use CNB creator all-in-one lifecycle
This commit modifies the buildpack platform invocation logic used by
the build plugins to invoke the single creator lifecycle introduced in
the CNB API 0.3, instead of invoking discrete lifecycle phases
separately. It also removes support for CNB API 0.2.

Fixes gh-21273
5 years ago
Kyle Hoehns fd46002666 Fix typo for includeLayerTools
See gh-21310
5 years ago
Scott Frederick 1c11e163c7 Fix Maven plugin command-line examples
Fixes gh-21078
5 years ago
Scott Frederick f3d717e97a Use paketo-buildpacks/builder as default builder
This commit changes the default builder image from
`cloudfoundry/cnb:bionic-platform-api-0.2` to
`gcr.io/paketo-buildpacks/builder:base-platform-api-0.3`. It also
uses a `paketo-buildpacks/builder` image instead of a
`cloudfoundry/cnb` image to test compatibility with lifecycle v2
and uses paketo naming instead of cloudfoundry when mocking builder
interactions.

Some adjustments to lifecycle phases were also made to align more
closely with the pack CLI.

Fixes gh-21066
5 years ago
Phillip Webb ad1248e4ec Replace "folder" with "directory"
Consistently use the term "directory" instead of "folder"

Closes gh-21218
5 years ago
dreis2211 5eb5bf0a2d Polish
See gh-21009
5 years ago
Stephane Nicoll 1c70b6735a Remove plugin management for exec-maven-plugin
Closes gh-20883
5 years ago
Phillip Webb 3ca896e63f Polish 5 years ago
Scott Frederick a64e26fc44 Polish plugin documentation headings 5 years ago
Phillip Webb 6e7b473fef Polish asciidoc formatting and use sentence case 5 years ago
Phillip Webb 65672a1150 Use a more compact layers.idx format
Update the `layers.idx` format so that it is more compact and can be
parsed by third-parties as YAML.

Closes gh-20860
5 years ago
Scott Frederick 35ff711dfe Document builder configuration for HTTP proxy
This commit adds examples for configuring the default builder to use
an HTTP/HTTPS proxy when building OCI images using the Maven or Gradle
plugin.

Fixes gh-19984
5 years ago
Scott Frederick bb568c5bff Consolidate Maven plugin documentation in plugin reference
This commit moves Maven plugin content from several sections in the
main Spring Boot reference documentation to the plugin-specific
documentation.

Fixes gh-19165
5 years ago
Scott Frederick c119dd2450 Rename plugin PDF reference doc files
This commit renames the PDF documentation files generated for the
build plugins when the distribution archive is created.

See gh-20829
5 years ago
Madhura Bhave f40444e212 Fix typo 5 years ago
Stephane Nicoll c88ef6215f Polish 5 years ago
Phillip Webb 12bc890e75 Update Maven and Gradle layer customization docs
Update the Maven and Gradle documentation following the refined
layer customization changes.

See gh-20526
5 years ago
Madhura Bhave 4e3cdf936f Support flat jar layering with Maven
Update the Maven plugin so that layered jars now use the regular "flat"
format. The layers.idx file now describes which layer each file should
be placed.

See gh-20813

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
5 years ago
Phillip Webb 7bc7d86ad4 Refine layer customization for Maven and Gradle
Simplify layer customization logic for both Maven and Gradle and
refactor some internals of the Gradle plugin.

Both Maven and Gradle now use a simpler customization format that
consists of `application`, `dependencies` and `layer order` sections.
The `application`, `dependencies` configurations support one or more
`into` blocks that are used to select content for a specific layer.

Closes gh-20526
5 years ago
Scott Frederick a01c8452cb Support CNB builder platform API 0.3
This commit adds support for Cloud Native Buildpacks builder platform
API 0.3, which is the latest platform API available currently. Support
for platform API 0.1 has been removed, adopting the policy of the pack
CLI to support the current platform API version and one version prior.

Fixes gh-20757
5 years ago
Scott Frederick bb9e37e119 Use platform API builder image tags
CNB builder images are now being tagged in a manner that indicates
the version of the platform API implemented. This allows Spring Boot
to default to a builder tag that guarantees API compatibility while
allowing for updates to bundled buildpacks.

Fixes gh-20171
5 years ago
Phillip Webb 9795262dc1 Polish 5 years ago
Scott Frederick ac949d7851 Document remote Docker configuration
This commit adds documentation for the configuration required to
use a remote Docker daemon with the `build-image` Maven goal or the
`bootBuildImage` Gradle task.

See gh-20538
5 years ago
Stephane Nicoll 6aa3461611 Version layers configuration xsd
This commit provides a versioned xsd for the layers configuration of the
Maven plugin. The version starts at `2.3` to match with the Spring Boot
feature release in which this was introduced.

Closes gh-20663
5 years ago
dreis2211 f95e9543dc Fix typos in packaging docs
See gh-20630
5 years ago
Phillip Webb 0717de723f Polish 5 years ago
Phillip Webb 9a33a723fe Update copyright year of changed files 5 years ago
Madhura Bhave 7444306d0b Polish docs 5 years ago
Madhura Bhave a06f4f21e3 Combine application and resources layers into a single layer
Closes gh-20562
5 years ago
Madhura Bhave 952e529787 Rename "classes" to "application" in custom layer configuration
Closes gh-20539
5 years ago
Stephane Nicoll 0b7f198b54 Publish Maven plugin API
This commit enables javadoc generator for the Spring Boot Maven plugin.

This also harmonizes the structure of the documentation, with an `/api`
and a `/reference` root directories for the javadoc and the reference
guide respectively.

Closes gh-20127
5 years ago
Scott Frederick 44f7508825 Fix BuildImageMojo javadoc. 5 years ago
Scott Frederick 08e96427de Add command-line properties for Maven build-image options
This commit adds support for setting the image name and builder
parameters of the Maven spring-boot:build-image goal using command-line
properties as an alternative to plugin configuration in pom.xml. Per
Maven conventions, a value in pom.xml configuration will override a
command-line property when both are provided.

Fixes gh-20520
5 years ago
Madhura Bhave fb8b531bfd Polish 5 years ago
Madhura Bhave 84b2e8c308 Rename classes package to application
Closes gh-20526
5 years ago
Scott Frederick f2dadf5a87 Add support for customizing layers in Gradle
This commit adds configuration to the Spring Boot Gradle plugin that
allows the names and contents of layers to be customized in the build
configuration.

Fixes gh-20296
5 years ago
Andy Wilkinson c4a55a5fb4 Fail fast when attempting to repackage a reproducible war
Maven's war plugin does not support reproducible builds, resulting in
the entries in the war file not being written in a consistent order
from build to build.

Closes gh-20176
5 years ago
Andy Wilkinson ca202ad59f Support Maven's outputTimestamp when repackaging jars and wars
Closes gh-20176
5 years ago
Madhura Bhave e49e62df5c Add support for customizing layers in Maven
This commit adds an additional 'layers/configuration' property that can
be used to refer to a separate layers configuration file. This separate
file defines:

* The layers and their order of precedence,
* How libraries are handled using filters that match against the
coordinates of each library, and
* How classes are handled using filters that match against the location
of the entry

An XSD to validate the XML configuration file is available.

Closes gh-20295

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
5 years ago
Scott Frederick e60a7ea8d6 Fix Maven plugins tests on Windows
This commit fixes problems with file path separators and command
line argument quoting in Maven plug integration tests when run on
Windows.

Fixes gh-20244
5 years ago
Scott Frederick 509a1f1d41 Configure buildpack to use target Java version
With this commit, the Maven `spring-boot:build-image` goal and the
Gradle `bootBuildImage` task will configure the OpenJDK buildpack
to use the same JRE version as the project's target version,
provided the buildpack Java version is not explicitly set in the
build configuration.

Fixes gh-20172
5 years ago
Stephane Nicoll c0c097117a Polish
See gh-20244
5 years ago
Scott Frederick 23e781033c Merge branch '2.2.x'
Closes gh-20244
5 years ago
Scott Frederick 625b40aa90 Prefer arguments in POM over spring-boot.run.arguments
This commit changes the order of precedence for the `arguments` property
of the AbstractRunMojo so that values specified in the POM override
values provided on the command line using `spring-boot.run.arguments`.
This brings the `arguments` property in line with all other Mojo
parameters.

Fixes gh-20024
5 years ago
Madhura Bhave 15cd590f7f Allow users to opt out of including the layer tools in a layered jar
For Maven, the layer configuration is now an additional configuration
option instead of a layout type.

Closes gh-19866
5 years ago
Johnny Lim 8be8a8421d Polish
See gh-20226
5 years ago
dreis2211 76d2bc27eb Explicitly set java home in Maven Plugin integration tests
See gh-20193
5 years ago
Scott Frederick 191dce3f5e Set Spring Boot version in ephemeral builder
This commit adds a `createdBy` structure to the metadata of the ephemeral
builder container image that identifies Spring Boot as the creator of the
image, along with the Spring Boot version.

See gh-20126
5 years ago
Stephane Nicoll 3229142188 Merge branch '2.2.x'
Closes gh-20121
5 years ago
Stephane Nicoll 765b2178d1 Document spring-boot.run.arguments behaviour with multiple arguments
Closes gh-19998
5 years ago
Scott Frederick 12c640e133 Upgrade default image builder version
This commit upgrades the default CNB builder image from
cloudfoundry/cnb:0.0.43-bionic to cloudfoundry/cnb:0.0.53-bionic.
It also adds integration tests for the Maven and Gradle plugins
to verify both versions are supported.
5 years ago
Johnny Lim e6d5f5a271 Polish
See gh-19995
5 years ago
Phillip Webb 234c5033d4 Polish whitespace 5 years ago
Scott Frederick 653cabe2ce Add documentation for gradle bootBuildImage task 5 years ago
Andy Wilkinson 54b3f480b4 Use posix long names when creating tar archive for image building
Fixes gh-19964
5 years ago
dreis2211 741a4f4b2b Fix links in Maven Plugin documentation
See gh-19952
5 years ago
Stephane Nicoll 5410148f79 Improve documentation of 'image' parameter of Maven Plugin
Closes gh-19950
5 years ago
Stephane Nicoll 11c5fba355 Remove unnecessary execution-specific configuration in documentation
This documentation moves the specific `build-image` execution
configuration example of the Maven plugin documentation to the general
plugin configuration. This makes sure that it works in most cases and
an execution-specific configuration is not required here anyway.

Closes gh-19946
5 years ago
Stephane Nicoll 0bd03fa278 Fix xml syntax in example
Closes gh-19906
5 years ago
Andy Wilkinson cbee16318f Fix version references in Maven Plugin's reference documentation
Closes gh-19878
5 years ago
Stephane Nicoll 331ebe90e0 Restore @since on build-image parameters 5 years ago
Stephane Nicoll 63019ab3f1 Add documentation for Maven plugin's build-image support
Closes gh-19830
5 years ago
Stephane Nicoll 6df5e7af4f Add integration tests for Maven plugin's build-image support
See gh-19830
5 years ago
Stephane Nicoll 105db66553 Polish 5 years ago
Stephane Nicoll 95be419527 Use Class.forName rather than ClassLoader.loadClass
This commit changes uses of ClassLoader.loadClass to Class.forName for
consistency with what was initiated in #19342 and better compatibility
with GraalVM.

Closes gh-19824
5 years ago
Phillip Webb e0013454b5 Use parentheses when declaring dependencies
Update all dependencies declarations to use the form `scope(reference)`
rather than `scope reference`.

Prior to this commit we declared dependencies without parentheses unless
we were forced to add them due to an `exclude`.
5 years ago
Phillip Webb 0209cd3e4c Polish quote form used in Gradle scripts
Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.
5 years ago
Phillip Webb e28338d6cd Rename spring-boot-cloudnativebuildpack
Rename the `spring-boot-cloudnativebuildpack` module to
`spring-boot-buildpack-platform` and update the the package
name to `org.springframework.boot.buildpack.platform`.

Closes gh-19851
5 years ago
Phillip Webb cb4928ad51 Add build-image support to the maven plugin
Add a new `build-image` goal to the Maven plugin to allow Docker images
to be create via using the cloud native buildpack.

See gh-19830
5 years ago
Madhura Bhave cf01f9fba0 Add tests for configuring layered jar layout
Closes gh-19768
5 years ago
Scott Frederick 8f102aee68 Remove deprecated 2.2 code
See gh-19699
5 years ago
Phillip Webb 8fde088574 Add layered jar layout support to the maven plugin
Update the Maven plugin with a new `LAYERED_JAR` layout option.

See gh-19768
5 years ago
Andy Wilkinson 714a187d8f Rework dep mgmt again to avoid consumers picking up strict constraints
This paves the way for publishing Gradle module metadata once the
problem caused by snapshot versions and our two-step publication
process has been addressed.

See gh-19609
5 years ago
Andy Wilkinson aefe52e4d0 Revert "Rework dep management to avoid consumers picking up strict constraints"
This reverts commit b34a311d02 as,
having disabled the publishing of Gradle's module metadata (4f75ab5),
the changes are no longer needed.

See gh-19609
5 years ago
Phillip Webb 862462b791 Update copyright year of changed files 5 years ago
Andy Wilkinson b34a311d02 Rework dep management to avoid consumers picking up strict constraints
Previously, enforcedPlatform dependencies were using to pull in the
constraints defined in spring-boot-dependencies and
spring-boot-parent and applied them strictly so that the constrained
version had to be used. This worked as intended in Spring Boot's own
build but incorrectly enforced those same strict version requirements
on external consumers of Spring Boot's modules.

This commit reworks how Spring Boot defines its internal dependency
management so that platform dependencies are exposed to external
consumers while enforced platform dependencies are using internally.

See gh-19609
5 years ago
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
5 years ago
Johnny Lim e4057dd528 Polish
See gh-19484
5 years ago
Stephane Nicoll e7f45d8a34 Polish "Add toolchains support for Spring Boot Maven Plugin"
See gh-18732
5 years ago
Dmytro Nosan eede16ff0a Add toolchains support for Spring Boot Maven Plugin
See gh-18732
5 years ago
Stephane Nicoll a2b2b46b83 Merge branch '2.2.x'
Closes gh-19463
5 years ago
Stephane Nicoll 6c016663fd Polish contribution
See gh-18711
5 years ago
Dmytro Nosan 1fb904acee Support commas embedded in command line arguments from Maven plugin
See gh-18711
5 years ago
Stephane Nicoll 065fe9996d Merge branch '2.2.x'
Closes gh-19454
5 years ago
Stephane Nicoll ee98855905 Merge branch '2.1.x' into 2.2.x
Closes gh-19453
5 years ago
Stephane Nicoll 5dc6491807 Clarify documentation of repackage mojo's attach property
Closes gh-19021
5 years ago
dreis2211 60640ea185 Fix link in new Maven Plugin docs
See gh-19108
5 years ago
Stephane Nicoll a76a864270 Polish "Replace the Maven Plugin's site with Asciidoctor documentation"
See gh-19080
5 years ago
Andy Wilkinson 3e2454f8c4 Replace the Maven Plugin's site with Asciidoctor documentation
Closes gh-19080

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
5 years ago
Alessandro Falappa 2c199b1296 Make optimizedLaunch property name more consistent
See gh-18702
5 years ago
Kant Leung 2f73e196af Polish
See gh-18534
5 years ago
Andy Wilkinson 46c30d6bb0 Merge branch '2.1.x'
Closes gh-18476
5 years ago
Andy Wilkinson 3d4157ad6d Correct SCM URLs in published poms
Previously, Maven's default behaviour was relied up which resulted
in the artifact ID being appended to each URL as it was inherited.
This behaviour can only be disabled in Maven 3.6 and later, a version
that we cannot use due to an incompatibility with the Flatten Plugin.

This commit works around Maven's default behaviour by defining
properties for the SCM URL, connection, and developer connection and
then explicitly defining the settings in each pom using these
properties. The explicit definition of the properties in each pom
prevents them being inherited from the parent, thereby disabling the
unwanted appending of the artifact ID to the URL.

Fixes gh-18328
5 years ago
Andy Wilkinson 7d3e53c94c Fix test expectations for run-fork JVM args on Java 13+
Closes gh-17008
5 years ago
Andy Wilkinson d2b28ceba5 Don't add -Xverify:none to JVM args when running on Java 13
Closes gh-17008
5 years ago
dreis2211 d4affd7f85 Use hasSize() assertion in favor of length checks
See gh-17874
5 years ago
Stephane Nicoll 07cd67a3fe Tolerate null startTime
This commit prevents a potential NPE if the startTime of the
MavenSession is not available and fallbacks to the current time. This
can happen when invoking the plugin with Maven embedded in an IDE.

Closes gh-17810
5 years ago
SaberXu c6c3a91f8d Simplify if statements
See gh-17785
5 years ago
Phillip Webb 8bc780762a Merge branch '2.1.x' 5 years ago
Phillip Webb fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb 913e831f4e Merge '1.5.x' into 2.0.x 5 years ago
Johnny Lim 8f8b0b493e Remove println invocations in tests
See gh-17592
5 years ago
Stephane Nicoll 4ce9c6edb3 Polish "Make layout parameter available as a user property"
See gh-17277
5 years ago
Marc Rohlfs d2e34e6b07 Make layout parameter available as a user property
This commit allows the layout parameter of the Maven repackage goal to
be set from the command line.

See gh-17277
5 years ago
Phillip Webb 74d00354f5 Refine BuildInfoMojo time property
Update `BuildInfoMojo` so that the time property now defaults to
`${session.request.startTime}` rather than the time the Mojo was
created. Also update javadoc to make it clear that any supplied
value will be passed to `Instant.parse`.

See gh-17390
5 years ago
Phillip Webb 01933f9b06 Merge previously split strings
Merge some string lines that were previously split because of the
90 chars wide formatting.
5 years ago
Dmytro Nosan 8dd9c6baa1 Allow build.time to be disabled so BuildInfoMojo's output is repeatable
See gh-17390
5 years ago
Andy Wilkinson 4b2a116fa7 Use String indexOf(char) and lastIndexOf(char) where possible
Closes gh-11416
5 years ago
Phillip Webb a66c4d3096 Unify method visibility of private classes
Apply checkstyle rule to ensure that private and package private
classes do not have unnecessary public methods. Test classes have
also been unified as much as possible to use default scoped
inner-classes.

Closes gh-7316
5 years ago
Phillip Webb 605599138e Merge branch '2.1.x' 5 years ago
Phillip Webb 92bff3c328 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb cfeb0239b7 Merge branch '1.5.x' into 2.0.x 5 years ago
Andy Wilkinson 361a9404fd Merge branch '2.1.x'
Closes gh-17321
5 years ago
Andy Wilkinson 3fb06ee29e Merge branch '2.0.x' into 2.1.x
Closes gh-17320
5 years ago
Andy Wilkinson 4973a2b217 Merge branch '1.5.x' into 2.0.x 5 years ago
Stephane Nicoll e560b7f6ba Remove public modifier on JUnit5 lifecycle methods
See gh-17292
5 years ago
gaurav bhatnagar 1ec5fb9972 Drop deprecated 'spring.version' POM property
See gh-17043
6 years ago
Andy Wilkinson b18fffaf14 Move tests to JUnit 5 wherever possible 6 years ago
Andy Wilkinson aef92b9295 Merge branch '2.1.x'
Closes gh-17079
6 years ago
Andy Wilkinson 24925c3dae Merge branch '2.0.x' into 2.1.x
Closes gh-17078
6 years ago
Andy Wilkinson c6c139d980 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb db75347eb6 Merge branch '2.1.x' 6 years ago
Phillip Webb 0ef331018e Merge branch '2.0.x' into 2.1.x 6 years ago
Stephane Nicoll 8beb6c1bcb Document how to specify arguments on the command line with Maven
Closes gh-10926
6 years ago
Stephane Nicoll 4cdb5a8ecb Polish "Default to optimized launch of the JVM when using spring-boot:run"
Closes gh-16941
6 years ago
Dos Debug 569b850fe0 Default to optimized launch of the JVM when using spring-boot:run
See gh-16941
6 years ago
Andy Wilkinson bf670d0a5a Merge branch '2.1.x'
Closes gh-16960
6 years ago
Andy Wilkinson 60d60a8304 Use basedir as forked JVM's working directory in Maven plugin
Fixes gh-16811
6 years ago
Stephane Nicoll a5537bd2e1 Fork application process with Maven by default
Closes gh-16945
6 years ago
Andy Wilkinson 64860e196c Improve diagnostics when forked JVM exits with non-zero status
Closes gh-16869
6 years ago
Stephane Nicoll 66dc728018 Polish "Make excludeDevtools available as a user property"
Closes gh-16701
6 years ago
jvwilge dcc09ffac2 Make excludeDevtools available as a user property
See gh-16701
6 years ago
Stephane Nicoll 6544d19fbf Merge branch '2.1.x' 6 years ago
Stephane Nicoll 4c1ef630c9 Restore lazy evaluation of project/build/finalName
This commit restores the read-only `finalName` so that its value can
be lazily resolved against `${project.build.finalName}`.

While doing the evaluation ourselves and not relying on a dedicated
field at all would have been better, the evaluation increased the
number of required dependencies for no good reason.

IDEs should not offer auto-completion for that read-only field and it
is not published in the generated site either.

Closes gh-16456
6 years ago
Andy Wilkinson eb0b852e99 Merge branch '2.1.x'
Closes gh-16639
6 years ago
Andy Wilkinson 5d77b48aed Polish "Polish Maven Plugin's tests"
See gh-16618
6 years ago
daonan.zhan 52c2c534db Polish Maven Plugin's tests
See gh-16618
6 years ago
Stephane Nicoll a79e49f1dd Merge branch '2.1.x' 6 years ago
Johnny Lim 363994515b Polish
See gh-16575
6 years ago
Stephane Nicoll 763c1a99e0 Polish 6 years ago
Phillip Webb 2376f973f4 Merge branch '2.1.x' 6 years ago
Phillip Webb 47c6bf741d Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb 07c000c5b7 Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 2adb6b1fa4 Override version of Maven Site Plugin for JDK 9+181 compatibility
See gh-16400
6 years ago
Stephane Nicoll 680e2b223b Remove deprecated finalName attribute
See gh-16202
6 years ago
Stephane Nicoll cba1e8ada0 Merge branch '2.1.x' 6 years ago
Stephane Nicoll 04aadcdf2e Make sure custom finalName is ignored
A read-only plugin parameter can still be set by the user which leads
to an invalid repackaged archive. This commit actually ignores the field
and uses the standard attribute instead.

Closes gh-16202
6 years ago
Stephane Nicoll 6ab942f295 Polish 6 years ago
Stephane Nicoll 554dec1a3e Document finalName alternative for repackage goal
Closes gh-16334
6 years ago
Andy Wilkinson 878a635bfb Merge branch '2.1.x' 6 years ago
Andy Wilkinson 864942ad4f Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson ba4671f0ab Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 4900505425 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson fedb40a2bf Merge branch '1.5.x' into 2.0.x 6 years ago
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
Spring Operator 00ab30362c Use HTTPS for external links in XML files
See gh-16270
6 years ago
Andy Wilkinson b828b398b5 Merge branch '2.1.x' 6 years ago
Spring Operator b32c0080c3 Update build and setup configuration to use HTTPS
See gh-16247
6 years ago
Andy Wilkinson a36aa67b52 Merge branch '2.0.x' into 2.1.x 6 years ago
Spring Operator 3e2b6ac8ed Update build and setup configuration to use HTTPS
See gh-16246
6 years ago
Madhura Bhave 3d0219c315 Merge branch '2.1.x' 6 years ago
Johnny Lim c5b5f752ed Polish
Closes gh-16219
6 years ago
Andy Wilkinson d6a869fa98 Switch to Jakarta EE API dependencies where possible
Closes gh-16113
Closes gh-16112
Closes gh-16111
Closes gh-15916
Closes gh-15689
6 years ago
Andy Wilkinson f2e3e274a8 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 43c9a789ac Merge branch '2.1.x' 6 years ago
Andy Wilkinson 55fe26b075 Polish "Use kotlin_module not kotlin-module to identify Kotlin module metadata"
See gh-16004
6 years ago
Robert Thornton cb6362df82 Use kotlin_module not kotlin-module to identify Kotlin module metadata
See gh-16004
6 years ago
Madhura Bhave 9bc9639954 Merge branch '2.1.x' 6 years ago
Madhura Bhave 012a956454 Fix typo in doc 6 years ago
dreis2211 d4ab101223 Use Assertions.contentOf() where possible
Closes gh-15793
6 years ago
Stephane Nicoll 51936e1a5c Rename "agent" to "agents" to properly indicate its type
Closes gh-15455
6 years ago
Erik Mulder 00763af335 Fix system properties override example
Closes gh-15562
6 years ago
Stephane Nicoll bf88a7e466 Be more lenient when repackage is invoked several times
This commit makes the repackager more lenient when it is invoked several
times in the same lifecycle.

Closes gh-15034
6 years ago
Stephane Nicoll d7fe3c73a3 Provide better logging for RepackageMojo
Closes gh-15294
6 years ago
Phillip Webb cccf5e6d2b Merge branch '2.0.x' 6 years ago
Phillip Webb 3baf782822 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb f3fa20b2d1 Polish 6 years ago
Andy Wilkinson 1341789819 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 9ea5c58e38 Remove stale mention of module layout from Maven plugin's docs
Closes gh-14854
6 years ago
Stephane Nicoll 2a0451c461 Merge branch '2.0.x' 6 years ago
Jack Gough 94770cc0fd Force JMX hostname to 127.0.0.1
Closes gh-14836
6 years ago
Stephane Nicoll 7c6d61ee10 Update documentation to mention execution id of repackage goal
This commit updates the documentation to reference the default execution
id of the `repackage` goal when a project uses
`spring-boot-starter-parent`.

Closes gh-14835
6 years ago
Phillip Webb 64627fa9d6 Restore Maven 3.3 compatibility
Downgrade the `spring-boot-maven-plugin` maven version to 3.3.

Closes gh-14464
6 years ago
durigon 7aaeefbc0e Use Matcher from pre-compiled Pattern rather than String for replaceAll
Closes gh-14483
6 years ago
Stephane Nicoll 143e4f026f Merge branch '2.0.x' 6 years ago
dreis2211 66b1742f96 Optimize some StringBuilder.append() calls
Closes gh-13961
6 years ago
Phillip Webb ce9c053cbf Fix checkstyle issues on master
Fix checkstyle issues following 2.0.x merge and
spring-javaformat upgrade.

See gh-13932
6 years ago
Phillip Webb a6c9c92f2e Merge branch '2.0.x' 6 years ago
Phillip Webb 7fc455654a Fix checkstyle ternary issues
Fix checkstyle issues with ternary expressions following the
spring-javaformat upgrade.

See gh-13932
6 years ago
Andy Wilkinson 45fdf2ffa4 Support Tomcat 9 and Undertow 2
Closes gh-11749
Closes gh-12243
6 years ago
Phillip Webb e0ae805924 Update copyright header 7 years ago
Johnny Lim de01e7aad4 Polish
See gh-13243
7 years ago
Phillip Webb 68ffbafbae Fix checkstyle violations 7 years ago
Phillip Webb 3702da4573 Formatting 7 years ago
Stephane Nicoll ed02d02d19 Polish "Allow repackage maven goal to take a source classifier"
Closes gh-11061
7 years ago
Björn 3c8e012411 Allow repackage maven goal to take a source classifier
Previously, the "classifier" attribute was only used to determine the
target classifier of the repackaged archive, always using the main
artifact as the source.

This commit changes the semantic of the attribute so that an existing
archive matching the "classifier" attribute can be used as source,
replacing the archive the same way the goal replaces the main archive
if no classifier is found.

If no artifact with the specified classifier exists, the repackaged
archive is still processed based on the main archive and attached to
the lifecycle using the value of the classifier attribute.

See gh-11061
7 years ago
Johnny Lim fb2ab67f4f Polish
Closes gh-13148
7 years ago
Stephane Nicoll 00a43d8f4d Merge branch '2.0.x' 7 years ago
Johnny Lim 75e591e76e Polish
Closes gh-13130
7 years ago
Phillip Webb 7b120c1c97 Formatting 7 years ago
Phillip Webb b6a2a46f78 Merge branch '2.0.x' 7 years ago
Phillip Webb 41efea51a7 Polish ternary expressions
Consistently format ternary expressions and always favor `!=` as the
the check.
7 years ago
Phillip Webb 8c0c0ee55a Merge branch '2.0.x' 7 years ago
Phillip Webb e125085993 Merge branch '1.5.x' into 2.0.x 7 years ago
Andy Wilkinson 0526594a3c Merge branch '2.0.x' 7 years ago
Andy Wilkinson f019d5c85b Merge branch '1.5.x' into 2.0.x 7 years ago
Stephane Nicoll 080e189d06 Fix broken syntax 7 years ago
Stephane Nicoll fd47b728c1 Properly handle values with spaces
Closes gh-10741
7 years ago
Stephane Nicoll d4729f5389 Polish 7 years ago
Stephane Nicoll 40b7e02793 Polish "Add support for environment variables"
Closes gh-12800
7 years ago
Dmytro Nosan 95f7e3ca37 Add support for environment variables
See gh-12800
7 years ago
Stephane Nicoll 5dd4a7e91e Merge branch '2.0.x' 7 years ago
Stephane Nicoll 55ef9e6dc9 Deprecate excludeArtifactIds
While being able to exclude all artifacts of a given group is a handy
feature, excluding all artifacts with a given artifactId does not make
much sense as it should refer to a single artifact anyway. Also the
general "exclude" mechanism is meant to do the exact same thing.

Closes gh-12885
7 years ago
Stephane Nicoll 03539d8e16 Polish "Add system properties support using explicit configuration tag"
Closes gh-10741
7 years ago
Vadeg ba34bf6470 Add system properties support using explicit configuration tag
See gh-10741
7 years ago
Stephane Nicoll 719fcb4038 Merge branch '2.0.x' 7 years ago
dreis2211 a930835b92 Replace <code> tags where possible
Closes gh-12922
7 years ago
Stephane Nicoll c43eb89823 Make sure that finalName is read only
Closes gh-12608
7 years ago
Andy Wilkinson f335ec00bf Polish 7 years ago
Phillip Webb 685babc829 Polish "Use lambdas for map entry iteration where possible"
Closes gh-12626
7 years ago
igor-suhorukov 69bc19e0ca Use lambdas for map entry iteration where possible
See gh-12626
7 years ago
Stephane Nicoll ed05e1f7ca Polish "Reorder modifiers to comply with the JLS"
Closes gh-12432
7 years ago
igor-suhorukov aebb475bc5 Reorder modifiers to comply with the JLS
See gh-12432
7 years ago