Skip to content

Commit 593e75d

Browse files
committed
feat: mvn2jbang now somewhat handles BOMs
1 parent ec2e4a4 commit 593e75d

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

mvn2jbang.java

+25-8
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
package scripts;
44

5-
import org.apache.maven.model.Model;
5+
import org.apache.maven.model.*;
66
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
77
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
88

99
import java.io.*;
1010
import java.nio.file.*;
11-
import java.util.regex.Pattern;
12-
import java.util.stream.Collectors;
13-
import java.util.stream.Stream;
11+
import java.util.regex.*;
12+
import java.util.stream.*;
1413

1514
public class mvn2jbang {
1615

@@ -31,9 +30,27 @@ static Model readModel(Reader rdr) throws IOException, XmlPullParserException {
3130

3231
static void writeTags(PrintWriter writer, Model model, boolean usePrefix) {
3332
String prefix = usePrefix ? "//" : "";
34-
writer.println(prefix + "DEPS " + model.getDependencies().stream()
35-
.map(d -> replaceProps(d.getGroupId() + ":" + d.getArtifactId() + ":" + d.getVersion(), model))
36-
.collect(Collectors.joining("\n" + prefix + "DEPS ")));
33+
34+
if (model.getDependencyManagement() != null) {
35+
for (Dependency d : model.getDependencyManagement().getDependencies()) {
36+
String dep = d.getGroupId() + ":" + d.getArtifactId();
37+
if (d.getVersion() != null) {
38+
dep += ":" + d.getVersion();
39+
}
40+
dep += "@pom";
41+
dep = replaceProps(dep, model);
42+
writer.println(prefix + "DEPS " + dep);
43+
}
44+
}
45+
46+
for (Dependency d : model.getDependencies()) {
47+
String dep = d.getGroupId() + ":" + d.getArtifactId();
48+
if (d.getVersion() != null) {
49+
dep += ":" + d.getVersion();
50+
}
51+
dep = replaceProps(dep, model);
52+
writer.println(prefix + "DEPS " + dep);
53+
}
3754

3855
if (model.getGroupId() != null && model.getArtifactId() != null && model.getVersion() != null) {
3956
writer.println(prefix + "GAV " + model.getGroupId() + ":" + model.getArtifactId() + ":" + model.getVersion());
@@ -42,7 +59,7 @@ static void writeTags(PrintWriter writer, Model model, boolean usePrefix) {
4259
int sourceVer = safeInt(model.getProperties().getProperty("maven.compiler.source"), 0);
4360
int targetVer = safeInt(model.getProperties().getProperty("maven.compiler.target"), 0);
4461
int javaVer = Math.max(sourceVer, targetVer);
45-
if (javaVer > 8) {
62+
if (javaVer >= 8) {
4663
writer.println(prefix + "JAVA " + javaVer + "+");
4764
}
4865
}

0 commit comments

Comments
 (0)