private File createClusterProject()

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