List of usage examples for org.apache.maven.project MavenProject getParent
public MavenProject getParent()
From source file:se.jiderhamn.promote.maven.plugin.PromoteArtifactsMojo.java
License:Apache License
/** Read release descriptor to find the release version of the given artifact */ private String getReleasedVersion(MavenProject project, Artifact artifact) throws MojoExecutionException { if (project == null || project.getBasedir() == null) throw new MojoExecutionException("Basedir must be provided for project " + project); final String key = ArtifactUtils.versionlessKey(artifact); try {//from w ww.j a v a 2s .c om PropertiesReleaseDescriptorStore descriptorStore = new PropertiesReleaseDescriptorStore(); ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor(); releaseDescriptor.setWorkingDirectory(project.getBasedir().getAbsolutePath()); releaseDescriptor = descriptorStore.read(releaseDescriptor); // "groupId:artifactId" -> version final Map<String, String> releaseVersions = releaseDescriptor.getReleaseVersions(); getLog().debug("Read versions from " + project.getBasedir() + ": " + releaseVersions); if (releaseVersions.containsKey(key)) return releaseVersions.get(key); } catch (ReleaseDescriptorStoreException e) { throw new MojoExecutionException("Error parsing release descriptor", e); } catch (NullPointerException e) { // No release.properties found getLog().debug("Error finding release descriptor", e); } if (project.hasParent() && project.getParent().getBasedir() != null) { getLog().debug("No version for " + key + " found in " + project + "; looking in parent "); return getReleasedVersion(project.getParent(), artifact); } else return null; }