Skip to content

Commit 4a3e42e

Browse files
authored
Revamp/945 decouple sbm support rewrite from maven (#946)
1 parent 15e3bf6 commit 4a3e42e

File tree

60 files changed

+3034
-795
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3034
-795
lines changed

.github/workflows/build-sbm-revamp.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ jobs:
5353
run: mvn -DskipTests --batch-mode install --projects :sbm-support-weblogic
5454

5555
- name: sbm-recipes-jee-to-boot (build)
56-
run: mvn -DskipTests --batch-mode --projects :sbm-recipes-jee-to-boot
56+
run: mvn -DskipTests --batch-mode install --projects :sbm-recipes-jee-to-boot
5757

5858
- name: sbm-recipes-spring-cloud (build)
59-
run: mvn -DskipTests --batch-mode --projects :sbm-recipes-spring-cloud
59+
run: mvn -DskipTests --batch-mode install --projects :sbm-recipes-spring-cloud
6060

6161
- name: sbm-recipes-boot-upgrade (build)
62-
run: mvn -DskipTests --batch-mode --projects :sbm-recipes-boot-upgrade
62+
run: mvn -DskipTests --batch-mode install --projects :sbm-recipes-boot-upgrade

components/recipe-test-support/pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@
6666
<type>test-jar</type>
6767
<scope>compile</scope>
6868
</dependency>
69+
<dependency>
70+
<groupId>commons-io</groupId>
71+
<artifactId>commons-io</artifactId>
72+
<version>2.13.0</version>
73+
</dependency>
6974
</dependencies>
7075

7176
</project>

components/recipe-test-support/src/main/java/org/springframework/sbm/test/ProjectContextFileSystemTestSupport.java

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.springframework.core.io.Resource;
2222
import org.springframework.sbm.engine.commands.ScanCommand;
2323
import org.springframework.sbm.engine.context.ProjectContext;
24-
import org.springframework.sbm.parsers.RewriteExecutionContext;
2524
import org.springframework.sbm.project.parser.ProjectContextInitializer;
2625

2726
import java.io.IOException;

components/recipe-test-support/src/main/java/org/springframework/sbm/test/RecipeIntegrationTestSupport.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.springframework.sbm.test;
1717

18+
import org.apache.commons.io.FileUtils;
1819
import org.springframework.sbm.engine.commands.ApplicableRecipeListCommand;
1920
import org.springframework.sbm.engine.commands.ApplyCommand;
2021
import org.springframework.sbm.engine.commands.ScanCommand;
@@ -26,7 +27,6 @@
2627
import freemarker.template.Configuration;
2728
import lombok.AccessLevel;
2829
import lombok.Setter;
29-
import org.apache.commons.io.FileUtils;
3030
import org.springframework.core.io.FileSystemResource;
3131
import org.springframework.core.io.Resource;
3232

components/sbm-core/pom.xml

+7-1
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,13 @@
173173
<classifier>tests</classifier>
174174
<scope>test</scope>
175175
</dependency>
176-
<dependency>
176+
<dependency>
177+
<groupId>commons-io</groupId>
178+
<artifactId>commons-io</artifactId>
179+
<version>2.13.0</version>
180+
<scope>test</scope>
181+
</dependency>
182+
<dependency>
177183
<groupId>com.fasterxml.jackson.dataformat</groupId>
178184
<artifactId>jackson-dataformat-xml</artifactId>
179185
<version>2.14.1</version>

components/sbm-core/src/main/java/org/springframework/sbm/java/impl/DependencyChangeHandler.java

-2
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,13 @@
3535
import org.springframework.sbm.engine.context.ProjectContextHolder;
3636
import org.springframework.sbm.java.api.JavaSource;
3737
import org.springframework.sbm.parsers.JavaParserBuilder;
38-
import org.springframework.sbm.parsers.SortedProjects;
3938
import org.springframework.sbm.parsers.SourceFileParser;
4039
import org.springframework.sbm.utils.JavaHelper;
4140
import org.springframework.stereotype.Component;
4241

4342
import java.io.ByteArrayInputStream;
4443
import java.nio.file.Path;
4544
import java.util.*;
46-
import java.util.stream.Stream;
4745

4846
/**
4947
* @author Fabian Krüger

components/sbm-core/src/main/java/org/springframework/sbm/project/parser/MavenProjectParser.java

+1-20
Original file line numberDiff line numberDiff line change
@@ -18,37 +18,18 @@
1818
import lombok.RequiredArgsConstructor;
1919
import lombok.extern.slf4j.Slf4j;
2020
import org.openrewrite.ExecutionContext;
21-
import org.openrewrite.Parser;
2221
import org.openrewrite.SourceFile;
23-
import org.openrewrite.internal.ListUtils;
24-
import org.openrewrite.internal.lang.Nullable;
2522
import org.openrewrite.java.JavaParser;
26-
import org.openrewrite.java.marker.JavaSourceSet;
27-
import org.openrewrite.java.tree.J;
28-
import org.openrewrite.marker.GitProvenance;
29-
import org.openrewrite.marker.Marker;
30-
import org.openrewrite.marker.ci.BuildEnvironment;
31-
import org.openrewrite.maven.MavenExecutionContextView;
32-
import org.openrewrite.maven.MavenSettings;
33-
import org.openrewrite.maven.tree.*;
3423
import org.openrewrite.maven.utilities.MavenArtifactDownloader;
35-
import org.openrewrite.xml.tree.Xml;
3624
import org.springframework.context.ApplicationEventPublisher;
3725
import org.springframework.core.io.Resource;
38-
import org.springframework.sbm.build.impl.MavenBuildFileUtil;
3926
import org.springframework.sbm.build.impl.RewriteMavenParser;
40-
import org.springframework.sbm.engine.events.*;
41-
import org.springframework.sbm.parsers.RewriteMavenProjectParser;
4227
import org.springframework.sbm.parsers.RewriteProjectParser;
4328
import org.springframework.sbm.scopes.ProjectMetadata;
4429
import org.springframework.stereotype.Component;
4530

46-
import java.io.IOException;
47-
import java.io.InputStream;
4831
import java.nio.file.Path;
49-
import java.nio.file.Paths;
50-
import java.util.*;
51-
import java.util.stream.Collectors;
32+
import java.util.List;
5233

5334
/**
5435
* Parse a Maven project on disk into a list of {@link org.openrewrite.SourceFile} including

components/sbm-core/src/test/java/org/springframework/sbm/java/impl/ProjectJavaSourcesImplTest.java

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.springframework.beans.factory.UnsatisfiedDependencyException;
2121
import org.springframework.sbm.engine.context.ProjectContext;
2222
import org.springframework.sbm.java.api.JavaSourceAndType;
23-
import org.springframework.sbm.parsers.MavenExecutionResultException;
2423
import org.springframework.sbm.project.resource.TestProjectContext;
2524

2625
import java.util.List;

components/sbm-core/src/test/java/org/springframework/sbm/project/resource/TestProjectContext.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.springframework.sbm.project.resource;
1717

1818
import freemarker.template.Configuration;
19-
import org.apache.commons.io.FileUtils;
2019
import org.apache.commons.lang3.RandomStringUtils;
2120
import org.jetbrains.annotations.NotNull;
2221
import org.openrewrite.ExecutionContext;
@@ -31,7 +30,6 @@
3130
import org.springframework.sbm.build.impl.OpenRewriteMavenBuildFile;
3231
import org.springframework.sbm.engine.context.ProjectContext;
3332
import org.springframework.sbm.engine.context.ProjectContextSerializer;
34-
import org.springframework.sbm.java.impl.RewriteJavaParser;
3533
import org.springframework.sbm.java.util.JavaSourceUtil;
3634
import org.springframework.sbm.project.TestDummyResource;
3735
import org.springframework.sbm.project.parser.DependencyHelper;
@@ -190,7 +188,7 @@ private static Path createProjectRoot() {
190188
Path sbm = tempDirectory.resolve("sbm");
191189
// FileUtils.cleanDirectory(sbm.toFile());
192190
Path randDir = sbm.resolve(RandomStringUtils.randomAlphanumeric(5));
193-
FileUtils.forceMkdir(randDir.toFile());
191+
Files.createDirectories(randDir);
194192
return randDir;
195193
} catch (IOException e) {
196194
throw new RuntimeException(e);
@@ -596,9 +594,12 @@ public ProjectContext build() {
596594
executionContext);
597595
*/
598596

599-
// Writing to filesystem and parsing again changes th eresource order
597+
// Writing to filesystem and parsing again changes the resource order
600598
try {
601-
FileUtils.cleanDirectory(projectRoot.toFile());
599+
Files.walk(projectRoot)
600+
.sorted(Comparator.reverseOrder())
601+
.map(Path::toFile)
602+
.forEach(File::delete);
602603
} catch (IOException e) {
603604
throw new RuntimeException(e);
604605
}

components/sbm-openrewrite/pom.xml

+15
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,21 @@
3737
<artifactId>sbm-support-rewrite</artifactId>
3838
<version>0.1.0-SNAPSHOT</version>
3939
</dependency>
40+
<dependency>
41+
<groupId>org.openrewrite</groupId>
42+
<artifactId>rewrite-java-17</artifactId>
43+
<version>${openrewrite.version}</version>
44+
</dependency>
45+
<dependency>
46+
<groupId>org.rocksdb</groupId>
47+
<artifactId>rocksdbjni</artifactId>
48+
<version>8.3.2</version>
49+
</dependency>
50+
<dependency>
51+
<groupId>javax.xml.bind</groupId>
52+
<artifactId>jaxb-api</artifactId>
53+
<version>2.3.1</version>
54+
</dependency>
4055
<dependency>
4156
<groupId>org.projectlombok</groupId>
4257
<artifactId>lombok</artifactId>

components/sbm-recipes-jee-to-boot/pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@
4444
<artifactId>sbm-support-jee</artifactId>
4545
<version>0.15.2-SNAPSHOT</version>
4646
</dependency>
47+
<dependency>
48+
<groupId>commons-io</groupId>
49+
<artifactId>commons-io</artifactId>
50+
<version>2.13.0</version>
51+
</dependency>
4752

4853
<!-- Override Jackson coming from spring boot -->
4954
<!-- <dependency>-->

components/test-helper/pom.xml

+10-10
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,6 @@
4040
<artifactId>spring-core</artifactId>
4141
</dependency>
4242

43-
<dependency>
44-
<groupId>org.apache.maven.resolver</groupId>
45-
<artifactId>maven-resolver-spi</artifactId>
46-
<version>1.9.15</version>
47-
</dependency>
48-
4943
<!-- shrinkwrap -->
5044
<dependency>
5145
<groupId>org.jboss.shrinkwrap.resolver</groupId>
@@ -77,11 +71,17 @@
7771
<artifactId>shrinkwrap-resolver-impl-maven-archive</artifactId>
7872
<version>${shrinkwrap.resolvers.version}</version>
7973
</dependency>
74+
<!-- <dependency>-->
75+
<!-- <groupId>org.jboss.shrinkwrap.resolver</groupId>-->
76+
<!-- <artifactId>shrinkwrap-resolver-bom</artifactId>-->
77+
<!-- <version>${shrinkwrap.resolvers.version}</version>-->
78+
<!-- <type>pom</type>-->
79+
<!-- </dependency>-->
80+
8081
<dependency>
81-
<groupId>org.jboss.shrinkwrap.resolver</groupId>
82-
<artifactId>shrinkwrap-resolver-bom</artifactId>
83-
<version>${shrinkwrap.resolvers.version}</version>
84-
<type>pom</type>
82+
<groupId>org.apache.maven.resolver</groupId>
83+
<artifactId>maven-resolver-spi</artifactId>
84+
<version>1.9.15</version>
8585
</dependency>
8686
</dependencies>
8787
</project>

pom.xml

+26-25
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,26 @@
6464
</modules>
6565
<dependencyManagement>
6666
<dependencies>
67-
<dependency>
68-
<groupId>org.apache.maven.wagon</groupId>
69-
<artifactId>wagon-http</artifactId>
70-
<version>3.5.3</version>
71-
</dependency>
72-
<dependency>
73-
<groupId>org.apache.maven.resolver</groupId>
74-
<artifactId>maven-resolver-transport-http</artifactId>
75-
<version>1.9.14</version>
76-
</dependency>
77-
<dependency>
78-
<groupId>org.apache.maven.resolver</groupId>
79-
<artifactId>maven-resolver-api</artifactId>
80-
<version>1.9.14</version>
81-
</dependency>
82-
<dependency>
83-
<groupId>org.apache.maven.resolver</groupId>
84-
<artifactId>maven-resolver-impl</artifactId>
85-
<version>1.9.14</version>
86-
</dependency>
67+
<!-- <dependency>-->
68+
<!-- <groupId>org.apache.maven.wagon</groupId>-->
69+
<!-- <artifactId>wagon-http</artifactId>-->
70+
<!-- <version>3.5.3</version>-->
71+
<!-- </dependency>-->
72+
<!-- <dependency>-->
73+
<!-- <groupId>org.apache.maven.resolver</groupId>-->
74+
<!-- <artifactId>maven-resolver-transport-http</artifactId>-->
75+
<!-- <version>1.9.14</version>-->
76+
<!-- </dependency>-->
77+
<!-- <dependency>-->
78+
<!-- <groupId>org.apache.maven.resolver</groupId>-->
79+
<!-- <artifactId>maven-resolver-api</artifactId>-->
80+
<!-- <version>1.9.14</version>-->
81+
<!-- </dependency>-->
82+
<!-- <dependency>-->
83+
<!-- <groupId>org.apache.maven.resolver</groupId>-->
84+
<!-- <artifactId>maven-resolver-impl</artifactId>-->
85+
<!-- <version>1.9.14</version>-->
86+
<!-- </dependency>-->
8787

8888
<dependency>
8989
<groupId>org.projectlombok</groupId>
@@ -131,11 +131,12 @@
131131
</exclusion>
132132
</exclusions>
133133
</dependency>
134-
<dependency>
135-
<groupId>org.apache.maven.shared</groupId>
136-
<artifactId>maven-invoker</artifactId>
137-
<version>${maven-invoker.version}</version>
138-
</dependency>
134+
<!-- <dependency>-->
135+
<!-- <groupId>org.apache.maven.shared</groupId>-->
136+
<!-- <artifactId>maven-invoker</artifactId>-->
137+
<!-- <version>${maven-invoker.version}</version>-->
138+
<!-- <scope>test</scope>-->
139+
<!-- </dependency>-->
139140
<dependency>
140141
<groupId>org.openrewrite</groupId>
141142
<artifactId>rewrite-core</artifactId>

0 commit comments

Comments
 (0)