Class AbstractRewritePomsPhase
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.apache.maven.shared.release.phase.AbstractReleasePhase
-
- org.apache.maven.shared.release.phase.AbstractRewritePomsPhase
-
- All Implemented Interfaces:
ReleasePhase
,ResourceGenerator
,org.codehaus.plexus.logging.LogEnabled
- Direct Known Subclasses:
RewritePomsForBranchPhase
,RewritePomsForDevelopmentPhase
,RewritePomsForReleasePhase
,RewritePomVersionsPhase
public abstract class AbstractRewritePomsPhase extends AbstractReleasePhase implements ResourceGenerator
Base class for rewriting phases.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
ls
private java.lang.String
modelETL
Use jdom-sax as defaultprivate java.util.Map<java.lang.String,ModelETLFactory>
modelETLFactories
private ScmRepositoryConfigurator
scmRepositoryConfigurator
Tool that gets a configured SCM repository from release configuration.private java.util.Map<java.lang.String,ScmTranslator>
scmTranslators
SCM URL translators mapped by provider name.private long
startTime
-
Constructor Summary
Constructors Constructor Description AbstractRewritePomsPhase()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ReleaseResult
clean(java.util.List<org.apache.maven.project.MavenProject> reactorProjects)
Clean up after a phase if it leaves any additional files in the checkout.ReleaseResult
execute(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, java.util.List<org.apache.maven.project.MavenProject> reactorProjects)
Execute the phase.protected abstract java.lang.String
getNextVersion(ReleaseDescriptor releaseDescriptor, java.lang.String key)
protected java.lang.String
getOriginalResolvedSnapshotVersion(java.lang.String artifactVersionlessKey, ReleaseDescriptor releaseDescriptor)
protected abstract java.lang.String
getOriginalVersion(ReleaseDescriptor releaseDescriptor, java.lang.String projectKey, boolean simulate)
protected abstract java.lang.String
getPomSuffix()
protected abstract java.lang.String
getResolvedSnapshotVersion(java.lang.String artifactVersionlessKey, ReleaseDescriptor releaseDscriptor)
protected java.util.Map<java.lang.String,ScmTranslator>
getScmTranslators()
protected boolean
isUpdateScm()
private void
prepareScm(java.io.File pomFile, ReleaseDescriptor releaseDescriptor, org.apache.maven.scm.repository.ScmRepository repository, org.apache.maven.scm.provider.ScmProvider provider)
private void
rewriteArtifactVersions(java.util.Collection<MavenCoordinate> elements, org.apache.maven.model.Model projectModel, java.util.Properties properties, ReleaseResult result, ReleaseDescriptor releaseDescriptor, boolean simulate)
private void
rewriteBuildOutputTimestampProperty(java.util.Properties properties, ReleaseResult result)
private java.lang.String
rewriteParent(org.apache.maven.project.MavenProject project, org.apache.maven.model.Model targetModel, ReleaseDescriptor releaseDescriptor, boolean simulate)
private void
rewriteVersion(org.apache.maven.model.Model modelTarget, ReleaseDescriptor releaseDescriptor, java.lang.String projectId, org.apache.maven.project.MavenProject project, java.lang.String parentVersion)
void
setLs(java.lang.String ls)
void
setModelETL(java.lang.String modelETL)
void
setStartTime(long startTime)
ReleaseResult
simulate(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, java.util.List<org.apache.maven.project.MavenProject> reactorProjects)
Simulate the phase, but don't make any changes to the project.private java.util.Collection<MavenCoordinate>
toMavenCoordinates(java.util.List<?> objects)
private void
transform(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, boolean simulate, ReleaseResult result)
private void
transformDocument(org.apache.maven.project.MavenProject project, org.apache.maven.model.Model modelTarget, ReleaseDescriptor releaseDescriptor, org.apache.maven.scm.repository.ScmRepository scmRepository, ReleaseResult result, boolean simulate)
private void
transformProject(org.apache.maven.project.MavenProject project, ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, boolean simulate, ReleaseResult result)
protected abstract void
transformScm(org.apache.maven.project.MavenProject project, org.apache.maven.model.Model modelTarget, ReleaseDescriptor releaseDescriptor, java.lang.String projectId, org.apache.maven.scm.repository.ScmRepository scmRepository, ReleaseResult result)
protected static java.lang.String
translateUrlPath(java.lang.String trunkPath, java.lang.String tagPath, java.lang.String urlPath)
Determines the relative path from trunk to tag, and adds this relative path to the url.-
Methods inherited from class org.apache.maven.shared.release.phase.AbstractReleasePhase
getReleaseResultSuccess, logDebug, logDebug, logError, logInfo, logWarn
-
-
-
-
Field Detail
-
scmRepositoryConfigurator
@Requirement private ScmRepositoryConfigurator scmRepositoryConfigurator
Tool that gets a configured SCM repository from release configuration.
-
modelETLFactories
@Requirement(role=ModelETLFactory.class) private java.util.Map<java.lang.String,ModelETLFactory> modelETLFactories
-
modelETL
private java.lang.String modelETL
Use jdom-sax as default
-
scmTranslators
@Requirement(role=ScmTranslator.class) private java.util.Map<java.lang.String,ScmTranslator> scmTranslators
SCM URL translators mapped by provider name.
-
ls
private java.lang.String ls
-
startTime
private long startTime
-
-
Method Detail
-
getScmTranslators
protected final java.util.Map<java.lang.String,ScmTranslator> getScmTranslators()
-
setLs
public void setLs(java.lang.String ls)
-
setModelETL
public void setModelETL(java.lang.String modelETL)
-
setStartTime
public void setStartTime(long startTime)
-
getPomSuffix
protected abstract java.lang.String getPomSuffix()
-
execute
public ReleaseResult execute(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, java.util.List<org.apache.maven.project.MavenProject> reactorProjects) throws ReleaseExecutionException, ReleaseFailureException
Description copied from interface:ReleasePhase
Execute the phase.- Specified by:
execute
in interfaceReleasePhase
- Parameters:
releaseDescriptor
- the configuration to usereleaseEnvironment
- the environmental configuration, such as Maven settings, Maven home, etc.reactorProjects
- the reactor projects- Returns:
- the release result
- Throws:
ReleaseExecutionException
- an exception during the execution of the phaseReleaseFailureException
- a failure during the execution of the phase
-
simulate
public ReleaseResult simulate(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, java.util.List<org.apache.maven.project.MavenProject> reactorProjects) throws ReleaseExecutionException, ReleaseFailureException
Description copied from interface:ReleasePhase
Simulate the phase, but don't make any changes to the project.- Specified by:
simulate
in interfaceReleasePhase
- Parameters:
releaseDescriptor
- the configuration to usereleaseEnvironment
- the environmental configuration, such as Maven settings, Maven home, etc.reactorProjects
- the reactor projects- Returns:
- the release result
- Throws:
ReleaseExecutionException
- an exception during the execution of the phaseReleaseFailureException
- a failure during the execution of the phase
-
clean
public ReleaseResult clean(java.util.List<org.apache.maven.project.MavenProject> reactorProjects)
Description copied from interface:ResourceGenerator
Clean up after a phase if it leaves any additional files in the checkout.- Specified by:
clean
in interfaceResourceGenerator
- Parameters:
reactorProjects
- the reactor projects- Returns:
- the release result
-
transform
private void transform(ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, boolean simulate, ReleaseResult result) throws ReleaseExecutionException, ReleaseFailureException
-
transformProject
private void transformProject(org.apache.maven.project.MavenProject project, ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, boolean simulate, ReleaseResult result) throws ReleaseExecutionException, ReleaseFailureException
-
transformDocument
private void transformDocument(org.apache.maven.project.MavenProject project, org.apache.maven.model.Model modelTarget, ReleaseDescriptor releaseDescriptor, org.apache.maven.scm.repository.ScmRepository scmRepository, ReleaseResult result, boolean simulate) throws ReleaseExecutionException, ReleaseFailureException
-
rewriteBuildOutputTimestampProperty
private void rewriteBuildOutputTimestampProperty(java.util.Properties properties, ReleaseResult result)
-
rewriteVersion
private void rewriteVersion(org.apache.maven.model.Model modelTarget, ReleaseDescriptor releaseDescriptor, java.lang.String projectId, org.apache.maven.project.MavenProject project, java.lang.String parentVersion) throws ReleaseFailureException
- Throws:
ReleaseFailureException
-
rewriteParent
private java.lang.String rewriteParent(org.apache.maven.project.MavenProject project, org.apache.maven.model.Model targetModel, ReleaseDescriptor releaseDescriptor, boolean simulate) throws ReleaseFailureException
- Throws:
ReleaseFailureException
-
rewriteArtifactVersions
private void rewriteArtifactVersions(java.util.Collection<MavenCoordinate> elements, org.apache.maven.model.Model projectModel, java.util.Properties properties, ReleaseResult result, ReleaseDescriptor releaseDescriptor, boolean simulate) throws ReleaseExecutionException, ReleaseFailureException
-
prepareScm
private void prepareScm(java.io.File pomFile, ReleaseDescriptor releaseDescriptor, org.apache.maven.scm.repository.ScmRepository repository, org.apache.maven.scm.provider.ScmProvider provider) throws ReleaseExecutionException, ReleaseScmCommandException
-
getResolvedSnapshotVersion
protected abstract java.lang.String getResolvedSnapshotVersion(java.lang.String artifactVersionlessKey, ReleaseDescriptor releaseDscriptor)
-
getOriginalVersion
protected abstract java.lang.String getOriginalVersion(ReleaseDescriptor releaseDescriptor, java.lang.String projectKey, boolean simulate)
-
getNextVersion
protected abstract java.lang.String getNextVersion(ReleaseDescriptor releaseDescriptor, java.lang.String key)
-
transformScm
protected abstract void transformScm(org.apache.maven.project.MavenProject project, org.apache.maven.model.Model modelTarget, ReleaseDescriptor releaseDescriptor, java.lang.String projectId, org.apache.maven.scm.repository.ScmRepository scmRepository, ReleaseResult result) throws ReleaseExecutionException
- Throws:
ReleaseExecutionException
-
isUpdateScm
protected boolean isUpdateScm()
- Returns:
true
if the SCM-section should be updated, otherwisefalse
- Since:
- 2.4
-
getOriginalResolvedSnapshotVersion
protected java.lang.String getOriginalResolvedSnapshotVersion(java.lang.String artifactVersionlessKey, ReleaseDescriptor releaseDescriptor)
-
translateUrlPath
protected static java.lang.String translateUrlPath(java.lang.String trunkPath, java.lang.String tagPath, java.lang.String urlPath)
Determines the relative path from trunk to tag, and adds this relative path to the url.- Parameters:
trunkPath
- - The trunk urltagPath
- - The tag baseurlPath
- - scm.url or scm.connection- Returns:
- The url path for the tag.
-
toMavenCoordinates
private java.util.Collection<MavenCoordinate> toMavenCoordinates(java.util.List<?> objects)
-
-