Commit Graph

619 Commits

Author SHA1 Message Date
Artem Bilan
1aea280cc9 Remove explicit Reactor deps for RSockets
* It looks like we don't need to manage Reactor dependencies in the
RSocket module: the `io.rsocket:rsocket-transport-netty` brings
everything we need, although it doesn't that with its own supported
versions
* Use non-HTTPS url for `example.org` in test config to avoid SSL
handshake
2019-06-27 11:14:36 -04:00
Artem Bilan
244e5942df Fix nohttp for custom whitelist.lines
Looks like we can't have a custom `whitelist.lines` in the `/checkstyle`
dir.

* Move `whitelist.lines` with the `http://www.jcraft.com` entry into the
`/src/nohttp`
* Upgrade `nohttp` to `0.0.3`
* Revert `jsch` URL in the `sftp.adoc`
* Upgrade to Micormeter-1.1.5
2019-06-17 16:55:37 -04:00
Artem Bilan
a77dac5347 Fix new Sonar smells; revert to BUILD-SNAPSHOTs 2019-06-15 10:59:36 -04:00
Gary Russell
1b5c588271 Upgrade Spring Security to 5.2.0.M3 2019-06-14 16:20:01 -04:00
Artem Bilan
24b8e58938 Upgrade to latest Lettuce Redis driver 2019-06-14 13:38:22 -04:00
Gary Russell
144790e921 Upgrade Spring Framework, AMQP Versions 2019-06-14 13:27:01 -04:00
Gary Russell
173eca2963 Upgrade to Spring Data Moore RC1 2019-06-14 10:31:06 -04:00
Gary Russell
0b3421ce6d Upgrade rsocket to 0.12.2-RC4 2019-06-13 16:43:27 -04:00
Gary Russell
70c799f9dd Upgrade reactor milestones 2019-06-13 16:40:52 -04:00
Artem Bilan
1c88ba19d7 Polishing for nohttp plugin
* Move the plugin and its task into the root project configuration
* Add more image file extensions to exclude
* Fix `sftp.adoc` do not use HTTP url for the JSCH library project page;
 use GitHub repo link instead
2019-06-10 13:59:30 -04:00
Gary Russell
703141b433 Reverse check/checkAsciidocLinks order 2019-06-05 15:16:51 -04:00
Gary Russell
8c68255050 Fix doc links; add checkAsciidocLinks to testAll 2019-06-05 14:51:10 -04:00
Gary Russell
7e0a5e90b4 Build: asciidoc link check improvement
- find all link errors before failing
2019-05-30 18:14:39 -04:00
Artem Bilan
1d08d3bdc2 Various Docs build fixes
https://build.spring.io/browse/INT-MASTER-1568/

* Fix `whats-new.adoc` for broken link
* remove `logDocuments = true` from the `build.gradle`
* Change the Gradle task name in the `.travis.yml` for consistency
2019-05-30 15:27:49 -04:00
Gary Russell
2a50a26252 Build: check external asciidoc links
* Check external links have a description

* Use Groovy regex instead of Java

* Add source file name to exception message

* Add 'checkAsciiDocLinks' to Travis build
2019-05-30 15:09:45 -04:00
Artem Bilan
e9591c6fdf Make spring-ws-core optional for SI-xml
It turns out that `spring-ws-core` brings too much WS stuff which
triggers and auto-configuration to be enabled in Spring Boot app when
we don't expect it.

* The `UnmarshallingTransformer` is already aware of `MimeMessage` and
`MarshallingUtils` being optional, so just remove redundant `public`
modifier for `maybeUnmarshalMimeMessage()` method
* Load `ServletContextResource` class in the `XsltPayloadTransformer`
on demand making such a dependency as optional
2019-05-30 14:08:15 -04:00
Gary Russell
d2d09cd8d8 Upgrade Jackson 2019-05-30 09:39:21 -04:00
Artem Bilan
65c884cec7 Enable nohttp Gradle plugin
* Add `io.spring.nohttp` Gradle plugin into the build script and allow
it only on CI server, since it is going to parse every file
* Fix tests do not use `http` any more
* Fix `test.html` in the `mail` modules tests to exclude a Namespace for
OExchange XRD protocol
* Fix some files for new line in the end of file according Checkstyle
violations
2019-05-30 09:32:26 -04:00
Gary Russell
9fa9d1b3d0 Add Multi-Page HTML Reference
- to avoid having to load the whole document
- provide a link to the single page version for browser search

