in winegrower-extension/winegrower-build/winegrower-maven-plugin/src/main/java/org/apache/winegrower/extension/build/maven/LibsMojo.java [68:94]
protected Stream<File> collectLibs() {
return ofNullable(libs)
.map(value -> value.stream().flatMap(l -> {
final boolean transitive = l.endsWith("?transitive");
final String coords = transitive ? l.substring(0, l.length() - "?transitive".length()) : l;
final String[] c = coords.split(":");
if (c.length < 3 || c.length > 5) {
throw new IllegalArgumentException("libs syntax is groupId:artifactId:version[:classifier][:type[?transitive]]");
}
if (!transitive) {
return Stream.of(resolve(c[0], c[1], c[2], c.length == 4 ? c[3] : ""));
} else {
return collectTransitiveDependencies(new Dependency() {{
setGroupId(c[0]);
setArtifactId(c[1]);
setVersion(c[2]);
if (c.length == 4 && !"-".equals(c[3])) {
setClassifier(c[3]);
}
if (c.length == 5) {
setType(c[4]);
}
}});
}
}).filter(it -> !it.getName().endsWith(".pom")))
.orElseGet(Stream::empty);
}