private File createClusterProject()

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