Commit Graph

704 Commits

Author SHA1 Message Date
Juergen Hoeller 2fea1f7da3 Upgrade to RxJava 2.0 RC3 (as well as EhCache 3.1.3 and Hibernate ORM 5.2.3) 2016-10-05 00:04:51 +02:00
Juergen Hoeller 099350a28e Upgrade to Jetty 9.4.0.RC0 and POI 3.15 2016-09-22 13:34:09 +02:00
Juergen Hoeller d71f6fe366 Latest dependency updates (EclipseLink 2.6.4, Jackson 2.8.3, JavaMail 1.5.6) 2016-09-19 21:51:34 +02:00
Juergen Hoeller 3772398700 Explicit sun.nio.ch export for Netty's NioEventLoopGroup on JDK 9
Issue: SPR-14645
2016-09-16 18:59:14 +02:00
Juergen Hoeller 3fdc11e739 Latest dependency updates (Undertow 1.4.3, EhCache 3.1.2, Caffeine 2.3.3, Rome 1.7, Woodstox 5.0.3, Jettison 1.3.8, JRuby 9.1.5.0, RxJava 2.0 RC2, RxNetty 0.5.2 RC4) 2016-09-16 10:39:26 +02:00
Juergen Hoeller 6f491bb319 Upgrade to Tomcat 8.5.5 and Undertow 1.4.2 2016-09-13 21:27:01 +02:00
Juergen Hoeller b88ed85994 Upgrade to Hibernate Validator 5.3 CR1 (and Protobuf 3.0.2)
Issue: SPR-13965
2016-09-10 12:39:46 +02:00
Sam Brannen 2f2e6dffb4 Upgrade to TestNG 6.9.12 2016-09-09 18:02:47 +02:00
Rossen Stoyanchev 1ae64bfbd3 Resource handling support for Spring Web Reactive
A straight-forward port of the resource handling support in
spring-webmvc to spring-web-reactive. Primarily adapting contracts and
implementations to use the reactive request and response and the
reactive ResourceHttpMessageWriter.

Issue: SPR-14521
2016-09-05 21:59:22 -04:00
Sebastien Deleuze 5755b67325 Upgrade to Reactor Core 3.0.2 2016-09-03 16:19:52 +02:00
Rossen Stoyanchev a1ac51256a Add MockServerHttpRequest/Response to spring-test
Issue: SPR-14421
2016-09-02 12:15:00 -04:00
Sebastien Deleuze 2cd3135c3b Upgrade to Reactor Core 3.0.1 and Reactor Netty 0.5.1 2016-09-02 15:47:11 +02:00
Stephane Nicoll dcade06fa0 Support for candidate components index
This commit adds a "spring-context-indexer" module that can be added to
any project in order to generate an index of candidate components defined
in the project.

`CandidateComponentsIndexer` is a standard annotation processor that
looks for source files with target annotations (typically `@Component`)
and references them in a `META-INF/spring.components` generated file.

Each entry in the index is the fully qualified name of a candidate
component and the comma-separated list of stereotypes that apply to that
candidate. A typical example of a stereotype is `@Component`. If a
project has a `com.example.FooService` annotated with `@Component` the
following `META-INF/spring.components` file is generated at compile time:

```
com.example.FooService=org.springframework.stereotype.Component
```

A new `@Indexed` annotation can be added on any annotation to instructs
the scanner to include a source file that contains that annotation. For
instance, `@Component` is meta-annotated with `@Indexed` now and adding
`@Indexed` to more annotation types will transparently improve the index
with additional information. This also works for interaces or parent
classes: adding `@Indexed` on a `Repository` base interface means that
the indexed can be queried for its implementation by using the fully
qualified name of the `Repository` interface.

The indexer also adds any class or interface that has a type-level
annotation from the `javax` package. This includes obviously JPA
(`@Entity` and related) but also CDI (`@Named`, `@ManagedBean`) and
servlet annotations (i.e. `@WebFilter`). These are meant to handle
cases where a component needs to identify candidates and use classpath
scanning currently.

If a `package-info.java` file exists, the package is registered using
a "package-info" stereotype.

Such files can later be reused by the `ApplicationContext` to avoid
using component scan. A global `CandidateComponentsIndex` can be easily
loaded from the current classpath using `CandidateComponentsIndexLoader`.

The core framework uses such infrastructure in two areas: to retrieve
the candidate `@Component`s and to build a default `PersistenceUnitInfo`.
Rather than scanning the classpath and using ASM to identify candidates,
the index is used if present.

As long as the include filters refer to an annotation that is directly
annotated with `@Indexed` or an assignable type that is directly
annotated with `@Indexed`, the index can be used since a dedicated entry
wil be present for that type. If any other unsupported include filter is
specified, we fallback on classpath scanning.

