Commit Graph

488 Commits

Author SHA1 Message Date
Andy Wilkinson 68e3de0357 Use name from header not alias when checking entry has expected name
Previously, an entry’s potentially aliased name would be used when
checking that it has a particular name. The alias would always be
applied, irrespective of the name in the header. As a result, when
there was a clashing hash and an entry with a particular index did
not have the expected name, this would be concealed by the alias
being applied and the name check being done with the alias.

This commit reworks JarEntry to store the name in its header in
addition to its alias, if any. When checking that the entry has the
expected name, the unaliased name is passed in and the entry compares
it with the name from the header rather than the alias.

Closes gh-15981
2019-02-18 17:29:25 +00:00
Madhura Bhave 012a956454 Fix typo in doc 2019-02-14 19:39:01 -08:00
Andy Wilkinson 9fb0b97f96 Decorate test containers so tests are skipped without Docker
Closes gh-15901
Closes gh-15638
2019-02-13 17:44:45 +00:00
Andy Wilkinson 948bafa4d8 Repackage kotlin-module metadata beneath BOOT-INF/classes
Closes gh-15890
2019-02-12 16:41:15 +00:00
Andy Wilkinson a975c0ad16 Use Testcontainers’ CassandraContainer rather than our own
Closes gh-15901
2019-02-12 09:58:05 +00:00
Michael Simons 316126e8f0 Replace custom Neo4j container with Testcontainers version
See gh-15638
2019-02-12 09:24:44 +00:00
Andy Wilkinson 6fe9e3a0e1 Test the Gradle plugin against Gradle 5.2.1
Closes gh-15892
2019-02-11 15:51:14 +00:00
Andy Wilkinson 4faa0f51b7 Polish "Test the Gradle plugin against Gradle 4.10.3 and 5.1.1"
Closes gh-15791
2019-02-11 15:49:59 +00:00
dreis2211 1de372d896 Test the Gradle plugin against Gradle 4.10.3 and 5.1.1
See gh-15791
2019-02-11 15:35:06 +00:00
Andy Wilkinson 8a7958ef55 Do not use reflection to fall back to JDKs jar URLStreamHandler
Closes gh-15844
2019-02-05 10:59:32 +00:00
Andy Wilkinson 2650a07dc9 Leave module-info.class in root of archive when repackaging
Closes gh-15810
2019-02-01 13:47:42 +00:00
Erik Mulder 00763af335 Fix system properties override example
Closes gh-15562
2018-12-24 16:39:20 +01:00
Andy Wilkinson 83ce5dcee8 Add missing task output annotations to BootJar and BootWar
Closes gh-15488
2018-12-21 15:32:04 +00:00
Stephane Nicoll 51d3626c3b Merge branch '2.0.x' into 2.1.x 2018-12-20 17:59:33 +01:00
dreis2211 27e89bbb8a Optimize StringSequence
Closes gh-15473
2018-12-20 17:55:30 +01:00
Stephane Nicoll 7dbe70dc61 Merge branch '2.0.x' into 2.1.x 2018-12-17 18:26:36 +01:00
Stephane Nicoll c0b07a9429 Polish "Fix StringSequence.equals() for different lengths"
Closes gh-15465
2018-12-17 18:24:08 +01:00
dreis2211 2a0680c2ba Fix StringSequence.equals() for different lengths
See gh-15465
2018-12-17 18:20:09 +01:00
Stephane Nicoll ef40241bf6 Merge branch '2.0.x' into 2.1.x 2018-12-05 15:56:04 +01:00
dreis2211 d864b427eb Remove unused ByteArrayStartsWith matcher
Closes gh-15386
2018-12-05 15:52:42 +01:00
Andy Wilkinson 72ad0cc6be Merge branch '2.0.x' into 2.1.x 2018-12-03 12:15:36 +00:00
Andy Wilkinson 3fd0380359 Correct optional dependency declarations in spring-boot-test-support
Closes gh-15371
2018-12-03 12:14:18 +00:00
Phillip Webb ed9468a31a Update copyright year for changed files 2018-11-29 22:02:45 -08:00
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
2018-11-27 15:09:55 +01:00
Stephane Nicoll d7fe3c73a3 Provide better logging for RepackageMojo
Closes gh-15294
2018-11-27 15:06:51 +01:00
Andy Wilkinson a0d0ecf9d4 Test the Gradle plugin against Gradle 5.0
Closes gh-15171
2018-11-26 16:02:54 +00:00
Andy Wilkinson 7790876575 Merge branch '2.0.x' 2018-11-23 14:01:12 +00:00
Andy Wilkinson c0e286b96b Test the Gradle Plugin against Gradle 5.0-rc-3
Closes gh-15171
2018-11-23 13:47:19 +00:00
Andy Wilkinson ce0a3d0311 Add missing classpath setters to BootJar and BootWar
Closes gh-15087
2018-11-23 13:46:56 +00:00
Andy Wilkinson 3fac0f0360 Polish multi-release jar support to avoid possible StackOverflowError
See gh-12523
2018-11-20 17:26:28 +00:00
Andy Wilkinson 56eebc9385 Update fat jar loader to support multi-release jar files
Closes gh-12523
2018-11-20 15:22:30 +00:00
Andy Wilkinson fe9d9ec4e2 Test the Gradle plugin against Gradle 5.0-rc-3
Closes gh-15171
2018-11-15 10:32:34 +00:00
Phillip Webb cccf5e6d2b Merge branch '2.0.x' 2018-11-14 18:27:28 -08:00
Phillip Webb 3baf782822 Merge branch '1.5.x' into 2.0.x 2018-11-14 18:24:32 -08:00
Johnny Lim fd5aa3ebf1 Polish
See gh-15134
2018-11-11 11:03:13 +01:00
Andy Wilkinson 228e05487a Test Gradle Plugin against Gradle 5.0-rc-1
Closes gh-15028
2018-10-31 09:47:49 +00:00
Phillip Webb f3fa20b2d1 Polish 2018-10-29 14:25:45 -07:00
Andy Wilkinson 1341789819 Merge branch '2.0.x' 2018-10-29 16:39:51 +00:00
Andy Wilkinson 9ea5c58e38 Remove stale mention of module layout from Maven plugin's docs
Closes gh-14854
2018-10-29 16:38:58 +00:00
Andy Wilkinson 5ac9b972fe Test the Gradle Plugin against Gradle 5.0-milestone-1
Closes gh-15005
2018-10-29 15:15:00 +00:00
Andy Wilkinson 77f571aa45 Merge branch '2.0.x' 2018-10-29 13:12:53 +00:00
Andy Wilkinson 7eb1df1650 Test the Gradle Plugin against Gradle 4.10.2
Closes gh-15004
2018-10-29 13:11:41 +00:00
Brian Clozel cf882c9b40 Fix import error in 8376bc369 2018-10-25 12:52:25 +02:00
Brian Clozel 8376bc3697 Fix build after checkstyle imports updates
See gh-14911
2018-10-25 11:25:56 +02:00
Madhura Bhave f0004c4ade Merge branch '2.0.x' 2018-10-22 14:57:10 -07:00
dreis2211 5c0d7f4ac0 Avoid creation of unnecessary collections
Closes gh-14916
2018-10-22 14:54:39 -07:00
Andy Wilkinson 9b8ead825c Polish 2018-10-18 15:38:06 +01:00
Stephane Nicoll 2a0451c461 Merge branch '2.0.x' 2018-10-17 18:06:19 +02:00
Jack Gough 94770cc0fd Force JMX hostname to 127.0.0.1
Closes gh-14836
2018-10-17 18:05:28 +02:00
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
2018-10-15 22:51:12 +02:00
Phillip Webb 85f86243c9 Order class filter checks and exit early
Update the logic in `OnClassCondition` so that filtering exits on the
first missing class. Also refactor the implementation to save
unnecessary `Set` creation when there is just a single class to check.

