Skip to content

Commit

Permalink
[MRELEASE-998] Add ability to create custom phases
Browse files Browse the repository at this point in the history
  • Loading branch information
rfscholte committed Feb 10, 2018
1 parent 6ee4075 commit 419114d
Show file tree
Hide file tree
Showing 87 changed files with 3,760 additions and 3,259 deletions.
12 changes: 12 additions & 0 deletions maven-release-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,18 @@
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-util</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,4 @@ private String getStackTrace( Exception e )

return byteStream.toString();
}

@Deprecated
public StringBuffer getOutputBuffer()
{
return new StringBuffer( stdOut );
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
package org.apache.maven.shared.release.config;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

import java.util.List;

import org.apache.maven.model.Scm;

/**
*
* @author Robert Scholte
*/
public interface ReleaseDescriptor
{
boolean isUpdateDependencies();

boolean isUseReleaseProfile();

boolean isAutoVersionSubmodules();

boolean isSnapshotReleasePluginAllowed();

boolean isCommitByProject();

boolean isBranchCreation();

boolean isUpdateBranchVersions();

boolean isUpdateWorkingCopyVersions();

boolean isSuppressCommitBeforeTagOrBranch();

boolean isAllowTimestampedSnapshots();

boolean isUpdateVersionsToSnapshot();

boolean isRemoteTagging();

boolean isLocalCheckout();

boolean isPushChanges();

String getDefaultDevelopmentVersion();

String getScmRelativePathProjectDirectory();

String getCheckoutDirectory();

String getPerformGoals();

String getDefaultReleaseVersion();

String getScmReleasedPomRevision();

boolean isAddSchema();

boolean isGenerateReleasePoms();

boolean isInteractive();

boolean isScmUseEditMode();

String getCompletedPhase();

List<String> getCheckModificationExcludes();

String getAdditionalArguments();

String getPreparationGoals();

String getCompletionGoals();

String getPomFileName();

String getScmCommentPrefix();

String getScmPrivateKeyPassPhrase();

String getScmPassword();

String getScmPrivateKey();

String getScmReleaseLabel();

String getScmTagBase();

String getScmBranchBase();

String getScmId();

String getScmSourceUrl();

String getScmUsername();

int getWaitBeforeTagging();

String getWorkingDirectory();

String getScmTagNameFormat();

String getProjectNamingPolicyId();

String getProjectVersionPolicyId();

String getReleaseStrategyId();

String getDependencyOriginalVersion( String artifactKey );

String getDependencyReleaseVersion( String artifactKey );

String getDependencyDevelopmentVersion( String artifactKey );

String getProjectOriginalVersion( String projectKey );

String getProjectDevelopmentVersion( String projectKey );

String getProjectReleaseVersion( String key );

Scm getOriginalScmInfo( String projectKey );

// Modifiable
void addDependencyOriginalVersion( String versionlessKey, String string );

void addDependencyReleaseVersion( String versionlessKey, String version );

void addDependencyDevelopmentVersion( String versionlessKey, String version );

void addReleaseVersion( String projectId, String nextVersion );

void addDevelopmentVersion( String projectId, String nextVersion );

void setScmReleaseLabel( String tag );

void setScmReleasedPomRevision( String scmRevision );

void setScmRelativePathProjectDirectory( String scmRelativePathProjectDirectory );

void setScmSourceUrl( String scmUrl );


}
Original file line number Diff line number Diff line change
Expand Up @@ -34,36 +34,18 @@ public interface ReleaseEnvironment

String getMavenExecutorId();

ReleaseEnvironment setMavenExecutorId( String mavenExecutorId );

File getLocalRepositoryDirectory();

ReleaseEnvironment setLocalRepositoryDirectory( File localRepositoryDirectory );

Settings getSettings();

ReleaseEnvironment setSettings( Settings settings );

File getMavenHome();

ReleaseEnvironment setMavenHome( File mavenHome );

File getJavaHome();

ReleaseEnvironment setJavaHome( File javaHome );

/**
*
* @return the locale
* @since 2.4
*/
Locale getLocale();

/**
* @param locale
* @return the locale
* @since 2.4
*/
ReleaseEnvironment setLocale( Locale locale );

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import java.util.List;

import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;

/**
*
Expand All @@ -31,7 +31,7 @@
*/
public abstract class AbstractReleaseRequest
{
private ReleaseDescriptor releaseDescriptor;
private ReleaseDescriptorBuilder releaseDescriptorBuilder;

private List<MavenProject> reactorProjects;

Expand All @@ -40,17 +40,17 @@ public abstract class AbstractReleaseRequest
/**
* @return the releaseDescriptor
*/
public ReleaseDescriptor getReleaseDescriptor()
public ReleaseDescriptorBuilder getReleaseDescriptorBuilder()
{
return releaseDescriptor;
return releaseDescriptorBuilder;
}

/**
* @param releaseDescriptor the releaseDescriptor to set
*/
public void setReleaseDescriptor( ReleaseDescriptor releaseDescriptor )
public void setReleaseDescriptorBuilder( ReleaseDescriptorBuilder releaseDescriptor )
{
this.releaseDescriptor = releaseDescriptor;
this.releaseDescriptorBuilder = releaseDescriptor;
}

/**
Expand Down
Loading

0 comments on commit 419114d

Please sign in to comment.