protected Stream collectLibs()

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);
    }