The `AutoConfigureAnnotationProcessor` has also been updated to order
classes so that any starting `org.springframework` are considered last.
The assumption being that other classes are more likely to be missing.

Closes gh-12131
2018-10-10 22:02:05 -07:00
Phillip Webb 94798062ab Configure Cassandra JMX Reporting
Allow Cassandra JMX reporting to be configured via a property, and
disable it by default since it won't work with Dropwizard metrics 4.

Also update some of our own tests to explicitly disable it.

Closes gh-14778
2018-10-10 10:00:44 -07:00
Andy Wilkinson 3f1b3db25a Merge branch '2.0.x' 2018-10-08 15:07:28 +01:00
Andy Wilkinson 1f34da9025 Document application plugin's need for mainClassName to be set
Closes gh-14250
2018-10-08 15:06:37 +01:00
Phillip Webb 01b8667dd7 Update copyright year for changed files 2018-10-05 13:40:07 -07:00
Andy Wilkinson a3d2f3f594 Polish "Add Kotlin DSL examples to Gradle Plugin's documentation"
Closes gh-14585
2018-10-05 10:41:13 +01:00
jnizet 5ed6c0d1ab Add Kotlin DSL examples to Gradle Plugin's documentation
See gh-14585
2018-10-05 10:41:13 +01:00
Andy Wilkinson 8c6910cf58 Polish "Refactor Gradle plugin tests to use runner's plugin classpath"
This commit removes the need for the Kotlin plugin tests to continue
to set the plugin classpath in each test build script. This is
achieved by adding the jars files containing the Kotlin plugin and
its dependencies to the runner's plugin classpath in the same way as
was already done for the dependency management plugin.

