Commit Graph

1319 Commits

Author SHA1 Message Date
Andy Wilkinson 2b4316cf24 Upgrade to com.gradle.build-scan 2.4.2
Closes gh-23619
2019-09-11 15:36:19 +02:00
Andy Wilkinson b730597c87 Disable caching of changing modules and dynamic versions
Previously, changing modules (snapshots) and dynamic versions were
cached for Gradle's default period of 24 hours and
--refresh-dependencies was used to pick up the latest artifacts. This
approach has a notable downside. --refresh-dependencies causes all
dependencies to be refreshed, irrespective of whether they are
expected to change. At a minimum, this results in a HEAD request for
every dependency in the build. Running an up-to-date build without
--refresh-dependencies takes in the region of 6 seconds:

$ ./gradlew build

BUILD SUCCESSFUL in 6s
203 actionable tasks: 203 up-to-date

The same build with --refresh-dependencies takes almost ten times as
long:

$ ./gradlew build --refresh-dependencies

BUILD SUCCESSFUL in 58s
203 actionable tasks: 203 up-to-date

This commit replaces the manual usage of --refresh-dependencies on
the command line with a 0 second caching period for changing modules
and dynamic versions. This should remove the need to use
--refresh-dependencies both locally and on CI, saving almost 1 minute
per full build.
2019-09-11 10:00:01 +02:00
Sam Brannen 604eecaf67 Upgrade to JUnit 5.5.2
This commit also removes the testRuntime dependency on Hamcrest which
was a workaround for https://github.com/junit-team/junit5/issues/2004.

Closes gh-23604
2019-09-09 14:20:56 +02:00
Sam Brannen 665e8aa51c Downgrade to JUnit 4.12
Since it does not appear that JUnit 4.13 will be released before Spring
Framework 5.2 GA, I am reverting back to JUnit 4.12 for the time being.

See gh-22894
2019-09-08 15:22:21 +02:00
Sam Brannen 683fe9ed70 Update comment
See gh-23604
2019-09-08 15:15:30 +02:00
Andy Wilkinson 35b967a801 Add opt-in build scan integration with Gradle Enterprise
This commit adds opt-in build scan integration with Gradle Enterprise.
When the GRADLE_ENTERPRISE_URL environment variable is set on a
developer's machine or on CI, a build scan will be automatically
uploaded to Gradle Enterprise at the end of the build.

