Skip to content

Commit dcdf3a2

Browse files
Prepare Spring Data MongoDB 4.x branch.
Upgrade to data-commons 3.0 and Java 17 (still source level 16 due to asm). Remove support for threeten, joda-time. Transition to PersistentEntitiesFactoryBean from data-commons. Update build to MongoDB 4.4 and 5 with Java17. Remove Java8 setup. Fix javadoc tooling error on cdi 1 vs. 2 version mix. Disabled internal package cycle analysis as this requires transition to ArchUnit.
1 parent 423e10b commit dcdf3a2

File tree

26 files changed

+992
-235
lines changed

26 files changed

+992
-235
lines changed

Diff for: Jenkinsfile

+2-40
Original file line numberDiff line numberDiff line change
@@ -20,48 +20,10 @@ pipeline {
2020
stages {
2121
stage("Docker images") {
2222
parallel {
23-
stage('Publish JDK (main) + MongoDB 4.0') {
24-
when {
25-
anyOf {
26-
changeset "ci/openjdk8-mongodb-4.0/**"
27-
changeset "ci/pipeline.properties"
28-
}
29-
}
30-
agent { label 'data' }
31-
options { timeout(time: 30, unit: 'MINUTES') }
32-
33-
steps {
34-
script {
35-
def image = docker.build("springci/spring-data-with-mongodb-4.0:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg MONGODB=${p['docker.mongodb.4.0.version']} ci/openjdk8-mongodb-4.0/")
36-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
37-
image.push()
38-
}
39-
}
40-
}
41-
}
42-
stage('Publish JDK (main) + MongoDB 4.4') {
43-
when {
44-
anyOf {
45-
changeset "ci/openjdk8-mongodb-4.4/**"
46-
changeset "ci/pipeline.properties"
47-
}
48-
}
49-
agent { label 'data' }
50-
options { timeout(time: 30, unit: 'MINUTES') }
51-
52-
steps {
53-
script {
54-
def image = docker.build("springci/spring-data-with-mongodb-4.4:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg MONGODB=${p['docker.mongodb.4.4.version']} ci/openjdk8-mongodb-4.4/")
55-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
56-
image.push()
57-
}
58-
}
59-
}
60-
}
6123
stage('Publish JDK (main) + MongoDB 5.0') {
6224
when {
6325
anyOf {
64-
changeset "ci/openjdk8-mongodb-5.0/**"
26+
changeset "ci/openjdk17-mongodb-5.0/**"
6527
changeset "ci/pipeline.properties"
6628
}
6729
}
@@ -77,7 +39,7 @@ pipeline {
7739
}
7840
}
7941
}
80-
stage('Publish JDK (LTS) + MongoDB 4.4') {
42+
stage('Publish JDK (main) + MongoDB 4.4') {
8143
when {
8244
anyOf {
8345
changeset "ci/openjdk17-mongodb-4.4/**"

Diff for: ci/openjdk11-mongodb-4.4/Dockerfile

-21
This file was deleted.
File renamed without changes.

Diff for: ci/openjdk8-mongodb-4.0/Dockerfile

-21
This file was deleted.

Diff for: ci/openjdk8-mongodb-4.4/Dockerfile

-23
This file was deleted.

Diff for: ci/pipeline.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Java versions
2-
java.main.tag=8u312-b07-jdk
3-
java.next.tag=11.0.13_8-jdk
2+
java.main.tag=17.0.1_12-jdk
3+
java.next.tag=17.0.1_12-jdk
44
java.lts.tag=17.0.1_12-jdk
55

66
# Docker container images - standard

Diff for: pom.xml

+4-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>org.springframework.data</groupId>
77
<artifactId>spring-data-mongodb-parent</artifactId>
8-
<version>3.4.0-SNAPSHOT</version>
8+
<version>4.0.0-SNAPSHOT</version>
99
<packaging>pom</packaging>
1010

1111
<name>Spring Data MongoDB</name>
@@ -15,7 +15,7 @@
1515
<parent>
1616
<groupId>org.springframework.data.build</groupId>
1717
<artifactId>spring-data-parent</artifactId>
18-
<version>2.7.0-SNAPSHOT</version>
18+
<version>3.0.0-SNAPSHOT</version>
1919
</parent>
2020

2121
<modules>
@@ -24,9 +24,10 @@
2424
</modules>
2525

2626
<properties>
27+
<source.level>16</source.level>
2728
<project.type>multi</project.type>
2829
<dist.id>spring-data-mongodb</dist.id>
29-
<springdata.commons>2.7.0-SNAPSHOT</springdata.commons>
30+
<springdata.commons>3.0.0-SNAPSHOT</springdata.commons>
3031
<mongo>4.4.1</mongo>
3132
<mongo.reactivestreams>${mongo}</mongo.reactivestreams>
3233
<jmh.version>1.19</jmh.version>

Diff for: spring-data-mongodb-benchmarks/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.springframework.data</groupId>
99
<artifactId>spring-data-mongodb-parent</artifactId>
10-
<version>3.4.0-SNAPSHOT</version>
10+
<version>4.0.0-SNAPSHOT</version>
1111
<relativePath>../pom.xml</relativePath>
1212
</parent>
1313

Diff for: spring-data-mongodb-distribution/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<groupId>org.springframework.data</groupId>
1616
<artifactId>spring-data-mongodb-parent</artifactId>
17-
<version>3.4.0-SNAPSHOT</version>
17+
<version>4.0.0-SNAPSHOT</version>
1818
<relativePath>../pom.xml</relativePath>
1919
</parent>
2020

Diff for: spring-data-mongodb/pom.xml

+2-16
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<parent>
1212
<groupId>org.springframework.data</groupId>
1313
<artifactId>spring-data-mongodb-parent</artifactId>
14-
<version>3.4.0-SNAPSHOT</version>
14+
<version>4.0.0-SNAPSHOT</version>
1515
<relativePath>../pom.xml</relativePath>
1616
</parent>
1717

@@ -156,7 +156,7 @@
156156
<groupId>org.apache.geronimo.specs</groupId>
157157
<artifactId>geronimo-jcdi_2.0_spec</artifactId>
158158
<version>1.0.1</version>
159-
<scope>test</scope>
159+
<scope>optional</scope>
160160
</dependency>
161161

162162
<dependency>
@@ -217,20 +217,6 @@
217217
<scope>test</scope>
218218
</dependency>
219219

220-
<dependency>
221-
<groupId>joda-time</groupId>
222-
<artifactId>joda-time</artifactId>
223-
<version>${jodatime}</version>
224-
<scope>test</scope>
225-
</dependency>
226-
227-
<dependency>
228-
<groupId>org.threeten</groupId>
229-
<artifactId>threetenbp</artifactId>
230-
<version>${threetenbp}</version>
231-
<optional>true</optional>
232-
</dependency>
233-
234220
<dependency>
235221
<groupId>com.fasterxml.jackson.core</groupId>
236222
<artifactId>jackson-databind</artifactId>

Diff for: spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoAuditingRegistrar.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.lang.annotation.Annotation;
1919

2020
import org.springframework.beans.factory.config.BeanDefinition;
21+
import org.springframework.beans.factory.config.RuntimeBeanReference;
2122
import org.springframework.beans.factory.support.AbstractBeanDefinition;
2223
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
2324
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
@@ -27,6 +28,8 @@
2728
import org.springframework.data.auditing.config.AuditingBeanDefinitionRegistrarSupport;
2829
import org.springframework.data.auditing.config.AuditingConfiguration;
2930
import org.springframework.data.config.ParsingUtils;
31+
import org.springframework.data.mapping.context.MappingContext;
32+
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
3033
import org.springframework.data.mongodb.core.mapping.event.AuditingEntityCallback;
3134
import org.springframework.util.Assert;
3235

@@ -81,8 +84,8 @@ protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingCon
8184

8285
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class);
8386

84-
BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(PersistentEntitiesFactoryBean.class);
85-
definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR);
87+
BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(org.springframework.data.repository.config.PersistentEntitiesFactoryBean.class);
88+
definition.addConstructorArgValue(new RuntimeBeanReference(MappingContext.class));
8689

8790
builder.addConstructorArgValue(definition.getBeanDefinition());
8891
return configureDefaultAuditHandlerAttributes(configuration, builder);

Diff for: spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MongoCustomConversions.java

-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.springframework.core.convert.converter.Converter;
3737
import org.springframework.core.convert.converter.ConverterFactory;
3838
import org.springframework.core.convert.converter.GenericConverter;
39-
import org.springframework.data.convert.JodaTimeConverters;
4039
import org.springframework.data.convert.WritingConverter;
4140
import org.springframework.data.mapping.model.SimpleTypeHolder;
4241
import org.springframework.data.mongodb.core.mapping.MongoSimpleTypes;
@@ -65,7 +64,6 @@ public class MongoCustomConversions extends org.springframework.data.convert.Cus
6564

6665
converters.add(CustomToStringConverter.INSTANCE);
6766
converters.addAll(MongoConverters.getConvertersToRegister());
68-
converters.addAll(JodaTimeConverters.getConvertersToRegister());
6967
converters.addAll(GeoConverters.getConvertersToRegister());
7068

7169
STORE_CONVERTERS = Collections.unmodifiableList(converters);

Diff for: spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/UnwrappedMongoPersistentProperty.java

-5
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,6 @@ public TypeInformation<?> getTypeInformation() {
149149
return delegate.getTypeInformation();
150150
}
151151

152-
@Override
153-
public Iterable<? extends TypeInformation<?>> getPersistentEntityTypes() {
154-
return delegate.getPersistentEntityTypes();
155-
}
156-
157152
@Override
158153
public Iterable<? extends TypeInformation<?>> getPersistentEntityTypeInformation() {
159154
return delegate.getPersistentEntityTypeInformation();

Diff for: spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ConvertingParameterAccessor.java

-9
Original file line numberDiff line numberDiff line change
@@ -94,15 +94,6 @@ public Sort getSort() {
9494
return delegate.getSort();
9595
}
9696

97-
/*
98-
* (non-Javadoc)
99-
* @see org.springframework.data.repository.query.ParameterAccessor#getDynamicProjection()
100-
*/
101-
@Override
102-
public Optional<Class<?>> getDynamicProjection() {
103-
return delegate.getDynamicProjection();
104-
}
105-
10697
/*
10798
* (non-Javadoc)
10899
* @see org.springframework.data.repository.query.ParameterAccessor#findDynamicProjection()

Diff for: spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryExecution.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
import org.springframework.data.mongodb.core.MongoOperations;
3434
import org.springframework.data.mongodb.core.query.NearQuery;
3535
import org.springframework.data.mongodb.core.query.Query;
36-
import org.springframework.data.repository.support.PageableExecutionUtils;
36+
import org.springframework.data.support.PageableExecutionUtils;
3737
import org.springframework.data.util.TypeInformation;
3838
import org.springframework.util.Assert;
3939
import org.springframework.util.ClassUtils;

Diff for: spring-data-mongodb/src/main/resources/META-INF/spring.schemas

+4-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ http\://www.springframework.org/schema/data/mongo/spring-mongo-2.0.xsd=org/sprin
1212
http\://www.springframework.org/schema/data/mongo/spring-mongo-2.2.xsd=org/springframework/data/mongodb/config/spring-mongo-2.0.xsd
1313
http\://www.springframework.org/schema/data/mongo/spring-mongo-3.0.xsd=org/springframework/data/mongodb/config/spring-mongo-3.0.xsd
1414
http\://www.springframework.org/schema/data/mongo/spring-mongo-3.3.xsd=org/springframework/data/mongodb/config/spring-mongo-3.3.xsd
15-
http\://www.springframework.org/schema/data/mongo/spring-mongo.xsd=org/springframework/data/mongodb/config/spring-mongo-3.3.xsd
15+
http\://www.springframework.org/schema/data/mongo/spring-mongo-4.0.xsd=org/springframework/data/mongodb/config/spring-mongo-4.0.xsd
16+
http\://www.springframework.org/schema/data/mongo/spring-mongo.xsd=org/springframework/data/mongodb/config/spring-mongo-4.0.xsd
1617
https\://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd=org/springframework/data/mongodb/config/spring-mongo-1.0.xsd
1718
https\://www.springframework.org/schema/data/mongo/spring-mongo-1.1.xsd=org/springframework/data/mongodb/config/spring-mongo-1.1.xsd
1819
https\://www.springframework.org/schema/data/mongo/spring-mongo-1.2.xsd=org/springframework/data/mongodb/config/spring-mongo-1.2.xsd
@@ -27,4 +28,5 @@ https\://www.springframework.org/schema/data/mongo/spring-mongo-2.0.xsd=org/spri
2728
https\://www.springframework.org/schema/data/mongo/spring-mongo-2.2.xsd=org/springframework/data/mongodb/config/spring-mongo-2.2.xsd
2829
https\://www.springframework.org/schema/data/mongo/spring-mongo-3.0.xsd=org/springframework/data/mongodb/config/spring-mongo-3.0.xsd
2930
https\://www.springframework.org/schema/data/mongo/spring-mongo-3.3.xsd=org/springframework/data/mongodb/config/spring-mongo-3.3.xsd
30-
https\://www.springframework.org/schema/data/mongo/spring-mongo.xsd=org/springframework/data/mongodb/config/spring-mongo-3.3.xsd
31+
https\://www.springframework.org/schema/data/mongo/spring-mongo-4.0.xsd=org/springframework/data/mongodb/config/spring-mongo-4.0.xsd
32+
https\://www.springframework.org/schema/data/mongo/spring-mongo.xsd=org/springframework/data/mongodb/config/spring-mongo-4.0.xsd

0 commit comments

Comments
 (0)