Skip to content

Commit 0bb2c55

Browse files
authored
Merge branch 'main' into cassandra_properties
2 parents db7ed82 + ef84a62 commit 0bb2c55

File tree

14 files changed

+649
-140
lines changed

14 files changed

+649
-140
lines changed

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

Lines changed: 55 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -263,35 +263,45 @@ public List<Dependency> getDeclaredDependencies(Scope... scopes) {
263263
@Override
264264
public List<Dependency> getRequestedDependencies() {
265265
List<org.openrewrite.maven.tree.Dependency> requestedDependencies = getPom().getPom().getRequestedDependencies();
266+
266267
// FIXME: #7 use getPom().getDependencies() instead ?
267268
List<Dependency> declaredDependenciesWithEffectiveVersions = requestedDependencies.stream()
268269
.map(d -> mapDependency(d))
269270
.map(d -> {
270271
if(d.getType() == null || d.getClassifier() == null || d.getVersion() == null) {
271272

272-
String groupId = evaluate(d.getGroupId());
273-
String artifactId = evaluate(d.getArtifactId());
274-
String version = evaluate(d.getVersion());
273+
// resolve values for properties like ${my.artifactId} or ${dep.version}
274+
String resolvedGroupId = resolve(d.getGroupId());
275+
String resolvedArtifactId = resolve(d.getArtifactId());
276+
String resolvedVersion = resolve(d.getVersion());
275277

276278
List<ResolvedDependency> dependencies = getPom().findDependencies(
277-
groupId,
278-
artifactId,
279+
resolvedGroupId,
280+
resolvedArtifactId,
279281
d.getScope() != null ? Scope.fromName(d.getScope()) : null
280282
);
281283
if (dependencies.isEmpty()) {
282284
// requested dependency from another module in this multi-module project won't be resolvable
283-
return d;
285+
d.setGroupId(resolvedGroupId);
286+
d.setArtifactId(resolvedArtifactId);
287+
d.setVersion(resolvedVersion);
288+
}
289+
else {
290+
ResolvedDependency resolvedDependency = dependencies.get(0);
291+
d.setGroupId(resolvedGroupId);
292+
d.setArtifactId(resolvedArtifactId);
293+
d.setVersion(resolvedDependency.getVersion());
294+
d.setClassifier(resolvedDependency.getClassifier());
295+
d.setType(resolvedDependency.getType());
284296
}
285-
ResolvedDependency resolvedDependency = dependencies.get(0);
286-
d.setVersion(resolvedDependency.getVersion());
287-
d.setClassifier(resolvedDependency.getClassifier());
288-
d.setType(resolvedDependency.getType());
289-
d.setArtifactId(artifactId);
290-
d.setGroupId(groupId);
297+
291298

292299
if(d.getScope() == null ) {
293-
String s = resolveScope(groupId, artifactId, d.getType(), d.getClassifier());
294-
d.setScope(s);
300+
String s = resolveScope(resolvedGroupId, resolvedArtifactId, d.getType(), d.getClassifier());
301+
if(s == null) {
302+
s = "compile";
303+
}
304+
d.setScope(s.toLowerCase());
295305
}
296306
}
297307
return d;
@@ -302,8 +312,6 @@ public List<Dependency> getRequestedDependencies() {
302312

303313
/**
304314
* {@inheritDoc}
305-
*
306-
* TODO: #497 Test with declared and transitive dependencies
307315
*/
308316
@Override
309317
public Set<Dependency> getEffectiveDependencies(Scope scope) {
@@ -315,10 +323,28 @@ public Set<Dependency> getEffectiveDependencies(Scope scope) {
315323

316324
@Override
317325
public Set<Dependency> getEffectiveDependencies() {
318-
return getPom().getDependencies().entrySet()
326+
Set<Dependency> collect = getPom()
327+
.getDependencies()
328+
.get(Scope.Compile)
319329
.stream()
320-
.flatMap(e -> e.getValue().stream().map(v -> mapDependency(e.getKey(), v)))
330+
.map(d -> mapDependency(Scope.Compile, d))
321331
.collect(Collectors.toSet());
332+
333+
getPom()
334+
.getDependencies()
335+
.get(Scope.Provided)
336+
.stream()
337+
.map(d -> mapDependency(Scope.Provided, d))
338+
.forEach(d -> collect.add(d));
339+
340+
getPom()
341+
.getDependencies()
342+
.get(Scope.Test)
343+
.stream()
344+
.map(d -> mapDependency(Scope.Test, d))
345+
.forEach(d -> collect.add(d));
346+
347+
return collect;
322348
}
323349

324350
@Override
@@ -367,7 +393,7 @@ private org.springframework.sbm.build.api.Dependency mapDependency(org.openrewri
367393

368394
private String resolveScope(String groupId, String artifactId, @Nullable String type, @Nullable String classifier) {
369395
Scope managedScope = getPom().getPom().getManagedScope(groupId, artifactId, type, classifier);
370-
return managedScope != null ? managedScope.name().toLowerCase() : null;
396+
return managedScope != null ? managedScope.name().toLowerCase() : "compile";
371397
}
372398

373399
private org.springframework.sbm.build.api.Dependency mapDependency(Scope scope, ResolvedDependency d) {
@@ -376,12 +402,15 @@ private org.springframework.sbm.build.api.Dependency mapDependency(Scope scope,
376402
d.getArtifactId(),
377403
d.getVersion(),
378404
d.getType(),
379-
scope.name(),
405+
scope.name().toLowerCase(),
380406
d.getClassifier(),
381-
d.getRequested().getExclusions()
382-
.stream()
383-
.map(e -> Dependency.builder().groupId(e.getGroupId()).artifactId(e.getArtifactId()).build())
384-
.collect(Collectors.toList())
407+
d.getRequested().getExclusions() != null ?
408+
d.getRequested().getExclusions()
409+
.stream()
410+
.map(e -> Dependency.builder().groupId(e.getGroupId()).artifactId(e.getArtifactId()).build())
411+
.collect(Collectors.toList())
412+
:
413+
List.of()
385414
);
386415
}
387416

@@ -623,7 +652,7 @@ public String getArtifactId() {
623652

624653
@Override
625654
public String getVersion() {
626-
return evaluate(getPom().getPom().getVersion());
655+
return resolve(getPom().getPom().getVersion());
627656
}
628657
@Override
629658
public String getCoordinates() {
@@ -802,7 +831,7 @@ public void removePlugins(String... coordinates) {
802831
}
803832

804833

805-
private String evaluate(String expression) {
834+
private String resolve(String expression) {
806835
return getPom().getPom().getValue(expression);
807836
}
808837
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ private static Consumer<Throwable> createErrorHandler() {
6767
}
6868

6969
public Set<Dependency> mapCoordinatesToDependencies(List<String> coordinates) {
70-
Set<Dependency> dependencies = new HashSet<>();
70+
Set<Dependency> dependencies = new LinkedHashSet<>();
7171
coordinates.forEach(c -> {
7272

7373
String[] parts = c.split(":");

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ void multiModuleProject() {
7373

7474
String module1Pom = PomBuilder
7575
.buiildPom("com.example:parent:1.0", "module1")
76-
.dependencies("com.example:module2:1.0")
76+
.unscopedDependencies("com.example:module2:1.0")
7777
.build();
7878

7979
String module2Pom = PomBuilder.buiildPom("com.example:parent:1.0", "module2").build();

0 commit comments

Comments
 (0)