@@ -263,35 +263,45 @@ public List<Dependency> getDeclaredDependencies(Scope... scopes) {
263
263
@ Override
264
264
public List <Dependency > getRequestedDependencies () {
265
265
List <org .openrewrite .maven .tree .Dependency > requestedDependencies = getPom ().getPom ().getRequestedDependencies ();
266
+
266
267
// FIXME: #7 use getPom().getDependencies() instead ?
267
268
List <Dependency > declaredDependenciesWithEffectiveVersions = requestedDependencies .stream ()
268
269
.map (d -> mapDependency (d ))
269
270
.map (d -> {
270
271
if (d .getType () == null || d .getClassifier () == null || d .getVersion () == null ) {
271
272
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 ());
275
277
276
278
List <ResolvedDependency > dependencies = getPom ().findDependencies (
277
- groupId ,
278
- artifactId ,
279
+ resolvedGroupId ,
280
+ resolvedArtifactId ,
279
281
d .getScope () != null ? Scope .fromName (d .getScope ()) : null
280
282
);
281
283
if (dependencies .isEmpty ()) {
282
284
// 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 ());
284
296
}
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
+
291
298
292
299
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 ());
295
305
}
296
306
}
297
307
return d ;
@@ -302,8 +312,6 @@ public List<Dependency> getRequestedDependencies() {
302
312
303
313
/**
304
314
* {@inheritDoc}
305
- *
306
- * TODO: #497 Test with declared and transitive dependencies
307
315
*/
308
316
@ Override
309
317
public Set <Dependency > getEffectiveDependencies (Scope scope ) {
@@ -315,10 +323,28 @@ public Set<Dependency> getEffectiveDependencies(Scope scope) {
315
323
316
324
@ Override
317
325
public Set <Dependency > getEffectiveDependencies () {
318
- return getPom ().getDependencies ().entrySet ()
326
+ Set <Dependency > collect = getPom ()
327
+ .getDependencies ()
328
+ .get (Scope .Compile )
319
329
.stream ()
320
- .flatMap ( e -> e . getValue (). stream (). map (v -> mapDependency (e . getKey (), v ) ))
330
+ .map (d -> mapDependency (Scope . Compile , d ))
321
331
.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 ;
322
348
}
323
349
324
350
@ Override
@@ -367,7 +393,7 @@ private org.springframework.sbm.build.api.Dependency mapDependency(org.openrewri
367
393
368
394
private String resolveScope (String groupId , String artifactId , @ Nullable String type , @ Nullable String classifier ) {
369
395
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" ;
371
397
}
372
398
373
399
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,
376
402
d .getArtifactId (),
377
403
d .getVersion (),
378
404
d .getType (),
379
- scope .name (),
405
+ scope .name (). toLowerCase () ,
380
406
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 ()
385
414
);
386
415
}
387
416
@@ -623,7 +652,7 @@ public String getArtifactId() {
623
652
624
653
@ Override
625
654
public String getVersion () {
626
- return evaluate (getPom ().getPom ().getVersion ());
655
+ return resolve (getPom ().getPom ().getVersion ());
627
656
}
628
657
@ Override
629
658
public String getCoordinates () {
@@ -802,7 +831,7 @@ public void removePlugins(String... coordinates) {
802
831
}
803
832
804
833
805
- private String evaluate (String expression ) {
834
+ private String resolve (String expression ) {
806
835
return getPom ().getPom ().getValue (expression );
807
836
}
808
837
}
0 commit comments