List of usage examples for org.apache.maven.project MavenProject getGroupId
public String getGroupId()
From source file:org.jboss.maven.plugins.qstools.fixers.UnusedPropertiesFixer.java
License:Apache License
@Override public void fix(MavenProject project, MavenSession mavenSession, List<MavenProject> reactorProjects, Log log) throws QSToolsException { try {//from ww w .ja va 2s. c om Rules rules = configurationProvider.getQuickstartsRules(project.getGroupId()); List<UnusedPropertiesUtil.PomInformation> unusedPropertyInfo = unusedPropertiesUtil .findUnusedProperties(reactorProjects, rules); for (UnusedPropertiesUtil.PomInformation pomInfo : unusedPropertyInfo) { Document doc = PositionalXMLReader.readXML(new FileInputStream(pomInfo.getProject().getFile())); Node unusedPropertyNode = (Node) xPath.evaluate("/project/properties/" + pomInfo.getProperty(), doc, XPathConstants.NODE); // Get comment over the element Node commentNode = null; if (unusedPropertyNode.getPreviousSibling() != null && unusedPropertyNode.getPreviousSibling() != null && unusedPropertyNode .getPreviousSibling().getPreviousSibling().getNodeType() == Node.COMMENT_NODE) { commentNode = unusedPropertyNode.getPreviousSibling().getPreviousSibling(); } // If the element had a comment, remove it too. if (commentNode != null) { XMLUtil.removePreviousWhiteSpace(commentNode); commentNode.getParentNode().removeChild(commentNode); } XMLUtil.removePreviousWhiteSpace(unusedPropertyNode); unusedPropertyNode.getParentNode().removeChild(unusedPropertyNode); XMLUtil.writeXML(doc, pomInfo.getProject().getFile()); } } catch (Exception e) { throw new QSToolsException(e); } }
From source file:org.jboss.mavenPlugin.buildInfo.AbstractParentMojo.java
License:Open Source License
static String createProjectId(MavenProject project) { return project.getGroupId() + SEPARATOR + project.getArtifactId() + SEPARATOR + project.getVersion(); }
From source file:org.jboss.shrinkwrap.resolver.plugin.DependencyTreeMojo.java
License:Apache License
@Override public void execute() throws MojoExecutionException { // first, we need to propagate environment settings PropagateExecutionContextMojo mojo = new PropagateExecutionContextMojo(); mojo.setNamespace("maven.execution."); mojo.setSession(session);/*from w ww .j a v a 2 s. c o m*/ mojo.execute(); // propagate into current environment SecurityActions.addProperties(session.getUserProperties()); MavenProject project = session.getCurrentProject(); // set scope ScopeType[] scopes = ScopeType.values(); if (scope != null && !"".equals(scope)) { scopes = new ScopeType[] { ScopeType.fromScopeType(scope) }; } // get ClassLoader that contains both Maven and plugin class path ClassLoader cls = getCombinedClassLoader(classRealmManager); // skip resolution if no dependencies are in the project (e.g. parent agreggator) MavenResolvedArtifact[] artifacts; if (project.getDependencies() == null || project.getDependencies().size() == 0) { artifacts = new MavenResolvedArtifact[0]; } else { artifacts = Maven.configureResolverViaPlugin(cls).importDependencies(scopes).resolve() .withTransitivity().asResolvedArtifact(); } StringBuilder projectGAV = new StringBuilder(); projectGAV.append(project.getGroupId()).append(":").append(project.getArtifactId()).append(":") .append(project.getPackaging()).append(":").append(project.getVersion()).append("\n"); String dependencyTree = buildDependencyTree(projectGAV, "+- ", artifacts); // write output to file if specified if (outputFile != null) { FileWriter writer = null; try { writer = new FileWriter(outputFile); writer.write(dependencyTree); getLog().info("Dependency tree output was writen into: " + outputFile.getAbsolutePath()); } catch (IOException e) { } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { } } } // write an output to console else { StringBuilder outputBuffer = new StringBuilder(); outputBuffer.append(OUTPUT_DELIMITER).append("\nShrinkWrap Maven: Dependency Tree\n") .append(OUTPUT_DELIMITER).append("\n").append(dependencyTree).append(OUTPUT_DELIMITER); getLog().info(outputBuffer.toString()); } }
From source file:org.jenkinsci.plugins.pipeline.maven.eventspy.handler.AbstractMavenEventHandler.java
License:Open Source License
public Xpp3Dom newElement(@Nonnull String name, @Nullable final MavenProject project) { Xpp3Dom projectElt = new Xpp3Dom(name); if (project == null) { return projectElt; }// w w w . j a v a2 s .c o m projectElt.setAttribute("name", project.getName()); projectElt.setAttribute("groupId", project.getGroupId()); projectElt.setAttribute("artifactId", project.getArtifactId()); projectElt.setAttribute("version", project.getVersion()); projectElt.setAttribute("packaging", project.getPackaging()); if (project.getBasedir() != null) { try { projectElt.setAttribute("baseDir", project.getBasedir().getCanonicalPath()); } catch (IOException e) { throw new RuntimeIOException(e); } } if (project.getFile() != null) { File projectFile = project.getFile(); String absolutePath; try { absolutePath = projectFile.getCanonicalPath(); } catch (IOException e) { throw new RuntimeIOException(e); } if (absolutePath.endsWith(File.separator + "pom.xml") || absolutePath.endsWith(File.separator + ".flattened-pom.xml")) { // JENKINS-43616: flatten-maven-plugin replaces the original pom as artifact with a .flattened-pom.xml // no tweak } else if (absolutePath.endsWith(File.separator + "dependency-reduced-pom.xml")) { // JENKINS-42302: maven-shade-plugin creates a temporary project file dependency-reduced-pom.xml // TODO see if there is a better way to implement this "workaround" absolutePath = absolutePath.replace(File.separator + "dependency-reduced-pom.xml", File.separator + "pom.xml"); } else if (absolutePath.endsWith(File.separator + ".git-versioned-pom.xml")) { // JENKINS-56666 maven-git-versioning-extension causes warnings due to temporary pom.xml file name '.git-versioned-pom.xml' // https://github.com/qoomon/maven-git-versioning-extension/blob/v4.1.0/src/main/java/me/qoomon/maven/gitversioning/VersioningMojo.java#L39 // TODO see if there is a better way to implement this "workaround" absolutePath = absolutePath.replace(File.separator + ".git-versioned-pom.xml", File.separator + "pom.xml"); } else { String flattenedPomFilename = getMavenFlattenPluginFlattenedPomFilename(project); if (flattenedPomFilename == null) { logger.warn("[jenkins-event-spy] Unexpected Maven project file name '" + projectFile.getName() + "', problems may occur"); } else { if (absolutePath.endsWith(File.separator + flattenedPomFilename)) { absolutePath = absolutePath.replace(File.separator + flattenedPomFilename, File.separator + "pom.xml"); } else { logger.warn("[jenkins-event-spy] Unexpected Maven project file name '" + projectFile.getName() + "', problems may occur"); } } } projectElt.setAttribute("file", absolutePath); } Build build = project.getBuild(); if (build != null) { Xpp3Dom buildElt = new Xpp3Dom("build"); projectElt.addChild(buildElt); if (build.getOutputDirectory() != null) { buildElt.setAttribute("directory", build.getDirectory()); } if (build.getSourceDirectory() != null) { buildElt.setAttribute("sourceDirectory", build.getSourceDirectory()); } } return projectElt; }
From source file:org.jenkinsci.plugins.pipeline.maven.eventspy.handler.ProjectStartedExecutionHandler.java
License:Open Source License
@Override protected void addDetails(@Nonnull ExecutionEvent executionEvent, @Nonnull Xpp3Dom root) { super.addDetails(executionEvent, root); MavenProject parentProject = executionEvent.getProject().getParent(); if (parentProject == null) { // nothing to do } else {// ww w . j av a2 s. com Xpp3Dom parentProjectElt = new Xpp3Dom("parentProject"); root.addChild(parentProjectElt); parentProjectElt.setAttribute("name", parentProject.getName()); parentProjectElt.setAttribute("groupId", parentProject.getGroupId()); parentProjectElt.setAttribute("artifactId", parentProject.getArtifactId()); parentProjectElt.setAttribute("version", parentProject.getVersion()); } }
From source file:org.jfrog.build.extractor.maven.BuildInfoRecorder.java
License:Apache License
private void initModule(MavenProject project) { if (project == null) { logger.warn("Skipping Artifactory Build-Info module initialization: Null project."); return;/*from w w w . j a v a 2s. com*/ } ModuleBuilder module = new ModuleBuilder(); module.id(getModuleIdString(project.getGroupId(), project.getArtifactId(), project.getVersion())); module.properties(project.getProperties()); currentModule.set(module); currentModuleArtifacts.set(Collections.synchronizedSet(new HashSet<Artifact>())); currentModuleDependencies.set(Collections.synchronizedSet(new HashSet<Artifact>())); }
From source file:org.jfrog.jade.plugins.common.naming.ProjectNameProviderImpl.java
License:Apache License
public String getProjectName(MavenProject project) { String artifactId = project.getArtifactId(); String groupId = project.getGroupId(); return getProjectName(groupId, artifactId); }
From source file:org.jfrog.jade.plugins.idea.IdeaModuleMojo.java
License:Apache License
private boolean isReactorProject(String groupId, String artifactId) { List reactorProjects = getReactorProjects(); if (reactorProjects != null) { for (Iterator j = reactorProjects.iterator(); j.hasNext();) { MavenProject p = (MavenProject) j.next(); if (p.getGroupId().equals(groupId) && p.getArtifactId().equals(artifactId)) { return true; }//from w ww . j a v a 2 s .c o m } } return false; }
From source file:org.jfrog.jade.plugins.idea.IdeaProjectMojo.java
License:Apache License
public void rewriteProject() throws MojoExecutionException { MavenProject executedProject = getExecutedProject(); String ideProjectName = getIdeProjectName(); File projectFile = new File(executedProject.getBasedir(), ideProjectName + ".ipr"); try {/*from w w w. j av a2 s.com*/ Document document = readXmlDocument(projectFile, "project.xml"); Element module = document.getRootElement(); // Set the jdk name if set if (getJdkName() != null) { setJdkName(module, getJdkName()); } else { String javaVersion = System.getProperty("java.version"); String defaultJdkName; if (getIdeaVersion().startsWith("4")) { defaultJdkName = "java version "" + javaVersion + """; } else { defaultJdkName = javaVersion.substring(0, 3); } getLog().info("jdkName is not set, using [java version" + javaVersion + "] as default."); setJdkName(module, defaultJdkName); } setWildcardResourcePatterns(module, getWildcardResourcePatterns()); Element component = findComponent(module, "ProjectModuleManager"); Element modules = findElement(component, "modules"); removeOldElements(modules, "module"); List<MavenProject> collectedProjects = executedProject.getCollectedProjects(); if (collectedProjects != null && !collectedProjects.isEmpty()) { Element m = createElement(modules, "module"); String projectPath = new File(executedProject.getBasedir(), getNameProvider().getProjectName(executedProject) + ".iml").getAbsolutePath(); m.addAttribute("filepath", "$PROJECT_DIR$/" + toRelative(executedProject.getBasedir(), projectPath)); // For groupId group name generation, if no name provider provided // Need to find the groupId common denominator between all projects int commonUntilIdx = 0; if (groupIdBaseGrouping && !getNameProvider().hasGroupDefinitions()) { String rootGroupId = null; for (MavenProject project : collectedProjects) { String groupId = project.getGroupId(); if (rootGroupId == null) { rootGroupId = groupId; } else { int minLength = Math.min(rootGroupId.length(), groupId.length()); int idx = 0; for (; idx < minLength; idx++) { if (rootGroupId.charAt(idx) != groupId.charAt(idx)) break; } if (idx == 0) { rootGroupId = ""; break; } rootGroupId = rootGroupId.substring(0, idx); } } if (rootGroupId != null) { commonUntilIdx = rootGroupId.length(); } } for (MavenProject p : collectedProjects) { m = createElement(modules, "module"); String modulePath = new File(p.getBasedir(), getNameProvider().getProjectName(p) + ".iml") .getAbsolutePath(); m.addAttribute("filepath", "$PROJECT_DIR$/" + toRelative(executedProject.getBasedir(), modulePath)); if (groupIdBaseGrouping) { String groupId = p.getGroupId(); if (groupId != null) { String groupName = getNameProvider().getGroupName(groupId); if (groupName == null) { // Find the most parent of all groupName = groupId.substring(commonUntilIdx); if (groupName.length() > 0 && groupName.charAt(0) == '.') { groupName = groupName.substring(1); } } if (groupName.length() > 0) { groupName = groupName.replace('.', '/'); m.addAttribute("group", groupName); } } } } // Add externalModules if (externalModules != null) { for (String externalModule : externalModules) { m = createElement(modules, "module"); m.addAttribute("filepath", externalModule); m.addAttribute("group", "External"); } } } else { Element m = createElement(modules, "module"); String modulePath = new File(executedProject.getBasedir(), getNameProvider().getProjectName(executedProject) + ".iml").getAbsolutePath(); m.addAttribute("filepath", "$PROJECT_DIR$/" + toRelative(executedProject.getBasedir(), modulePath)); } // add any PathMacros we've come across if (getMacros() != null && module.elements("UsedPathMacros").size() > 0) { Element usedPathMacros = (Element) module.elements("UsedPathMacros").get(0); removeOldElements(usedPathMacros, "macro"); for (Iterator iterator = getMacros().iterator(); iterator.hasNext();) { String macro = (String) iterator.next(); Element macroElement = createElement(usedPathMacros, "macro"); macroElement.addAttribute("name", macro); } } writeXmlDocument(projectFile, document); } catch (DocumentException e) { throw new MojoExecutionException("Error parsing existing IPR file: " + projectFile.getAbsolutePath(), e); } catch (IOException e) { throw new MojoExecutionException("Error parsing existing IPR file: " + projectFile.getAbsolutePath(), e); } }
From source file:org.jfrog.jade.plugins.natives.plugin.NativeCompileMojo.java
License:Open Source License
public MavenProject findInReactorList(Artifact artifact) { for (MavenProject reactorProject : reactorProjects) { if (reactorProject.getGroupId().equals(artifact.getGroupId()) && reactorProject.getArtifactId().equals(artifact.getArtifactId()) && reactorProject.getVersion().equals(artifact.getVersion())) { return reactorProject; }/*from w w w. ja va 2s . co m*/ } return null; }