In case the index is incomplete or cannot be used, The
`spring.index.ignore` system property can be set to `true` or,
alternatively, in a "spring.properties" at the root of the classpath.

Issue: SPR-11890
2016-09-01 15:30:47 +02:00
Sebastien Deleuze 48d67a245b Add support for RxJava 2
This commit adds support for RxJava 2 Completable,
Single, Observable and Flowable types (io.reactivex package).

Issue: SPR-14628
2016-09-01 14:48:16 +02:00
Juergen Hoeller 1cf503f939 Upgrade to JSR-354 API 1.0.1 and Jackson 2.8 javadocs 2016-09-01 12:49:01 +02:00
Sam Brannen ab7b5e5c77 Demo how to use SpringClassRule in nested test classes
Due to restrictions imposed by JUnit 4, the SpringClassRule must be
declared as a public static field, which makes it impossible to be
declared directly within a nested (i.e., inner) test class.

This commit demonstrates a work-around that makes it possible to use
the SpringClassRule and SpringMethodRule in a nested (i.e., inner) test
class when using a custom JUnit 4 runner such as the
HierarchicalContextRunner from Stefan Bechtold.

The trick is to have inner test classes extend a class that properly
declares the SpringClassRule and SpringMethodRule. The
SpringRuleConfigurer in this commit serves as an example.

Note, however, that each such nested test class must declare its own
@ContextConfiguration. Furthermore, TestExecutionListeners in the
Spring TestContext Framework are not applied to the enclosing instance
of such an inner test class, meaning that @Autowired fields in the
enclosing instance will not be injected, etc.

Issue: SPR-14150
2016-08-31 19:35:00 +02:00
Juergen Hoeller b19d3fc0e1 Upgrade to Jackson 2.8.2 and Netty 4.1.5 2016-08-30 12:58:44 +02:00
Sebastien Deleuze e8530c917e Add Smile and CBOR Jackson data formats support
This commit adds Smile and CBOR Jackson HttpMessageConverters
and make it possible to create Smile and CBOR ObjectMapper via
Jackson2ObjectMapperBuilder, which now allows to specify any
custom JsonFactory.

Like with JSON and XML Jackson support, the relevant
HttpMessageConverters are automaticially configurered by
Spring MVC WebMvcConfigurationSupport if jackson-dataformat-smile
or jackson-dataformat-cbor dependencies are found in the classpath.

Issue: SPR-14435
2016-08-30 11:06:40 +02:00
Stephane Nicoll c399b4b3ad Upgrade to SonarQube plugin 2.1-rc1
This commit upgrades the SonarQube plugin so that it is compatible with
Gradle 3.

Issue: SPR-14569
2016-08-30 10:42:32 +02:00
Juergen Hoeller a8f7f75f64 Moved encodeHttpHeaderFieldParam method to HttpHeaders itself (including tests)
This commit also sets the test source encoding to UTF-8.

Issue: SPR-14547
2016-08-26 11:14:02 +02:00
Brian Clozel e05a13841f Upgrade to latest reactor/reactor-netty snapshots
* reactor-core 3.0.1.BUILD-SNAPSHOT
* reactor-netty 0.6.0.BUILD-SNAPSHOT
2016-08-22 19:14:49 +02:00
Sam Brannen 9629afbcfd Restore JUnit XML reports location for TestNG tests
This commit ensures that JUnit XML reports are generated in the old
Gradle 2.x location for all tests in the spring-test module.

Issue: SPR-14569
2016-08-22 16:30:14 +02:00
Stephane Nicoll e6353f0ec7 Fix JUnit reports location
Issue: SPR-14569
2016-08-22 14:50:18 +02:00
Stephane Nicoll c64cdcc47f Restore JUnit reports location
Since the upgrade to Gradle 3, our Bamboo build is failing because it
can't find test reports "at the usual location".

This commit restores the location that Gradle 2 was using until we
upgrade to a version of Bamboo that supports it.

Issue: SPR-14569
2016-08-22 14:10:12 +02:00
Rob Winch 3d68806ca1 Consistent reactor-core versions
Previously the IDE (STS) was resolving a different reactor-core
version (3.0.0.BUILD-SNAPSHOT) than the build (3.0.0.RELEASE). This
discrepancy was due to the fact that reactor-netty now brings in
reactor-core 3.0.0.RELEASE. Gradle's version conflict resolution is to use
the latest version. However, the optional dependency on reactor-core
3.0.0.BUILD-SNAPSHOT was making the build path of the IDE use the SNAPSHOT.

