Skip to content

Commit 9b7954f

Browse files
committed
Rename ApplicationModule to Module
1 parent 1a02dba commit 9b7954f

File tree

44 files changed

+178
-172
lines changed

Some content is hidden

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

44 files changed

+178
-172
lines changed

components/sbm-core/src/main/java/org/springframework/sbm/build/api/ApplicationModules.java

+17-15
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.openrewrite.maven.tree.MavenResolutionResult;
2020
import org.springframework.sbm.build.impl.MavenBuildFileUtil;
2121
import org.springframework.sbm.build.impl.OpenRewriteMavenBuildFile;
22-
import org.springframework.sbm.project.resource.filter.ProjectResourceFinder;
2322

2423
import java.nio.file.Path;
2524
import java.util.ArrayList;
@@ -28,42 +27,45 @@
2827
import java.util.stream.Collectors;
2928
import java.util.stream.Stream;
3029

30+
/***
31+
* Represents all modules in the {@code ProjectCOntext}.
32+
*/
3133
public class ApplicationModules {
32-
private final List<ApplicationModule> modules;
34+
private final List<Module> modules;
3335

34-
public ApplicationModules(List<ApplicationModule> modules) {
36+
public ApplicationModules(List<Module> modules) {
3537
this.modules = modules;
3638
}
3739

38-
public Stream<ApplicationModule> stream() {
40+
public Stream<Module> stream() {
3941
return modules.stream();
4042
}
4143

42-
public ApplicationModule getRootModule() {
44+
public Module getRootModule() {
4345
return modules.stream()
4446
.sorted((m2, m1) -> m1.getBuildFile().getAbsolutePath().toString().compareTo(m2.getBuildFile().getAbsolutePath().toString()))
4547
.findFirst()
4648
.orElse(modules.get(0));
4749
}
4850

49-
public List<ApplicationModule> list() {
51+
public List<Module> list() {
5052
return stream().collect(Collectors.toUnmodifiableList());
5153
}
5254

53-
public ApplicationModule getModule(Path modulePath) {
55+
public Module getModule(Path modulePath) {
5456
return modules.stream()
5557
.filter(m -> m.getModulePath().equals(modulePath))
5658
.findFirst()
5759
.orElseThrow(() -> new IllegalArgumentException("Could not find module with modulePath '" + modulePath + "'"));
5860
}
5961

60-
public Optional<ApplicationModule> findModule(String coordinate) {
62+
public Optional<Module> findModule(String coordinate) {
6163
return modules.stream()
6264
.filter(m -> m.getBuildFile().getCoordinates().equals(coordinate))
6365
.findFirst();
6466
}
6567

66-
public List<ApplicationModule> getModules(ApplicationModule module) {
68+
public List<Module> getModules(Module module) {
6769
MavenResolutionResult mavenResolutionResult = MavenBuildFileUtil.findMavenResolution(((OpenRewriteMavenBuildFile) module.getBuildFile()).getSourceFile()).get();
6870
List<MavenResolutionResult> modulesMarker = mavenResolutionResult.getModules();
6971
if (!modulesMarker.isEmpty()) {
@@ -74,7 +76,7 @@ public List<ApplicationModule> getModules(ApplicationModule module) {
7476
}
7577

7678
@NotNull
77-
private List<ApplicationModule> filterModulesContainingMavens(List<MavenResolutionResult> modulesMarker) {
79+
private List<Module> filterModulesContainingMavens(List<MavenResolutionResult> modulesMarker) {
7880
List<String> collect = modulesMarker.stream()
7981
.map(m -> m.getPom().getGroupId() + ":" + m.getPom().getArtifactId())
8082
.collect(Collectors.toList());
@@ -92,8 +94,8 @@ private List<ApplicationModule> filterModulesContainingMavens(List<MavenResoluti
9294
*
9395
* An application module is a module that no other module depends on and which has a parent with packaging of type pom.
9496
*/
95-
public List<ApplicationModule> getTopmostApplicationModules() {
96-
List<ApplicationModule> topmostModules = new ArrayList<>();
97+
public List<Module> getTopmostApplicationModules() {
98+
List<Module> topmostModules = new ArrayList<>();
9799
modules.forEach(module -> {
98100
// is jar
99101
if ("jar".equals(module.getBuildFile().getPackaging())) { // FIXME: other types could be topmost too, e.g. 'war'
@@ -119,18 +121,18 @@ public List<ApplicationModule> getTopmostApplicationModules() {
119121
*
120122
* A component module is a module that another module depends on and that thus will be part of another application module.
121123
*/
122-
public List<ApplicationModule> getComponentModules() {
124+
public List<Module> getComponentModules() {
123125
return modules.stream()
124126
.filter(this::isDependencyOfAnotherModule)
125127
.collect(Collectors.toList());
126128
}
127129

128-
private boolean isDependencyOfAnotherModule(ApplicationModule applicationModule) {
130+
private boolean isDependencyOfAnotherModule(Module applicationModule) {
129131
return ! noOtherPomDependsOn(applicationModule.getBuildFile());
130132
}
131133

132134
private boolean isPackagingOfPom(ParentDeclaration parentPomDeclaration) {
133-
Optional<ApplicationModule> applicationModule = this.modules.stream()
135+
Optional<Module> applicationModule = this.modules.stream()
134136
.filter(module -> module.getBuildFile().getCoordinates().equals(parentPomDeclaration.getCoordinates()))
135137
.findFirst();
136138
if (applicationModule.isPresent()) {
+15-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.openrewrite.SourceFile;
3333

3434
import java.nio.file.Path;
35-
import java.nio.file.PathMatcher;
3635
import java.util.ArrayList;
3736
import java.util.List;
3837
import java.util.Optional;
@@ -41,7 +40,7 @@
4140
import java.util.stream.Stream;
4241

4342
@RequiredArgsConstructor
44-
public class ApplicationModule {
43+
public class Module {
4544

4645
@Getter
4746
private final String name;
@@ -120,6 +119,20 @@ public ResourceSet getTestResourceSet() {
120119
return new ResourceSet(projectResourceSet, projectRootDir, modulePath, testResourceSet);
121120
}
122121

122+
public List<Module> getModules() {
123+
Optional<MavenResolutionResult> mavenResolution = MavenBuildFileUtil.findMavenResolution(((OpenRewriteMavenBuildFile) buildFile).getSourceFile());
124+
List<MavenResolutionResult> modulesMarker = mavenResolution.get().getModules();
125+
if (!modulesMarker.isEmpty()) {
126+
return modulesMarker
127+
.stream()
128+
.map(m -> new Module(m.getPom().getGav().toString(), this.buildFile, projectRootDir, modulePath,
129+
projectResourceSet, javaRefactoringFactory, basePackageCalculator, javaParser))
130+
.collect(Collectors.toList());
131+
} else {
132+
return new ArrayList<>();
133+
}
134+
}
135+
123136
public List<String> getDeclaredModules() {
124137
return buildFile.getDeclaredModules();
125138
}

components/sbm-core/src/main/java/org/springframework/sbm/build/migration/actions/AddMavenDependencyManagementAction.java

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

18-
import org.springframework.sbm.build.api.ApplicationModule;
18+
import org.springframework.sbm.build.api.Module;
1919
import org.springframework.sbm.build.api.BuildFile;
2020
import org.springframework.sbm.build.api.Dependency;
2121
import org.springframework.sbm.engine.recipe.AbstractAction;

components/sbm-core/src/main/java/org/springframework/sbm/build/migration/actions/AddMavenPluginToApplicationModules.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package org.springframework.sbm.build.migration.actions;
1818

1919
import lombok.Setter;
20-
import org.springframework.sbm.build.api.ApplicationModule;
20+
import org.springframework.sbm.build.api.Module;
2121
import org.springframework.sbm.engine.context.ProjectContext;
2222
import org.springframework.sbm.engine.recipe.MultiModuleAwareAction;
2323
import org.springframework.sbm.engine.recipe.MultiModuleHandler;
@@ -31,7 +31,7 @@ public class AddMavenPluginToApplicationModules implements AddMavenPluginToMulti
3131
@Override
3232
public void handle(ProjectContext context) {
3333
context.getApplicationModules().getTopmostApplicationModules().stream()
34-
.map(ApplicationModule::getBuildFile)
34+
.map(Module::getBuildFile)
3535
.forEach(b -> b.addPlugin(action.getPlugin()));
3636
}
3737

components/sbm-core/src/main/java/org/springframework/sbm/build/migration/actions/BuildPackaging.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.sbm.build.migration.actions;
1717

18-
import org.springframework.sbm.build.api.ApplicationModule;
18+
import org.springframework.sbm.build.api.Module;
1919
import org.springframework.sbm.build.api.BuildFile;
2020
import org.springframework.sbm.engine.recipe.AbstractAction;
2121
import org.springframework.sbm.engine.context.ProjectContext;
@@ -37,11 +37,10 @@ public class BuildPackaging extends AbstractAction {
3737

3838
@Override
3939
public void apply(ProjectContext context) {
40-
context
41-
.getApplicationModules()
40+
context.getApplicationModules()
4241
.getTopmostApplicationModules()
4342
.stream()
44-
.map(ApplicationModule::getBuildFile)
43+
.map(Module::getBuildFile)
4544
.filter(b -> ! b.getPackaging().equalsIgnoreCase(packaging))
4645
.forEach(buildFile -> buildFile.setPackaging(packaging));
4746

components/sbm-core/src/main/java/org/springframework/sbm/build/migration/actions/BumpParentPomVersion.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import lombok.Setter;
1919
import lombok.extern.slf4j.Slf4j;
20-
import org.springframework.sbm.build.api.ApplicationModule;
20+
import org.springframework.sbm.build.api.Module;
2121
import org.springframework.sbm.build.api.BuildFile;
2222
import org.springframework.sbm.engine.context.ProjectContext;
2323
import org.springframework.sbm.engine.recipe.AbstractAction;
@@ -40,7 +40,7 @@ public class BumpParentPomVersion extends AbstractAction {
4040
@Override
4141
public void apply(ProjectContext context) {
4242
context.getApplicationModules().stream()
43-
.map(ApplicationModule::getBuildFile)
43+
.map(Module::getBuildFile)
4444
.filter(BuildFile::hasParent)
4545
.filter(b -> b.getParentPomDeclaration().get().getGroupId().equals(groupId))
4646
.filter(b -> b.getParentPomDeclaration().get().getArtifactId().equals(artifactId))

components/sbm-core/src/main/java/org/springframework/sbm/build/migration/actions/RemoveDependenciesMatchingRegex.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
package org.springframework.sbm.build.migration.actions;
1717

1818
import lombok.experimental.SuperBuilder;
19-
import org.springframework.sbm.build.api.ApplicationModule;
19+
import org.springframework.sbm.build.api.Module;
2020
import org.springframework.sbm.build.api.BuildFile;
2121
import org.springframework.sbm.engine.recipe.AbstractAction;
2222
import org.springframework.sbm.engine.context.ProjectContext;
@@ -50,7 +50,7 @@ public RemoveDependenciesMatchingRegex(List<String> dependenciesRegex) {
5050
@Override
5151
public void apply(ProjectContext context) {
5252
context.getModules().stream()
53-
.map(ApplicationModule::getBuildFile)
53+
.map(Module::getBuildFile)
5454
.filter(b -> b.hasDeclaredDependencyMatchingRegex(dependenciesRegex.toArray(new String[0])))
5555
.forEach(b -> b.removeDependenciesMatchingRegex(dependenciesRegex.toArray(new String[0])));
5656
}

components/sbm-core/src/main/java/org/springframework/sbm/build/migration/actions/RemoveDependenciesMatchingRegexFromApplicationModules.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package org.springframework.sbm.build.migration.actions;
1818

19-
import org.springframework.sbm.build.api.ApplicationModule;
19+
import org.springframework.sbm.build.api.Module;
2020
import org.springframework.sbm.build.migration.actions.RemoveDependenciesMatchingRegex;
2121
import org.springframework.sbm.engine.context.ProjectContext;
2222
import org.springframework.sbm.engine.recipe.MultiModuleHandler;
@@ -28,7 +28,7 @@ public class RemoveDependenciesMatchingRegexFromApplicationModules implements Mu
2828
@Override
2929
public void handle(ProjectContext context) {
3030
context.getApplicationModules().getTopmostApplicationModules().stream()
31-
.map(ApplicationModule::getBuildFile)
31+
.map(Module::getBuildFile)
3232
.forEach(b -> action.getDependenciesRegex().stream().forEach(b::removeDependenciesMatchingRegex));
3333
}
3434

components/sbm-core/src/main/java/org/springframework/sbm/build/migration/conditions/NoDependencyExistMatchingRegex.java

+5-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.sbm.build.migration.conditions;
1717

18-
import org.springframework.sbm.build.api.ApplicationModule;
18+
import org.springframework.sbm.build.api.Module;
1919
import org.springframework.sbm.engine.recipe.Condition;
2020
import org.springframework.sbm.engine.context.ProjectContext;
2121
import lombok.*;
@@ -40,11 +40,10 @@ public String getDescription() {
4040

4141
@Override
4242
public boolean evaluate(ProjectContext context) {
43-
return dependencies.stream().noneMatch(d ->
44-
context.getModules().stream()
45-
.map(ApplicationModule::getBuildFile)
46-
.anyMatch(b -> b.hasDeclaredDependencyMatchingRegex(d)
47-
)
43+
return dependencies.stream().allMatch(d ->
44+
context.getModules().stream()
45+
.map(Module::getBuildFile)
46+
.noneMatch(b -> b.hasDeclaredDependencyMatchingRegex(d))
4847
);
4948
}
5049
}

components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContext.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
package org.springframework.sbm.engine.context;
1717

1818
import org.openrewrite.java.JavaParser;
19-
import org.springframework.sbm.build.api.ApplicationModule;
2019
import org.springframework.sbm.build.api.ApplicationModules;
20+
import org.springframework.sbm.build.api.Module;
2121
import org.springframework.sbm.build.api.BuildFile;
2222
import org.springframework.sbm.build.api.RootBuildFileFilter;
2323
import org.springframework.sbm.build.filter.BuildFileProjectResourceFilter;
@@ -57,16 +57,16 @@ public ProjectResourceSet getProjectResources() {
5757
return projectResources;
5858
}
5959

60-
public List<ApplicationModule> getModules() {
60+
public List<Module> getModules() {
6161
return search(new BuildFileProjectResourceFilter()).stream()
6262
.map(this::mapToModule)
6363
.collect(Collectors.toList());
6464
}
6565

66-
private ApplicationModule mapToModule(BuildFile buildFile) {
66+
private Module mapToModule(BuildFile buildFile) {
6767
String buildFileName = "";
6868
Path modulePath = projectRootDirectory.relativize(buildFile.getAbsolutePath().getParent());
69-
return new ApplicationModule(buildFileName, buildFile, projectRootDirectory, modulePath, getProjectResources(), javaRefactoringFactory, basePackageCalculator, javaParser);
69+
return new Module(buildFileName, buildFile, projectRootDirectory, modulePath, getProjectResources(), javaRefactoringFactory, basePackageCalculator, javaParser);
7070
}
7171

7272
public BuildFile getBuildFile() {

components/sbm-core/src/test/java/org/springframework/sbm/build/api/ApplicationModulesTest.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ void shouldBeRecognizedAsMultiModuleProject() {
116116

117117
@Test
118118
void rootModule() {
119-
ApplicationModule rootModule = sut.getRootModule();
119+
Module rootModule = sut.getRootModule();
120120
assertThat(rootModule.getModulePath()).isEqualTo(Path.of(""));
121121
assertThat(rootModule.getBuildFile().getCoordinates()).isEqualTo("org.example:parent:1.0-SNAPSHOT");
122122
// assertThat(rootModule.getModules().get(0).getBuildFile().getCoordinates()).isEqualTo("org.example:module1:1.0-SNAPSHOT");
@@ -128,28 +128,28 @@ void rootModule() {
128128

129129
@Test
130130
void getModule() {
131-
ApplicationModule parentModule = sut.findModule("org.example:parent:1.0-SNAPSHOT").get();
131+
Module parentModule = sut.findModule("org.example:parent:1.0-SNAPSHOT").get();
132132
assertThat(parentModule.getBuildFile().getCoordinates()).isEqualTo("org.example:parent:1.0-SNAPSHOT");
133133

134-
ApplicationModule module1 = sut.findModule("org.example:module1:1.0-SNAPSHOT").get();
134+
Module module1 = sut.findModule("org.example:module1:1.0-SNAPSHOT").get();
135135
assertThat(module1.getBuildFile().getCoordinates()).isEqualTo("org.example:module1:1.0-SNAPSHOT");
136136

137-
ApplicationModule module2 = sut.findModule("org.example:module2:1.0-SNAPSHOT").get();
137+
Module module2 = sut.findModule("org.example:module2:1.0-SNAPSHOT").get();
138138
assertThat(module2.getBuildFile().getCoordinates()).isEqualTo("org.example:module2:1.0-SNAPSHOT");
139139
}
140140

141141
@Test
142142
void applicationModule() {
143143
assertThat(sut.getTopmostApplicationModules()).hasSize(1);
144-
ApplicationModule applicationModule = sut.getTopmostApplicationModules().get(0);
144+
Module applicationModule = sut.getTopmostApplicationModules().get(0);
145145
assertThat(applicationModule.getModulePath()).isEqualTo(Path.of("module1"));
146146
assertThat(applicationModule.getBuildFile().getCoordinates()).isEqualTo("org.example:module1:1.0-SNAPSHOT");
147147
}
148148

149149
@Test
150150
void componentModule() {
151151
assertThat(sut.getComponentModules()).hasSize(1);
152-
ApplicationModule applicationModule = sut.getTopmostApplicationModules().get(0);
152+
Module applicationModule = sut.getTopmostApplicationModules().get(0);
153153
assertThat(applicationModule.getModulePath()).isEqualTo(Path.of("module1"));
154154
assertThat(applicationModule.getBuildFile().getCoordinates()).isEqualTo("org.example:module1:1.0-SNAPSHOT");
155155
}
+4-5
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@
1818
import org.intellij.lang.annotations.Language;
1919
import org.springframework.sbm.engine.context.ProjectContext;
2020
import org.springframework.sbm.project.resource.TestProjectContext;
21-
import org.junit.jupiter.api.Disabled;
2221
import org.junit.jupiter.api.Test;
2322

2423
import java.nio.file.Path;
2524

2625
import static org.assertj.core.api.Assertions.assertThat;
2726

2827

29-
class ApplicationModuleTest {
28+
class ModuleTest {
3029

3130
/**
3231
* Searches for files in {@code /src/main/resources} of this module.
@@ -115,9 +114,9 @@ void testGetModule() {
115114
.addJavaSource("module2/src/test/java", javaSource4)
116115
.build();
117116

118-
ApplicationModule parentModule = context.getApplicationModules().getModule(Path.of(""));
119-
ApplicationModule module1 = context.getApplicationModules().getModule(Path.of("module1"));
120-
ApplicationModule module2 = context.getApplicationModules().getModule(Path.of("module2"));
117+
Module parentModule = context.getApplicationModules().getModule(Path.of(""));
118+
Module module1 = context.getApplicationModules().getModule(Path.of("module1"));
119+
Module module2 = context.getApplicationModules().getModule(Path.of("module2"));
121120

122121
assertThat(parentModule.getMainJavaSourceSet().list()).isEmpty();
123122

Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import static org.assertj.core.api.Assertions.assertThat;
3737

3838
@DisplayName("Test ApplicationModule.searchTestJava")
39-
public class ApplicationModule_searchMainJava_Test {
39+
public class Module_searchMainJava_Test {
4040

4141
@Nested
4242
@DisplayName("Project")
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
import static org.assertj.core.api.Assertions.assertThat;
3535

3636
@DisplayName("Test ApplicationModule.searchMainResources")
37-
public class ApplicationModule_searchMainResources_Test {
37+
public class Module_searchMainResources_Test {
3838

3939
@Nested
4040
@DisplayName("Project")

0 commit comments

Comments
 (0)