This initial integration will establish a baseline for Spring
Framework builds. Once that baseline has been established we can use
the build scans to identify ways in which the build can be optimized
and updated to make use of Gradle's build caching which should reduce
build times, significantly so for changes that only affect tasks near
the leaf nodes of the task graph.
2019-09-05 15:16:59 +01:00
Sebastien Deleuze aa81fdc66f Upgrade to Kotlin Coroutines 1.3.1 2019-09-05 15:09:17 +02:00
Brian Clozel e83fec4ec3 Downgrade to okhttp3 3.14.2
The upgrade to 4.x was breaking some behavior in our tests.
We need to reconsider this upgrade and check our mockrestserver usage in
our tests.
2019-09-04 14:51:52 +02:00
Rossen Stoyanchev 57d9b92b94 Upgrade Reactor to Dysprosium RC1
Closes: gh-23579
2019-09-04 08:55:45 +01:00
Sam Brannen 4575f82c72 Simplify Gradle test task configuration 2019-09-03 17:08:45 +02:00
Sam Brannen 3c4cd99237 Reintroduce Hamcrest as a global test runtime dependency
Prior to this commit, tests in spring-web and spring-webflux were no
longer executed due to the removal of the Hamcrest dependency in
commit bb03cdf5d0.
2019-09-03 17:00:26 +02:00
Sam Brannen bc869657c8 Partially revert 670cbb9aed
... but continue to execute `Abstract*Tests` classes.
2019-09-03 15:17:34 +02:00
Sam Brannen 23d5c6e3dc Do not scan for test classes in default test task 2019-09-03 14:36:32 +02:00
Sam Brannen 670cbb9aed Simplify Gradle test task configuration
As an added bonus, AbstractViewTests is now executed in the build.
2019-09-03 12:40:59 +02:00
Sam Brannen bb03cdf5d0 Remove global test dependency on Hamcrest
Hamcrest is now only used within spring-test for MockMvc support.
2019-09-03 12:13:56 +02:00
Sam Brannen e79bda164e Polish build.gradle 2019-09-03 12:13:10 +02:00
Brian Clozel 926c385800 Upgrade to AssertJ 3.13.2 2019-09-02 20:09:14 +02:00
Brian Clozel 47f39965bf Upgrade to Tomcat 9.0.24 2019-09-02 20:09:14 +02:00
Brian Clozel 78c5c7aa9c Upgrade to Log4J 2.12.1 2019-09-02 20:09:14 +02:00
Brian Clozel 859450cf68 Upgrade to Joda time 2.10.3 2019-09-02 20:09:14 +02:00
Brian Clozel a986be3e32 Upgrade to ehcache 2.10.6 2019-09-02 20:09:14 +02:00
Brian Clozel 1b6440c2c1 Upgrade to Caffeine 2.8.0 2019-09-02 20:09:14 +02:00
Brian Clozel e60d48daae Upgrade to hessian 4.0.62 2019-09-02 20:09:14 +02:00
Brian Clozel 829e9f5d92 Upgrade to okhttp3 4.1.0 2019-09-02 20:09:14 +02:00
Brian Clozel 3ec2a222ad Upgrade to Aalto 1.2.1 2019-09-02 20:09:13 +02:00
Brian Clozel b5f933a21b Upgrade to Undertow 2.0.26.Final 2019-09-02 20:09:13 +02:00
Brian Clozel b9089d2a90 Upgrade to RxJava2 2.2.12 2019-09-02 20:09:13 +02:00
Brian Clozel d56ffd1a61 Upgrade to Netty 4.1.39.Final 2019-09-02 20:09:13 +02:00
Brian Clozel be93d37330 Fix missing findbugs dependency for Dokka task 2019-09-02 20:09:13 +02:00
Brian Clozel d4089747b8 Use dependency management in Framework build
Prior to this commit, the Spring Framework build would partially use the
dependency management plugin to import and enforce BOMs.

This commit applies the dependency management plugin to all Java
projects and regroups all version management declaration in the root
`build.gradle` file (versions and exclusions).

Some versions are overridden in specific modules for
backwards-compatibility reasons or extended support.

This commit also adds the Gradle versions plugin that checks for
dependency upgrades in artifact repositories and produces a report; you
can use the following:

    ./gradlew dependencyUpdates
2019-09-02 18:01:09 +02:00
Sebastien Deleuze c13941821a Treat Kotlin warnings as errors
Closes gh-23566
2019-09-02 16:49:31 +02:00
Rossen Stoyanchev 2c20b2b663 Upgrade to RSocket 1.0.0-RC3
Closes gh-23543
2019-09-02 09:46:08 +01:00
Rossen Stoyanchev 117119a88d Merge branch '5.1.x' 2019-08-29 15:13:36 +03:00
Rossen Stoyanchev bd8f94ad7b Upgrade to Jetty 9.4.20.v20190813 2019-08-29 11:11:17 +03:00
Stephane Nicoll 5a28fdc540 Revert "Stop using libs-release"
This reverts commit e5b957167a.

See gh-23124
2019-08-28 14:52:29 +02:00
Stephane Nicoll 46b3a8335f Stop using mavenLocal()
This commit makes sure the content of the local maven repository has no
impact on the build

See gh-23124
2019-08-28 14:18:06 +02:00
Stephane Nicoll e5b957167a Stop using libs-release
This commit makes sure we narrow down dependencies of the Spring
Framework to only Maven central. Optional dependencies that are not
available on Maven Central are now served from a more specific
repository (`ext-release-local`).