This fix leverages a resolutionStrategy to ensure a consistent version of
reactor-core is used throughout the entire project. It also bumps up the
reactor-core version to 3.0.0.RELEASE to be consistent with reactor-netty.
Care is taken to only change 3.x vesion since 2.x is still used within
the codebase.
2016-08-19 12:56:29 -05:00
Juergen Hoeller b4db161880 Latest dependency updates (Caffeine 2.3.2, RxJava 1.1.9, Jetty 9.4.0.M1) 2016-08-17 22:11:55 +02:00
Sam Brannen 669fd80854 Upgrade build to Gradle 3.0
Issue: SPR-14569
2016-08-15 21:26:39 +02:00
Rossen Stoyanchev cc288a0c4a Switch back to Reactor 3.0 snapshots 2016-08-08 16:42:30 -04:00
Juergen Hoeller 526ce28ef0 Upgrade to Hibernate ORM 5.2.2 and Undertow 1.4 GA / XNIO 3.4 2016-08-08 16:01:02 +02:00
Brian Clozel 7af97c38ce Upgrade to Protobuf 3.0.0 2016-08-02 14:57:49 -07:00
Juergen Hoeller 0a5e5776c1 Upgrade to Undertow 1.4 CR4
Issue: SPR-14328
2016-07-28 10:54:14 +02:00
Juergen Hoeller fffea06056 Upgrade to Netty 4.1.4 2016-07-27 16:22:26 +02:00
Juergen Hoeller fd9e88d372 Skip Animal Sniffer for the time being (since it chokes on JDK 9 bytecode) 2016-07-27 13:44:44 +02:00
Juergen Hoeller 06edd232b3 Upgrade to AspectJ 1.9 beta 5
Issue: SPR-13344
2016-07-27 12:11:48 +02:00
Juergen Hoeller c5677f725e Upgrade to Jetty 9.3.11 2016-07-26 22:33:21 +02:00
Juergen Hoeller 3d6a5bcd66 Switch to latest published versions of Reactor and RxNetty 2016-07-26 15:37:55 +02:00
Juergen Hoeller c4cc91c009 Upgrade to RxJava 1.1.8 2016-07-25 23:51:05 +02:00
Juergen Hoeller 75fc0f8538 Framework build compatible with JDK 9 (even with -target 1.9)
Issue: SPR-13344
2016-07-25 23:26:09 +02:00
Juergen Hoeller 01110f678d Upgrade JiBX (and BCEL) towards support of 1.8 bytecode level
This commit also drops the now-unused CUSTOM_COMPILATION test group and the outdated JavaVersion class.

Issue: SPR-10423
2016-07-25 14:10:46 +02:00
Stephane Nicoll c316088dd2 Force UTF-8 encoding
Issue: SPR-11569
2016-07-25 10:12:03 +02:00
Sam Brannen ecbec54106 Upgrade to JUnit 5.0.0-M2
Issue: SPR-13575
2016-07-24 17:10:32 +02:00
Brian Clozel b2e848737c Rename reactor.io.netty -> reactor.ipc.netty 2016-07-23 14:34:12 +02:00
Brian Clozel 1a2ac8ea56 Reactor namespace change `io.projectreactor.ipc`
Some reactor modules such as reactor-netty were migrated under a new
namespace `io.projectreactor.ipc`.
2016-07-22 15:33:59 +02:00
Marius Grama 3635c9dbfe Update xmlunit library to version 2.1.0
xmlunit 2.1.0 is the latest release for xmlunit.
Most of the xmlunit functionality used within spring-framework
was done through the xmlunit 1.x helper class
`org.custommonkey.xmlunit.XMLAssert`.

As of xmlunit 2.0.0 most of the XML comparison methods are done
through hamcrest matchers exposed by the xmlunit-matchers
library. In some cases during the migration, the matchers
had to be customized with custom `NodeMatcher` or
`DifferenceEvaluator` instances in order to keep the assertions
correct (they were performed with xmlunit 1.x previously).

Issue: SPR-14043
2016-07-21 15:04:21 +02:00
Brian Clozel 4d035e3ab1 Update Google Protobuf support to 3.0.0
This commit adds support for Google Protobuf 3.0.0 and make some changes
in the additional formats support:
* "com.googlecode.protobuf-java-format:protobuf-java-format" is no
longer required and its required version has been raised to 1.3+
(this lib adds support for JSON, XML, HTML formats)
* "com.google.protobuf:protobuf-java-util" is also now supported for
JSON format

Issue: SPR-13589
2016-07-21 11:38:56 +02:00
Juergen Hoeller 5c72ea915d Upgrade to Jackson 2.8.1 2016-07-20 22:36:22 +02:00
Juergen Hoeller 88fcd0a2ed Framework build compatible with JDK 9 (tests running against java.base module)
Issue: SPR-13344
2016-07-19 19:37:34 +02:00
Stephane Nicoll 03e6eeeadc Fix EJB dependency upgrade 2016-07-18 14:51:03 +02:00
Stephane Nicoll cd6b5f9be0 Fix EJB API coordinates 2016-07-18 13:35:08 +02:00
Stephane Nicoll 53a7027d8b Upgrade to EJB 3.2 2016-07-18 13:21:22 +02:00