This change publishes a build scan to ge.spring.io for every local
build from an authenticated Spring committer and for CI where
appropriate access tokens are available. The build will not fail if
publishing fails.
This change also allows the build to benefit from remote build caching,
providing faster builds for all contributors.
Additionally, the project will have access to all features of Gradle
Enterprise such as:
- Dashboards to view all historical build scans, along with performance
trends over time
- Build failure analytics for enhanced investigation and diagnosis of
build failures
- Test failure analytics to better understand trends and causes around
slow, failing, and flaky tests
* Enable Gradle test-support for all samples.
* "Fix" for coverage failure org.springframework.integration.samples.barrier.ApplicationTests#contextLoads(); AmqpConnectException: java.net.ConnectException: Connection refused
~ inspired by ".. we generally use a JUnit @Rule to skip the test if the broker's not available." - Gary Russell
@see https://stackoverflow.com/a/38747559
* Temporarily disabled Gradle test-support for file-split-ftp & tcp-client-server-multiplex, in-order to allow for successful Gradle check task execution.
* Temporarily disabled remaining failing coverage, in-order to support continous integration going forward
@see https://github.com/spring-projects/spring-integration-samples/pull/335#discussion_r1072371788
Co-authored-by: Daniel Hammer <daniel.hammer+oss@gmail.com>
Fixes https://github.com/spring-projects/spring-integration-samples/issues/340
The `LoggingHandler` uses a `org.springframework.integration.handler` category by default.
So, the `info` provided for the `loggingChannelAdapter` service activator does not
have any effects because `logback.xml` has an `ERROR` for the
`org.springframework.integration` category
* Use dedicated `wsLog` category in the `LoggingHandler` bean definition
to print a server message published to the subscribed web socket clients
Turns out the CORS is always enabled for WebSocket with SockJS.
So, since we cannot predict an URL for the `index.html` therefore we always recommend open it on the same host port as server application - `http://localhost:8080`
* Add `set('spring-integration.version', "$springIntegrationVersion")`
into Gradle build file to override dependency for Spring Boot
to pull the fix for WebSockets in Spring Integration
* Fix `ListenableFutureTest` to the `CompletableFutureTest`
to solve deprecation warnings.
* Remove usage of removed `org.springframework.util.SocketUtils`
in favor of OS-selected port
* Migrate mail tests to Greenmail instead of already obsolete (and soon to be removed)
`org.springframework.integration.test.mail.TestMailServer`
* Upgrade to the latest dependencies
* Migrate samples to `jakarta` namespace
* Rework `cafe-scripted` to RSocket instead of already removed RMI
* Migrate JMS samples to Apache Artemis for Jakarta EE 9
* Disables mails tests since there is a requirement to migrate to Greenmail for Jakarta EE 9 support
* Rework `generatePom` task to a new `maven-publish` plugin style