List of usage examples for org.apache.maven.project MavenProject getFile
public File getFile()
From source file:org.eclipse.scada.build.helper.AbstractSetQualifierMojo.java
License:Open Source License
private void process(final Collection<MavenProject> projects, final MavenProject project) throws Exception { getLog().debug("Processing: " + project + " / " + project.getVersion()); final String qualifier = getQualifier(project); final String version = makeVersion(project, qualifier); recordVersion("pom", String.format("%s:%s", project.getGroupId(), project.getArtifactId()), version); addChange(project.getFile(), new ModelModifier() { @Override// www.jav a2s . c om public boolean apply(final Model model) { if (version != null && !version.equals(project.getVersion())) { getLog().info(String.format("Update from %s to %s on project %s", project.getVersion(), version, project)); model.setVersion(version); return true; } return false; } }); addChange(project.getFile(), new ModelModifier() { @Override public boolean apply(final Model model) { boolean change = false; final Properties p = model.getProperties(); getLog().debug("Project Properties: " + p); for (final String prop : AbstractSetQualifierMojo.this.qualifierProperties) { if (p.containsKey(prop)) { getLog().info(String.format("%s: Setting property - %s -> %s", project, prop, qualifier)); p.put(prop, qualifier); change = true; } } for (final Map.Entry<String, String> entry : AbstractSetQualifierMojo.this.additionalProperties .entrySet()) { if (p.containsKey(entry.getKey())) { if (entry.getValue() != null) { getLog().info(String.format("%s: Setting property - %s -> %s", project, entry.getKey(), entry.getValue())); p.put(entry.getKey(), entry.getValue()); change = true; } else { getLog().info(String.format("%s: Removing property - %s", entry.getKey())); p.remove(entry.getKey()); change = true; } } } return change; } @Override public String toString() { return String.format("Change properties: " + project); }; }); addChange(project.getFile(), new ModelModifier() { @Override public boolean apply(final Model model) { boolean changed = false; for (final Dependency dep : model.getDependencies()) { changed |= syncDep(dep); } for (final Profile profile : model.getProfiles()) { for (final Dependency dep : profile.getDependencies()) { changed |= syncDep(dep); } } return changed; } @Override public String toString() { return String.format("Change dependencies: " + project); }; }); // visit all modules that have this project as a parent this.helper.visitModulesWithParent(projects, project, new VisitorChange(this.changeManager) { @Override protected boolean performChange(final Model model) { getLog().debug(String.format("Update parent version in module: %s", model)); model.getParent().setVersion(version); return true; } }); checkNonRelativeParent(project); syncModule(project, version); }
From source file:org.eclipse.scada.build.helper.AbstractSetQualifierMojo.java
License:Open Source License
private void checkNonRelativeParent(final MavenProject project) { if (project.getModel().getParent() == null) { // no parent return;/*from ww w . j av a2 s . c o m*/ } if (project.getParentFile() != null) { // is a local parent return; } final Parent parent = project.getModel().getParent(); final String prefix = String.format("%s:%s:", parent.getGroupId(), parent.getArtifactId()); for (final String entry : this.forceUpdateParentQualifiers) { if (entry.startsWith(prefix)) { final String qualifier = entry.substring(prefix.length()); final String newVersion = makeVersion(parent.getVersion(), qualifier); getLog().info(String.format("Force update parent of %s to %s -> %s", project.getId(), parent.getId(), newVersion)); addChange(project.getFile(), new ModelModifier() { @Override public boolean apply(final Model model) { model.getParent().setVersion(newVersion); return true; } }); } } }
From source file:org.eclipse.scada.build.helper.DefaultPomHelper.java
License:Open Source License
@Override public Set<MavenProject> expandProjects(final Collection<MavenProject> projects, final Log log, final MavenSession session) { try {//from w w w . j ava2 s .c o m final Set<MavenProject> result = new HashSet<MavenProject>(); final Queue<MavenProject> queue = new LinkedList<MavenProject>(projects); while (!queue.isEmpty()) { final MavenProject project = queue.poll(); log.debug("Checking project: " + project); if (project.getFile() == null) { log.info("Skipping non-local project: " + project); continue; } if (!result.add(project)) { // if the project was already in our result, there is no need to process twice continue; } // add all children to the queue queue.addAll(loadChildren(project, log, session)); if (hasLocalParent(project)) { // if we have a parent, add the parent as well queue.add(project.getParent()); } } return result; } catch (final Exception e) { throw new RuntimeException(e); } }
From source file:org.eclipse.scada.build.helper.DefaultPomHelper.java
License:Open Source License
private MavenProject loadProject(File file, final MavenSession session) throws Exception { file = file.getCanonicalFile();/*from w w w . j a v a 2 s . c om*/ for (final MavenProject project : session.getProjects()) { final File projectFile = project.getFile().getCanonicalFile(); if (projectFile.equals(file)) { return project; } } throw new MojoExecutionException(file, "Unreferenced project found", String.format("Project at '%s' is not in the list of active projects. This plugin can only" + "work on projects there were loaded by maven. You need to include the project in your build.", file)); }
From source file:org.eclipse.scada.build.helper.DefaultPomHelper.java
License:Open Source License
@Override public void visitModulesWithParent(final Collection<MavenProject> projects, final MavenProject parentProject, final ProjectVisitor visitor) throws Exception { for (final MavenProject project : projects) { if (project.getParentFile() == null) { continue; }//from w w w .j ava2s. com if (project.getParentFile().equals(parentProject.getFile())) { visitor.visit(project); } } }
From source file:org.eclipse.scada.build.helper.VisitorChange.java
License:Open Source License
@Override public void visit(final MavenProject project) throws IOException { this.changeManager.addChange(project.getFile(), new ModelModifier() { @Override/*from w w w . j a v a 2 s .c o m*/ public boolean apply(final Model model) { return performChange(model); } @Override public String toString() { return VisitorChange.this.toString(); }; }); }
From source file:org.fornax.toolsupport.sculptor.maven.plugin.AbstractSculptorMojoTestCase.java
License:Apache License
/** * Returns Mojo instance for the given goal. The Mojo instance is * initialized with a {@link MavenProject} created from the test projects in * <code>"src/test/projects/"</code> by given project name. *///from w w w . j ava 2 s . co m protected T createMojo(MavenProject project, String goal) throws Exception { // Create mojo @SuppressWarnings("unchecked") T mojo = (T) lookupMojo(goal, project.getFile()); assertNotNull(mojo); // Set Maven project setVariableValueToObject(mojo, "project", project); // Set default values on mojo setVariableValueToObject(mojo, "outletSrcOnceDir", new File(project.getBasedir(), "src/main/java")); setVariableValueToObject(mojo, "outletResOnceDir", new File(project.getBasedir(), "src/main/resources")); setVariableValueToObject(mojo, "outletSrcDir", new File(project.getBasedir(), "src/generated/java")); setVariableValueToObject(mojo, "outletResDir", new File(project.getBasedir(), "src/generated/resources")); setVariableValueToObject(mojo, "outletSrcTestOnceDir", new File(project.getBasedir(), "src/test/java")); setVariableValueToObject(mojo, "outletResTestOnceDir", new File(project.getBasedir(), "src/test/resources")); setVariableValueToObject(mojo, "outletSrcTestDir", new File(project.getBasedir(), "src/test/generated/java")); setVariableValueToObject(mojo, "outletResTestDir", new File(project.getBasedir(), "src/test/generated/resources")); setVariableValueToObject(mojo, "statusFile", new File(project.getBasedir(), ".sculptor-status")); return mojo; }
From source file:org.gephi.maven.CreateAutoUpdate.java
License:Apache License
@Override public void execute() throws MojoExecutionException, MojoFailureException { String gephiVersion = (String) project.getProperties().get("gephi.version"); if (gephiVersion == null) { throw new MojoExecutionException("The 'gephi.version' property should be defined"); }/*from w w w. ja v a 2 s. com*/ File outputFolder = new File(outputDirectory, gephiVersion); if (outputFolder.mkdirs()) { getLog().debug("Folder '" + outputFolder.getAbsolutePath() + "' created."); } if (reactorProjects != null && reactorProjects.size() > 0) { Project antProject = registerNbmAntTasks(); for (MavenProject proj : reactorProjects) { if (proj.getPackaging().equals("nbm")) { File moduleDir = proj.getFile().getParentFile(); if (moduleDir != null && moduleDir.exists()) { File targetDir = new File(moduleDir, "target"); if (targetDir.exists()) { String gephiVersionModule = proj.getProperties().getProperty("gephi.version"); if (gephiVersionModule == null) { throw new MojoExecutionException( "The 'gephi.version' property should be defined in project '" + proj.getName() + "'"); } if (gephiVersionModule.equals(gephiVersion)) { File[] nbmsFiles = targetDir.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return !name.startsWith(".") && name.endsWith(".nbm"); } }); for (File nbmFile : nbmsFiles) { try { FileUtils.copyFileToDirectory(nbmFile, outputFolder); } catch (IOException ex) { getLog().error( "Error while copying nbm file '" + nbmFile.getAbsolutePath() + "'", ex); } getLog().info("Copying '" + nbmFile + "' to '" + outputFolder.getAbsolutePath() + "'"); } } else { getLog().warn("The NBM of module '" + proj.getName() + "' has been ignored because its 'gephi.version' is '" + gephiVersionModule + "' while '" + gephiVersion + "' is expected"); } } else { getLog().error( "The module target dir for project '" + proj.getName() + "' doesn't exists"); } } else { getLog().error("The module dir for project '" + proj.getName() + "' doesn't exists"); } } } // Create updates.xml String fileName = "updates.xml"; MakeUpdateDesc descTask = (MakeUpdateDesc) antProject.createTask("updatedist"); File xmlFile = new File(outputFolder, fileName); descTask.setDesc(xmlFile); FileSet fs = new FileSet(); fs.setDir(outputFolder); fs.createInclude().setName("**/*.nbm"); descTask.addFileset(fs); try { descTask.execute(); } catch (BuildException ex) { throw new MojoExecutionException("Cannot create autoupdate site xml file", ex); } getLog().info("Generated autoupdate site content at " + outputFolder.getAbsolutePath()); // Create compressed version of updates.xml try { GZipArchiver gz = new GZipArchiver(); gz.addFile(xmlFile, fileName); File gzipped = new File(outputFolder, fileName + ".gz"); gz.setDestFile(gzipped); gz.createArchive(); } catch (ArchiverException ex) { throw new MojoExecutionException("Cannot create gzipped version of the update site xml file.", ex); } catch (IOException ex) { throw new MojoExecutionException("Cannot create gzipped version of the update site xml file.", ex); } getLog().info("Generated compressed autoupdate site content at " + outputFolder.getAbsolutePath()); } else { throw new MojoExecutionException("This should be executed on the reactor project"); } }
From source file:org.hypoport.milk.maven.plugin.AbstractVersionsUpdaterMojo.java
License:Apache License
protected void process() throws MojoFailureException, MojoExecutionException { for (MavenProject project : reactorProjects) { process(project.getFile()); }//from w w w. j av a 2 s .c o m }
From source file:org.javagems.core.maven.DebianMojo.java
License:Apache License
/** * Copy properties from the maven project to the ant project. * * @param mavenProject/*from ww w . j ava2s.co m*/ * @param antProject */ public void copyProperties(MavenProject mavenProject, Project antProject) { Properties mavenProps = mavenProject.getProperties(); Iterator iter = mavenProps.keySet().iterator(); while (iter.hasNext()) { String key = (String) iter.next(); antProject.setProperty(key, mavenProps.getProperty(key)); } // Set the POM file as the ant.file for the tasks run directly in Maven. antProject.setProperty("ant.file", mavenProject.getFile().getAbsolutePath()); // Add some of the common maven properties getLog().debug("Setting properties with prefix: " + propertyPrefix); antProject.setProperty((propertyPrefix + "project.groupId"), mavenProject.getGroupId()); antProject.setProperty((propertyPrefix + "project.artifactId"), mavenProject.getArtifactId()); antProject.setProperty((propertyPrefix + "project.name"), mavenProject.getName()); if (mavenProject.getDescription() != null) { antProject.setProperty((propertyPrefix + "project.description"), mavenProject.getDescription()); } antProject.setProperty((propertyPrefix + "project.version"), mavenProject.getVersion()); antProject.setProperty((propertyPrefix + "project.packaging"), mavenProject.getPackaging()); antProject.setProperty((propertyPrefix + "project.build.directory"), mavenProject.getBuild().getDirectory()); antProject.setProperty((propertyPrefix + "project.build.outputDirectory"), mavenProject.getBuild().getOutputDirectory()); antProject.setProperty((propertyPrefix + "project.build.testOutputDirectory"), mavenProject.getBuild().getTestOutputDirectory()); antProject.setProperty((propertyPrefix + "project.build.sourceDirectory"), mavenProject.getBuild().getSourceDirectory()); antProject.setProperty((propertyPrefix + "project.build.testSourceDirectory"), mavenProject.getBuild().getTestSourceDirectory()); antProject.setProperty((propertyPrefix + "localRepository"), localRepository.toString()); antProject.setProperty((propertyPrefix + "settings.localRepository"), localRepository.getBasedir()); // Add properties for depenedency artifacts Set depArtifacts = mavenProject.getArtifacts(); for (Iterator it = depArtifacts.iterator(); it.hasNext();) { Artifact artifact = (Artifact) it.next(); String propName = artifact.getDependencyConflictId(); antProject.setProperty(propertyPrefix + propName, artifact.getFile().getPath()); } // Add a property containing the list of versions for the mapper StringBuffer versionsBuffer = new StringBuffer(); for (Iterator it = depArtifacts.iterator(); it.hasNext();) { Artifact artifact = (Artifact) it.next(); versionsBuffer.append(artifact.getVersion() + File.pathSeparator); } antProject.setProperty(versionsPropertyName, versionsBuffer.toString()); }