in nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java [904:963]
private File createClusterProject(Artifact cluster, Collection<ModuleWrapper> mods) {
Model mavenModel = new Model();
mavenModel.setGroupId(cluster.getGroupId());
mavenModel.setArtifactId(cluster.getArtifactId());
mavenModel.setVersion(cluster.getVersion());
// mavenModel.setPackaging("nbm-application");
mavenModel.setPackaging("pom");
mavenModel.setModelVersion("4.0.0");
if (artefactParent != null) {
mavenModel.setParent(artefactParent);
}
List<Dependency> deps = new ArrayList<>();
for (ModuleWrapper wr : mods) {
Dependency dep = new Dependency();
if (wr.getModuleManifest().isNetBeansModule()) {
dep.setArtifactId(wr.getArtifact());
dep.setGroupId(wr.getGroup());
dep.setVersion(wr.getVersion());
dep.setType("nbm-file");
} else if (wr instanceof ModuleWrapperMaven) {
ModuleWrapperMaven mwr = (ModuleWrapperMaven) wr;
dep.setArtifactId(mwr.getDep().getArtifactId());
dep.setGroupId(mwr.getDep().getGroupId());
dep.setVersion(mwr.getDep().getVersion());
dep.setClassifier(mwr.getDep().getClassifier());
dep.setScope(mwr.getDep().getScope());
} else {
dep.setArtifactId(wr.getArtifact());
dep.setGroupId(wr.getGroup());
dep.setVersion(wr.getVersion());
}
deps.add(dep);
}
mavenModel.setDependencies(deps);
//
//
// Build build = new Build();
// Plugin plg = new Plugin();
// plg.setGroupId("org.codehaus.mojo");
// plg.setArtifactId("nbm-maven-plugin");
// plg.setVersion("2.7-SNAPSHOT");
// plg.setExtensions(true);
// build.addPlugin(plg);
// mavenModel.setBuild(build);
try {
File fil = Files.createTempFile("maven", ".pom").toFile();
fil.deleteOnExit();
try (FileWriter writer = new FileWriter(fil)) {
MavenXpp3Writer xpp = new MavenXpp3Writer();
xpp.write(writer, mavenModel);
}
return fil;
} catch (IOException ex) {
ex.printStackTrace();
}
return null;
}