in nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java [1080:1153]
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);
FileWriter writer = null;
File fil = null;
try
{
MavenXpp3Writer xpp = new MavenXpp3Writer();
fil = File.createTempFile( "maven", ".pom" );
fil.deleteOnExit();
writer = new FileWriter( fil );
xpp.write( writer, mavenModel );
}
catch ( IOException ex )
{
ex.printStackTrace();
}
finally
{
IOUtil.close( writer );
}
return fil;
}