Closes gh-23124
2019-08-28 14:17:57 +02:00
Sebastien Deleuze d53cbb6de4 Upgrade to Kotlin 1.3.50
Closes gh-23536
2019-08-28 13:33:50 +02:00
Sebastien Deleuze 77da40f006 Upgrade to Coroutines 1.3.0
Closes gh-23535
2019-08-28 13:30:40 +02:00
Brian Clozel 4a4edeb97f Apply Artifactory Gradle plugin to build
Since gh-23282, our CI does not apply automatically the Artifactory
Gradle plugin during our build and we're now applying it "manually".
This commit backports this change since the build configuration is
shared between branches.

See gh-23282
2019-08-27 22:26:25 +02:00
Rossen Stoyanchev 45d0405624 Upgrade to RSocket 1.0 RC3 snapshots and...
take advantage of the symmetrical SocketAcceptor methods now available
on RSocketFactory for both client and server side.
2019-08-27 13:04:58 +03:00
Brian Clozel 84f9c150de Move Gradle plugin repos declaration to settings
See gh-23282
2019-08-23 17:05:31 +02:00
Lars Grefer fbee3ed889 Use the 'io.freefair.aspectj' Gradle plugin
See gh-23282
See spring-projects/spring-security#7183
Closes gh-23506
2019-08-23 10:57:10 +02:00
Brian Clozel 86c734785d Apply Artifactory Gradle plugin
Instead of relying on the CI server to apply and configure this plugin,
this commit does it directly in the Spring Framework build.
This allows us to take full control over which projects are published
and how.

See gh-23282
2019-08-21 20:15:35 +02:00
Brian Clozel 7902ae4c1f Change Gradle publication name for artifactory
This commit switches to the default publication name considered by the
artifactory plugin when it comes to publishing artifacts to the
artifactory repository.

See gh-23282
2019-08-21 18:42:17 +02:00
Brian Clozel 7ce1f5e652 Configure Maven publications with Gradle
Prior to this commit, the build would use a custom task to create a BOM
and manually include/exclude/customize dependencies. It would also use
the "maven" plugin to customize the POM before publication.

This commit now uses a Gradle Java Platform for publishing the Spring
Framework BOM. We're also now using the "maven-publish" plugin to
prepare and customize publications.

This commit also tells the artifactory plugin (which is currently
applied only on the CI) not to publish internal modules.

See gh-23282
2019-08-21 15:39:51 +02:00
Brian Clozel e45a3f4738 Rename non-Framework project modules
Prior to this commit, the Spring Framework build would mix proper
framework modules (spring-* modules published to maven central) and
internal modules such as:
* "spring-framework-bom" (which publishes the Framework BOM with all
modules)
* "spring-core-coroutines" which is an internal modules for Kotlin
compilation only

This commit renames these modules so that they don't start with
"spring-*"; we're also moving the "kotlin-coroutines" module under
"spring-core", since it's merged in the resulting JAR.

See gh-23282
2019-08-21 14:32:25 +02:00
Brian Clozel b3aebf9e9b Download docs resources as zip file in asciidoc build
Prior to this commit, the reference documentation build with asciidoctor
would get the common "spring-docs-resources" as a dependency and then
use it when generating the docs.

As seen in #23124, this can cause problems since we'd like to
consistently resolve our dependencies. In this case, the
"spring-doc-resources" archive is not published on maven central since
it's not officially supported by the Spring team as an open source
project.

This commit updates the reference documentation build to get this
archive as a simple download task and avoid resolving it as a
dependency.

See gh-23282
2019-08-20 23:36:59 +02:00
Brian Clozel 4a3e2484ac Ignore spring-framework-bom project in global config
This commit ensures that the spring-framework-bom project is ignored
from the global configuration block. If not, many conventions and
dependencies are added to it and add noise to the published BOM.

See gh-23282
2019-08-20 20:33:10 +02:00
Brian Clozel e9523161f0 Revert "Revert "Refactor Gradle tasks in Spring Framework build""
This reverts commit fb0d618751.
2019-08-20 20:26:43 +02:00