* Upgrade to Gradle 5.2.1, SonarQube 2.7, asciidoctor 1.5.10,
Apache Sshd 2.2.0, AsertJ 3.12.0, Curator Framework 4.1.0, room Tool 1.12.0,
Checkstyle 8.17
* remove Eclipse Link support in JPA tests since it is not compatible
with Java 11
* Move 5.1 changes to the `changes-5.0-5.1.adoc`; start new "What's New"
* Upgrade to Gradle 4.7 and others, polishing build
* Fix `MqttAdapterTests` according requirement of the latest Mockito
* Move `int-derby.properties` to the `/resources` from `/java`
* Fix Checkstyle violations
JIRA: https://jira.spring.io/browse/INT-550
* We need verify schema version and register `IntegrationRegistrar`
only once, not on parsing each element
* `@Ignore` time-sensitive `GroovyScriptExecutingMessageProcessorTests`
* Upgrade to Gradle-4.3.1 to overcome NPE with caches
The `PollableChannelPublisherAdapter` is based on the poll model of the
`FluxSink` and iterate and poll downstream `PollableChannel` until
there is an item or `n > 0`.
Having `take(6)` we end up with the cancel from the downstream
`Subscriber` after the batch is filled, but at the same time we continue
to poll the upstream source because `n` is like `Long.MAX_VALUE`.
* The proper way to interact is check for the `!sink.isCancelled()`
as well.
This way cancelled `sink` won't "steal" data from other subscribers
Fix compatibility with the latest dependencies
* Upgrade to Gradle 4.1
* Upgrade as much dependencies as possible
* Fix MongoDB module to resolve deprecation in the latest driver
* Increase receive timeout in the `ResequencerTests`
* Restore generic argument for the method reference in the `ReactiveStreamsTests`
* Fix `WebFluxInboundEndpoint` for the compatibility with the latest Reactor API
https://build.spring.io/browse/INT-MASTER-733
The Netty tries to load `netty-transport-native-epoll` too long, more
then 10 seconds we expect in the `AbstractStompSessionManager`, therefore
we end up having `StompConnectionFailedEvent` as a first event in the
queue channel for STOMP events.
* Increase connection wait timeout to `30 secs`, like it is in many other
places in Spring
* Provide some Java 8 style refactoring for the `AbstractStompSessionManager`
* Fix `StompServerIntegrationTests` to poll events from queue until
`StompSessionConnectedEvent` any way
* Upgrade to Gradle 4.0 and `spring-io-plugin-0.0.8`
* Bump `org.sonarqube` version to `2.5` - `2.1` isn't compatible with Gradle 4.0
* Upgrade to Gradle 3.5, SS-5.0, Hibernate-5.2.10, Mockito-2.7.22, Pah-1.1.1
And some other minor upgrades
* Fix deprecations for Mockito compatibility
* Fix `ServletWebSocketHandlerRegistry` deprecations
* Fix SD-Mongo deprecations
* Tweak JMX tests to avoid dangling threads after tests exist
* Increase timeouts in some polling tests
JIRA: https://jira.spring.io/browse/INT-4007
* Revert all `B-S` dependencies to their latest Milestones
* Upgrade to Gradle 3.3 and some plugins
* Add more info into `MANIFEST.MF` via Gradle config
JIRA: https://jira.spring.io/browse/INT-4019
* Add `org.gradle.daemon=true` to `gradle.properties`
* Add `--no-daemon` to CI plans, such as `master` and `nightly`
* Adjust `.travis.yml` to disable `gradlew assamble` task and allow artifacts caching
Add `script` to `.travis.yml` config
Since we have sometimes the problem with cached dependencies and the Travis report doesn't reflect the reality properly,
add `--refresh-dependencies` to avoid such a caching bottleneck
Also add `--parallel` for experiment to see if a new Gradle and Travis can overcome that now
No `--parallel`
Doesn't work forTravis. It indicates the maximum load for CPU as a critical error and interrupts the spawned Gradle Threads
Add `--no-daemon`
This option does not make sense for Travis. It starts a new environment for each build.
Meanwhile looks like `caching` and `--refresh-dependencies` do their premise
* `gradlew clean check -x test --parallel --continue` - to collect reports
* `gradlew fixThis --parallel` - to fix all possible vulnerabilities. With `-Dfile.encoding=UTF-8` on Windows
Since the `RequireThisCheck` doesn't see parents for anonymous classes (e.g. `Runnable` callback), its report doesn't contains the outer class name with `this.`,
therefore we still have to fix those cases manually.
Thanks to the wrong `replacer` just with `this.` we have uncompilable code enough easy to find problems.
Not so easy to fix for good readability though...
* Upgrade to Grade 2.12
* Upgrade to SonarQube native plugin
The fix contains at about 300 files. So, will be done on merge.
Fix `fixThis.gradle` according PR comments
Apply `fixThis` and also `fixModifiers` for test classes.
Fix some `this.` inner issues manually.
Make code polishing for long lines after `fixThis`
Fix conflicts and vulnerabilities after the rebase
JIRA: https://jira.spring.io/browse/INT-3780
- Move `s-i-test` to top of file to avoid deprecation warning
- Change `jacoco` to use the Gradle plugin
- Enable generation of `jacoco` coverage html report
- Hibernate tests need `javax.persistence` `2.1` eclipselink pulls in `2.0`;
works ok with gradle 2.3, but with 2.5 the 2.0 versions are loaded.
- replace `jpaApiVersion` build variable with the `jpa21ApiVersion`
JIRA: https://jira.spring.io/browse/INT-3403
* Upgrade to Gradle 1.12
* Make `schemaZip` Windows compatible
INT-3403: Fix the `replaceAll` logic
INT-3403: Apply SS & SWS releases
* Add to `LongRunningIntegrationTest` ability to read `System.properties`
Note, ENV property 'RUN_LONG_INTEGRATION_TESTS' has a preference in case of value `true`
* Add Gradle task `testAll`
* Upgrade to Gradle 1.7
* Improve build performance by adding 'inputs'/'outputs' to some tasks
JIRA: https://jira.springsource.org/browse/INT-3155
Polishing
Remove inputs/outputs.
Polish RouterConcurrencyTest.
.gradle scripts once in gradle/ dir now live in shared buildSrc/ dir.
Some hard-coding of Spring Integration specifics still remain and will
be removed shortly.
Generate poms from Gradle metadata with
`gradle generatePom`
This will create a root pom with a <modules> section as well as a pom
for every individual module.
These poms are suitable for use with m2eclipse (e.g., File->Import->
Existing Maven project), or at the command line for basic build goals
such as `mvn test`.
These poms are not capable of producing distribution artifacts or
deployment of artifacts.
pom.xml and target will remain in .gitignore as these artifacts are
transient and for developer convenience only.
Requires significant pom customization in maven-deployment.gradle
which has been verified at `gradle install` time, but not yet at
`gradle uploadArchives` time. Need to figure out how to eliminate
the duplication going on there.
Complete:
--------
- src/* documentation resources moved to 'docs' subproject
- docbook sources upgraded to Docbook 5
- formatted all docbook sources to strip tab characters and
eliminate trailing whitespace
- all projects compile and test successfully
- all artifacts upload successfully to s3, static.sf.org, etc.
Remaining:
---------
- documentation L&F needs work. CSS, images, and highlighting aren't
hooked up properly
- spring-integration-jdbc codegen bits in Maven POM need to be
transcribed into gradle
- dependencies that were optional or provided scope in maven are
currently 'compile' scope in Gradle. Need to figure out support
in Gradle to fix this.
- run through Eclipse classpath and project generation scenarios
- delete all Maven artifacts