Closes gh-14680
2018-10-04 17:27:26 +01:00
jnizet c51449585e Refactor Gradle plugin tests to use runner's plugin classpath
Previously, each test build script used a property to configure its
classpath. This commit simplifies the tests by setting the classpath
once on the GradleRunner, thereby removing the need for it to be set in
each test script. It also allows, and, in fact, requires, the use of
the plugins block to apply the Boot plugin under test.

Unfortunately, this doesn't work for the tests for the reaction to the
Kotlin plugin. See the comments in the GradleBuild class and in each
KotlingPluginActionIntegrationTests build script.

See gh-14680
2018-10-04 17:26:42 +01:00
Andy Wilkinson 76849c12e5 Merge branch '2.0.x' 2018-10-04 15:56:11 +01:00
Andy Wilkinson cf24d18139 Explicity set permissions on files in lib of Boot distribution
Previously, only the permissions for the scripts in bin/ were set. The
permissions for the files in lib/ were not explicity set, leaving them
with the same permissions as the source files in Gradle's cache. This
has proven to be a little brittle when building in certain
environments, leading to test failures. It also assumes that the
file permissions in Gradle's cache will be appropriate for entries in
a distribution archive. That may not always be a reasonable assumption
to make.

To avoid the above-described problems, this commit updates the copy
spec that's used to add files to lib/ in the archive so that each
file uses 0644 for its permissions.

Closes gh-14158
2018-10-04 15:55:48 +01:00
Andy Wilkinson 4a222cb4e5 Polish "Log a warning when using fallback for pid and log locations"
Closes gh-14519
2018-10-04 15:21:05 +01:00
Andreas Gebhardt 3f894cbeeb Log a warning when using fallback for pid and log locations
See gh-14519
2018-10-04 15:19:48 +01:00
Johnny Lim 335775892b Polish
See gh-14667
2018-10-03 13:57:18 +02:00
dreis2211 e68b9e8322 Remove unnecessary parameters for String.substring
Closes gh-14661
2018-10-03 09:34:56 +02:00
Phillip Webb d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
2018-10-02 10:55:28 -07:00
Andy Wilkinson 285f6bfd5f Merge branch '2.0.x' 2018-09-27 06:59:37 -04:00
jnizet eee07a840f Move away from deprecated Gradle configurations
Closes gh-14593
2018-09-27 06:58:31 -04:00
Johnny Lim 698bbd6a9e Polish
Closes gh-14597
2018-09-26 11:45:21 -04:00
Phillip Webb 64627fa9d6 Restore Maven 3.3 compatibility
Downgrade the `spring-boot-maven-plugin` maven version to 3.3.

Closes gh-14464
2018-09-24 15:40:25 -04:00
Phillip Webb 75bde00334 Generate auto-configuration OnWebApplication data
Update the auto-configuration annotation processor to generate
properties for `@OnWebApplication`.

See gh-13328
2018-09-24 09:46:26 -04:00
Phillip Webb 586507c49a Generate auto-configuration OnBean data
Update the auto-configuration annotation processor to generate
properties for `@ConditionalOnBean` and `@ConditionalOnSingleCandidate`.

