2038 Commits

Author SHA1 Message Date
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