* Fix cross-document links.

Links need to be qualified with the containing file name for the
multi-page html doc.
2019-05-29 17:47:34 -04:00
Artem Bilan
3b57713c1f Upgrade dependencies, Gradle; prepare for release
* Fix Checkstyle violations according the latest update
2019-05-13 12:35:16 -04:00
Gary Russell
cea47f7904 Upgrade versions for 5.2.0.M2 2019-05-13 10:36:18 -04:00
Gary Russell
2a16fc54f2 AMQP: Exclude spring transitive dependencies 2019-05-07 10:44:37 -04:00
Artem Bilan
444cd1e8df Move SF dependencies to the latest BUILD-SNAPSHOT (#2921)
* Move SF dependencies to the latest BUILD-SNAPSHOT

To avoid class loader issues it is better to align Spring Data
dependencies with SF version we use explicitly.
This way we don't have a `ClassLoader` issue when a newly introduced
`TransactionManager` might not be visible from the previous versions

* Fix code style warnings in the `TransactionSynchronizationFactoryBean`
* Use `JavaUtils` in the `TransactionSynchronizationFactoryBean` to
decrease code complexity

* * Fix CQ Gemfire tests for upgrades compatibility
2019-05-03 10:33:06 -04:00
Artem Bilan
89e11f2c46 Add initial support for RSockets (#2902)
* Add initial support for RSockets

* Add `spring-integration-rsocket` module and respective dependencies
* Implement `RSocketOutboundGateway` based on the Spring Messaging
`RSocketRequester`.
This component supports dynamic RSocket properties via expressions
against request message.
to handle `Publisher` for requests, it must be present in the request
message `payload` instead of `FluxMessageChannel` upstream, since the
last one just flattens events to be handled in the `MessageHandler` one
by one.
The result `Mono` is subscribed downstream in the `FluxMessageChannel`
or directly by the `AbstractReplyProducingMessageHandler`.
If result is a `Flux` it is just wrapped into the `Mono` to be processed
downstream by end-user code.
The point is that these request/replies are volatile and live in the
particular context meanwhile a `FluxMessageChannel` is long living
publisher in the application context boundaries.
* The `RSocketOutboundGatewayIntegrationTests` is an adapted copy of
`RSocketClientToServerIntegrationTests` from Spring Messaging
* Add `doOnError()` into the `Flux` created in the
`AbstractMessageProducingHandler` for `Publisher` replies

* * Use singular for the `RSocket` term
* Use no-op `Consumer` for the `strategiesConfigurer` and
`factoryConfigurer` in the `RSocketOutboundGateway` and also
`Assert.notNull()` in the appropriate setters to avoid null check during
`RSocketRequester.builder()` initialization
* Use `TcpServer.create().port(0)` in the
`RSocketOutboundGatewayIntegrationTests` to allow to select free OS port
and bind into it.
The selected port is used later for client configuration in the
`RSocketOutboundGateway` bean definition

* * Change `RSocketOutboundGatewayIntegrationTests.PORT` to lower case
2019-04-25 14:07:56 -04:00
Artem Bilan
7dff1d5416 Add support for Kotlin JSR223 scripts (#2898)
* Add support for Kotlin JSR223 scripts

* Add required Kotlin dependencies into the `spring-integration-scripting`
module
* Introduce `KotlinScriptExecutor` to interact with the
`KotlinJsr223JvmLocalScriptEngineFactory` directly since there is no
`META-INF/services/javax.script.ScriptEngineFactory` file in the Kotlin
* Also set an `idea.use.native.fs.for.win` system property to `false` in
this class to disable check for native support on Windows.
(Might be removed in future Kotlin versions)
* Move `ScriptParser.getLanguageFromFileExtension()` logic into the
`ScriptExecutorFactory.deriveLanguageFromFileExtension()` since the same
one must be applied in the `DslScriptExecutingMessageProcessor`, too.
* Modify tests to reflect Kotlin support
* Fix some test scripts to their official extensions

* * Add JavaDocs
* Polishing according Sonar objections
2019-04-19 12:29:08 -04:00
Artem Bilan
cdf0c5c15b Upgrade to Gradle 5.3.1, Kotlin-1.3.30
* Fix new Sonar smell in the `CacheRequestHandlerAdvice`
2019-04-15 14:15:46 -04:00
Artem Bilan
36581bfed8 Upgrade to Spring Security 5.2 M2 2019-04-15 13:31:46 -04:00
Artem Bilan
17bd68c062 Downgrade H2 to 1.4.197
See https://github.com/spring-projects/spring-boot/issues/16512
2019-04-15 09:12:33 -04:00
Artem Bilan
06d3213e08 Upgrade dependencies 2019-04-11 11:32:38 -04:00
Artem Bilan
d047d28de8 Fix new Sonar smells
Upgrade dependencies for upcoming release
2019-04-11 09:20:38 -04:00
Artem Bilan
a49b04e7f6 Upgrade to SF-5.2 M1 & SA-2.2 M1; Checkstyle 8.19 2019-04-10 15:47:50 -04:00
Gary Russell
5e39082237 Align dependencies with Boot 2019-03-29 16:55:41 -04:00
Artem Bilan
872302de6e Add -Dfile.encoding=UTF-8 into gradle.properties
To avoid wrong encoding during reading and writing files by the
`updateCopyrights` Gradle task, it is better to have an explicit
`-Dfile.encoding=UTF-8` before starting JVM.

* Fix `AbstractFilePayloadTransformerTests` for non-standard symbols in
the test data
* fix broken test
`FileToStringTransformerTests.transform_withWrongEncoding_notMatching()`
2019-03-22 14:13:20 -04:00
Artem Bilan
c9e5f99de5 Fix tests according HTTPS for origin urls 2019-03-20 11:24:44 -04:00
Artem Bilan
7efb14cf60 GH-2753: Remove Guava dependency
Fixes https://github.com/spring-projects/spring-integration/issues/2753

* Remove Guava dependency and its minor functionality from the
`StoredProcExecutor`
* Remove `@ManagedResource` and its operations/attributes from
`StoredProcExecutor` since they are not relevant any more
* Remove tests related to JMX and Guava
* Refactor all other tests in the affected classes
* Some code polishing in the `StoredProcExecutor`
2019-03-07 12:59:18 -05:00
Gary Russell
b187bca36e Avoid throws Exception where possible - Phase I
* Polishing - PR Comments
2019-03-07 12:53:52 -05:00
Artem Bilan
e9216287c2 INT-4497: Add RateLimiterRequestHandlerAdvice (#2781)
* INT-4497: Add RateLimiterRequestHandlerAdvice

JIRA: https://jira.spring.io/browse/INT-4497

* * Remove unused property
2019-03-06 16:38:04 -05:00
Spring Operator
e32f87731a URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were fixed successfully.

* http://docs.oracle.com/javaee/6/api/ migrated to:
  https://docs.oracle.com/javaee/6/api/ ([https](https://docs.oracle.com/javaee/6/api/) result 200).
* http://docs.oracle.com/javase/7/docs/api/ migrated to:
  https://docs.oracle.com/javase/7/docs/api/ ([https](https://docs.oracle.com/javase/7/docs/api/) result 200).
* http://docs.spring.io/spring-amqp/docs/current/api/ migrated to:
  https://docs.spring.io/spring-amqp/docs/current/api/ ([https](https://docs.spring.io/spring-amqp/docs/current/api/) result 200).
* http://docs.spring.io/spring-data-gemfire/docs/current/api/ migrated to:
  https://docs.spring.io/spring-data-gemfire/docs/current/api/ ([https](https://docs.spring.io/spring-data-gemfire/docs/current/api/) result 200).
* http://docs.spring.io/spring-data/data-mongo/docs/current/api/ migrated to:
  https://docs.spring.io/spring-data/data-mongo/docs/current/api/ ([https](https://docs.spring.io/spring-data/data-mongo/docs/current/api/) result 200).
* http://docs.spring.io/spring-data/data-redis/docs/current/api/ migrated to:
  https://docs.spring.io/spring-data/data-redis/docs/current/api/ ([https](https://docs.spring.io/spring-data/data-redis/docs/current/api/) result 200).
* http://docs.spring.io/spring-ws/sites/2.0/apidocs/ migrated to:
  https://docs.spring.io/spring-ws/sites/2.0/apidocs/ ([https](https://docs.spring.io/spring-ws/sites/2.0/apidocs/) result 200).
* http://docs.spring.io/spring/docs/current/javadoc-api/ migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/ ([https](https://docs.spring.io/spring/docs/current/javadoc-api/) result 200).
* http://spring.io migrated to:
  https://spring.io ([https](https://spring.io) result 200).
* http://www.apache.org/licenses/LICENSE-2.0.txt migrated to:
  https://www.apache.org/licenses/LICENSE-2.0.txt ([https](https://www.apache.org/licenses/LICENSE-2.0.txt) result 200).
2019-03-06 09:37:44 -05:00
Gary Russell
0ce6d1cef8 Restore Sonar to 2.7
This reverts commit 10637db614.
2019-02-25 17:06:50 -05:00
Gary Russell
10637db614 Revert Sonar to 2.6.2 2019-02-25 16:17:28 -05:00
Artem Bilan
9c84eceec2 Optimize updateCopyrights, checkTestConfigs tasks
* The Gradle `checkTestConfigs` task deals only with resources,
so narrowing its `outputs` to the `build/resources`
* The Gradle `updateCopyrights`  tasks deals only with compiled classes,
so narrowing its `outputs` to the `build/classes`
2019-02-21 19:04:32 -05:00
Artem Bilan
622d42c71a Migrate tests to AssertJ
Mostly thanks to IDEA's plugin: https://plugins.jetbrains.com/plugin/10345-assertions2assertj
There is still a lot of work to do when complex and composite matchers are used.

* Add `awaitility` dependency and deprecate `EventuallyMatcher` in favor
of `awaitility`
* Remove Hamcrest from dependencies and disable JUnit & Hamcrest
static imports to encourage to use only AssertJ
* Migrate JUnit assumptions in rules to AssertJ's assumptions
* Deprecate some custom matchers in favor of existing in Hamcrest
after upgrading the last to version `2.1`
* Replace `ExpectedException` rules with `assertThatThrownBy()`
* Mention `MessagePredicate` in the `testing.adoc`
2019-02-21 10:20:45 -05:00
Artem Bilan
9e238f5d69 Upgrades and doc fixes
* 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"
2019-02-15 15:54:18 -05:00
Gary Russell
520ebbbd2c Move master to 5.2 2019-02-15 12:01:24 -05:00
Artem Bilan
d38db25fb7 Fix updateCopyrights Gradle task
* Do not modify files which already has an actual year in the Copyright
* Make it to be performed really before any compilation, there change
to `compileKotlin.dependsOn updateCopyrights`
2019-02-14 13:42:48 -05:00
Artem Bilan
fe5d0affde Optimize checkTestConfigs task for UP_TO_DATE
We really don't need to parse `inputs.files` for wrong XSD configuration.
This is already a responsibility of the task.
There is just enough to track changes in the XML configs and if they
happened only after that treat the task as out of date and parse configs
for wrong XSD configuration
2019-02-14 10:39:50 -05:00
Artem Bilan
1fad620b8f Upgrade Spring Data & security; fix docs path 2019-02-13 16:23:06 -05:00
Artem Bilan
9879c7450c Upgrade dependencies, including Kotlin 2019-02-13 14:34:56 -05:00
Artem Bilan
daf00154c6 Add updateCopyrights Gradle task
To avoid extra manual task to check all the files for actual Copyright
header an `updateCopyrights` is introduced to be performed before
`processResources` and check modified classes via `Git status` command
by the `grgit` plugin.
The `updateCopyrights` task is enabled only locally: when it's not on
Travis or Bamboo - no reason to infer code base when it is not going
to be committed.
2019-02-13 13:45:57 -05:00
Jay Bryant
7980afef9b INT-4339: Remove Docbook & rely on Asciidoctor
JIRA: https://jira.spring.io/browse/INT-4339
2019-01-29 21:47:18 -05:00