Skip to content

Commit 4b58dc2

Browse files
uses unified spring project tester
1 parent 405a05b commit 4b58dc2

File tree

6 files changed

+73
-127
lines changed

6 files changed

+73
-127
lines changed

components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/conditions/IsAnyMatchingSpringBootVersion.java

Lines changed: 0 additions & 49 deletions
This file was deleted.

components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/conditions/IsMatchingSpringBootVersion.java

Lines changed: 0 additions & 52 deletions
This file was deleted.

components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_UpgradeReportAction.java

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,37 +16,19 @@
1616
package org.springframework.sbm.boot.upgrade_24_25.actions;
1717

1818
import com.fasterxml.jackson.annotation.JsonIgnore;
19-
import com.fasterxml.jackson.annotation.JsonInclude;
19+
import org.springframework.sbm.boot.common.conditions.IsSpringBootProject;
2020
import org.springframework.sbm.boot.upgrade.common.UpgradeReportUtil;
21-
import org.springframework.sbm.boot.upgrade.common.conditions.IsMatchingSpringBootVersion;
2221
import org.springframework.sbm.engine.recipe.AbstractAction;
2322
import org.springframework.sbm.boot.UpgradeSectionBuilder;
2423
import org.springframework.sbm.boot.asciidoctor.Section;
25-
import org.springframework.sbm.boot.upgrade_24_25.report.*;
2624
import org.springframework.sbm.engine.context.ProjectContext;
2725
import org.springframework.sbm.java.api.JavaSource;
2826
import org.springframework.sbm.project.resource.StringProjectResource;
2927
import freemarker.template.Configuration;
30-
import freemarker.template.Template;
3128
import lombok.Getter;
32-
import org.asciidoctor.Asciidoctor;
33-
import org.asciidoctor.Options;
34-
import org.asciidoctor.SafeMode;
3529
import org.springframework.beans.factory.annotation.Autowired;
36-
import org.springframework.sbm.boot.UpgradeSectionBuilder;
37-
import org.springframework.sbm.boot.asciidoctor.Section;
3830
import org.springframework.sbm.boot.upgrade_24_25.report.Boot_24_25_Introduction;
39-
import org.springframework.sbm.boot.upgrade_24_25.report.Boot_24_25_SchemaSqlAndDataSqlFiles;
40-
import org.springframework.sbm.boot.upgrade_24_25.report.Boot_24_25_SeparateCredentials;
41-
import org.springframework.sbm.boot.upgrade_24_25.report.Boot_24_25_SpringDataJpa;
42-
import org.springframework.sbm.boot.upgrade_24_25.report.Boot_24_25_SqlScriptDataSourceInitialization;
43-
import org.springframework.sbm.boot.upgrade_24_25.report.Boot_24_25_UpdateDependencies;
44-
import org.springframework.sbm.engine.context.ProjectContext;
45-
import org.springframework.sbm.engine.recipe.AbstractAction;
46-
import org.springframework.sbm.java.api.JavaSource;
47-
import org.springframework.sbm.project.resource.StringProjectResource;
4831

49-
import java.io.StringWriter;
5032
import java.nio.file.Path;
5133
import java.util.ArrayList;
5234
import java.util.HashMap;
@@ -88,7 +70,10 @@ public void apply(ProjectContext projectContext) {
8870
@Override
8971
public boolean isApplicable(ProjectContext context) {
9072
// Verify it's a 2.4.x Spring Boot project
91-
return new IsMatchingSpringBootVersion("2.4.").evaluate(context);
73+
IsSpringBootProject isSpringBootProject = new IsSpringBootProject();
74+
isSpringBootProject.setVersionPattern("2\\.4\\..*");
75+
76+
return isSpringBootProject.evaluate(context);
9277
}
9378

9479
@Getter
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
- name: boot-2.4-2.5-upgrade-report
22
description: Create Upgrade Report for a Spring Boot 2.4 Application
33
condition:
4-
type: org.springframework.sbm.boot.upgrade.common.conditions.IsAnyMatchingSpringBootVersion
5-
versionPatterns: 2.4.,2.5.
4+
type: org.springframework.sbm.boot.common.conditions.IsSpringBootProject
5+
versionPattern: "2\\.4\\..*|2\\.5\\..*"
66
actions:
77
- type: org.springframework.sbm.boot.upgrade_24_25.actions.Boot_24_25_UpgradeReportAction
88
description: Create Upgrade Report for a Spring Boot 2.4 Application
99
condition:
10-
type: org.springframework.sbm.common.migration.conditions.TrueCondition
10+
type: org.springframework.sbm.common.migration.conditions.TrueCondition

components/sbm-recipes-boot-upgrade/src/main/resources/recipes/boot-2.7-3.0-upgrade-report.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
- name: boot-2.7-3.0-upgrade-report
22
description: Create a report for Spring Boot Upgrade from 2.7.x to 3.0.0-M3
33
condition:
4-
type: org.springframework.sbm.boot.upgrade.common.conditions.IsAnyMatchingSpringBootVersion
5-
versionPatterns: 2.7.,3.0.
4+
type: org.springframework.sbm.boot.common.conditions.IsSpringBootProject
5+
versionPattern: "2\\.7\\..*|3\\.0\\..*"
66

77
actions:
88
- type: org.springframework.sbm.boot.upgrade_27_30.SpringBoot30UpgradeReport
@@ -17,4 +17,4 @@
1717
- type: org.springframework.sbm.boot.upgrade_27_30.actions.Boot_27_30_AddLoggingDateFormat
1818
description: "Sets logging date format to yyyy-MM-dd HH:mm:ss.SSS"
1919
condition:
20-
type: org.springframework.sbm.boot.upgrade_27_30.conditions.LoggingDateFormatCondition
20+
type: org.springframework.sbm.boot.upgrade_27_30.conditions.LoggingDateFormatCondition
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
/*
2+
* Copyright 2021 - 2022 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.springframework.sbm.boot.common.conditions;
18+
19+
import org.intellij.lang.annotations.Language;
20+
import org.junit.jupiter.api.Test;
21+
import org.springframework.sbm.engine.context.ProjectContext;
22+
import org.springframework.sbm.project.resource.TestProjectContext;
23+
24+
import static org.assertj.core.api.Assertions.assertThat;
25+
26+
class IsSpringBootProjectTest {
27+
@Test
28+
public void worksWithDependencyManagement() {
29+
30+
IsSpringBootProject target = new IsSpringBootProject();
31+
target.setVersionPattern("2\\.7\\..*");
32+
33+
@Language("xml")
34+
String pomXml = """
35+
<?xml version="1.0" encoding="UTF-8"?>
36+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
37+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
38+
<modelVersion>4.0.0</modelVersion>
39+
<groupId>com.example</groupId>
40+
<artifactId>demo</artifactId>
41+
<version>0.0.1-SNAPSHOT</version>
42+
<dependencyManagement>
43+
<dependencies>
44+
<dependency>
45+
<groupId>org.springframework.boot</groupId>
46+
<artifactId>spring-boot-dependencies</artifactId>
47+
<version>2.7.4</version>
48+
<type>pom</type>
49+
<scope>import</scope>
50+
</dependency>
51+
</dependencies>
52+
</dependencyManagement>
53+
</project>
54+
""";
55+
ProjectContext context = TestProjectContext.buildProjectContext()
56+
.withMavenRootBuildFileSource(pomXml)
57+
.build();
58+
boolean result = target.evaluate(context);
59+
60+
assertThat(result).isTrue();
61+
}
62+
}

0 commit comments

Comments
 (0)