See gh-13328
2018-09-24 09:45:46 -04:00
Phillip Webb 11b1318cad Reduce GC pressure in JAR handler
Update the JAR `Hander` so that URL `startsWith` checks produce less
garbage. Comparisons are now performed first on the `path` rather than
the full `toString`. URL `toString` operations produce quite a lot of
garbage since a `StringBuilder` is always used.

In addition, we now also cache the JarFile URL toString to save repeated
calculation.

Closes gh-14561
2018-09-20 22:33:19 -07:00
Andy Wilkinson c1b864c826 Polish 2018-09-18 11:18:28 +01:00
durigon 7aaeefbc0e Use Matcher from pre-compiled Pattern rather than String for replaceAll
Closes gh-14483
2018-09-17 10:54:54 +01:00
Andy Wilkinson a2cf2cd87f Raise the minimum supported version of Gradle to 4.4
Closes gh-14418
2018-09-12 17:06:03 +01:00
Andy Wilkinson ae4e1d0372 Test the Gradle plugin against Gradle 4.10
Closes gh-14417
2018-09-12 12:57:27 +01:00
Andy Wilkinson 630e2d0b41 Correct the permissions of scripts in archives of boot distribution
Closes gh-14158
2018-09-12 12:57:27 +01:00
Phillip Webb 894e0e11d4 Switch from Aether to Maven Resolver
Replace Aether dependencies with Maven Resolver following the Eclipse
EOL announcement for Aether.

Closes gh-7627
2018-09-11 18:08:59 -07:00
Andy Wilkinson e4b9316613 Merge branch '2.0.x' 2018-09-11 20:33:40 +01:00
Andy Wilkinson 78464f999f Test the Gradle plugin against Gradle 4.10
Closes gh-14417
2018-09-11 20:33:26 +01:00
Andy Wilkinson 6041bc5bb0 Correct the permissions of scripts in archives of boot distribution
Closes gh-14158
2018-09-11 20:32:18 +01:00
Andy Wilkinson 1332fcb0ad Polish "Issue a warning from launch script when app will run as root"
Closes gh-10275
2018-09-11 12:12:43 +01:00
Oliver B. Fischer 94ebd33747 Issue a warning from launch script when app will run as root
See gh-10275
2018-09-11 12:12:05 +01:00
Stephane Nicoll 0493355241 Use deterministic order for configuration properties metadata
This commit updates the annotation processor to write metadata in a
consistent way. Groups, properties and hints are written and each item
is ordered alphabetically based on its name.

Also, deprecated items are written last.

Closes gh-14347
2018-09-08 08:20:43 +02:00
Andy Wilkinson ad4179cc43 Merge branch '2.0.x' 2018-09-06 16:38:55 +01:00
Andy Wilkinson 6c865f9b43 Polish
See gh-1176
2018-09-06 16:38:27 +01:00
Andy Wilkinson 79a964e563 Merge branch '2.0.x' 2018-09-06 13:11:50 +01:00
Andy Wilkinson 53372d5fd7 Document the use of --args to pass arguments to bootRun
Closes gh-1176
2018-09-06 13:08:40 +01:00
Phillip Webb 9d1b3a2b49 Merge branch '2.0.x' 2018-09-04 16:25:17 -07:00
Phillip Webb cafff43022 Update copyright header of changed files 2018-09-04 16:19:05 -07:00
Phillip Webb 9af6b3422f Polish 2018-09-04 16:18:47 -07:00
Andy Wilkinson 8ee4775820 Polish 2018-09-04 20:46:35 +01:00
Stephane Nicoll c0e45b7333 Adapt to Spring Framework API change 2018-09-04 14:09:57 +02:00
Phillip Webb 174f53e1cf Merge branch '2.0.x' 2018-08-30 16:02:25 -07:00
Phillip Webb 2e2f91d4a0 Merge branch '1.5.x' into 2.0.x 2018-08-30 15:59:02 -07:00
Stephane Nicoll 91af9e2ca9 Merge branch '2.0.x' 2018-08-20 10:34:03 +02:00
Stephane Nicoll d80ed27339 Fix checkstyle violation 2018-08-20 10:33:46 +02:00
Stephane Nicoll b26dedb547 Merge branch '2.0.x' 2018-08-20 10:26:21 +02:00
Stephane Nicoll eedeaa29e5 Polish "Replace loops with Arrays.setAll where possible"
Closes gh-14125
2018-08-20 10:23:16 +02:00