This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch MRELEASE-998 in repository https://gitbox.apache.org/repos/asf/maven-release.git
commit b29f37b453d2daab07bba426d6b2e37c109aca83 Author: rfscholte <rfscho...@apache.org> AuthorDate: Sat Feb 10 16:57:49 2018 +0100 Switch to ReleaseDescriptor interface, move ReleasePhase to maven-release-api --- maven-release-api/pom.xml | 4 + .../apache/maven/shared/release/ReleaseResult.java | 6 - .../shared/release/config/ReleaseDescriptor.java | 158 +++++++++++++++++++++ .../maven/shared/release/phase/ReleasePhase.java | 0 .../config/PropertiesReleaseDescriptorStore.java | 5 +- .../release/config/ReleaseDescriptorBuilder.java | 2 +- .../src/main/mdo/release-descriptor.mdo | 4 +- .../PropertiesReleaseDescriptorStoreTest.java | 8 +- .../shared/release/config/ReleaseUtilsTest.java | 3 +- 9 files changed, 175 insertions(+), 15 deletions(-) diff --git a/maven-release-api/pom.xml b/maven-release-api/pom.xml index c6b2360..03985e6 100644 --- a/maven-release-api/pom.xml +++ b/maven-release-api/pom.xml @@ -42,6 +42,10 @@ </dependency> <dependency> <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> </dependency> <dependency> diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseResult.java b/maven-release-api/src/main/java/org/apache/maven/shared/release/ReleaseResult.java similarity index 96% rename from maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseResult.java rename to maven-release-api/src/main/java/org/apache/maven/shared/release/ReleaseResult.java index 088e820..04547ed 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseResult.java +++ b/maven-release-api/src/main/java/org/apache/maven/shared/release/ReleaseResult.java @@ -132,10 +132,4 @@ public class ReleaseResult return byteStream.toString(); } - - @Deprecated - public StringBuffer getOutputBuffer() - { - return new StringBuffer( stdOut ); - } } diff --git a/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java new file mode 100644 index 0000000..d9aa16a --- /dev/null +++ b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java @@ -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 ); + + +} diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ReleasePhase.java b/maven-release-api/src/main/java/org/apache/maven/shared/release/phase/ReleasePhase.java similarity index 100% rename from maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ReleasePhase.java rename to maven-release-api/src/main/java/org/apache/maven/shared/release/phase/ReleasePhase.java diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java index ebf990b..259d9a3 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java @@ -30,6 +30,7 @@ import java.util.Map; import java.util.Properties; import org.apache.maven.model.Scm; +import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder.BuilderReleaseDescriptor; import org.apache.maven.shared.release.scm.IdentifiedScm; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; @@ -111,7 +112,7 @@ public class PropertiesReleaseDescriptorStore public void write( ReleaseDescriptor config ) throws ReleaseDescriptorStoreException { - write( config, getDefaultReleasePropertiesFile( config ) ); + write( (BuilderReleaseDescriptor) config, getDefaultReleasePropertiesFile( config ) ); } @Override @@ -124,7 +125,7 @@ public class PropertiesReleaseDescriptorStore } } - public void write( ReleaseDescriptor config, File file ) + public void write( BuilderReleaseDescriptor config, File file ) throws ReleaseDescriptorStoreException { Properties properties = new Properties(); diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java index c9866b3..c2ed277 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java @@ -36,7 +36,7 @@ public class ReleaseDescriptorBuilder * @author Robert Scholte * */ - public static final class BuilderReleaseDescriptor extends ReleaseDescriptor implements ReleaseDescriptorNew + public static final class BuilderReleaseDescriptor extends ModelloReleaseDescriptor implements ReleaseDescriptor { private BuilderReleaseDescriptor() { diff --git a/maven-release-manager/src/main/mdo/release-descriptor.mdo b/maven-release-manager/src/main/mdo/release-descriptor.mdo index b184582..4123d12 100644 --- a/maven-release-manager/src/main/mdo/release-descriptor.mdo +++ b/maven-release-manager/src/main/mdo/release-descriptor.mdo @@ -37,7 +37,7 @@ </defaults> <classes> <class rootElement="true"> - <name>ReleaseDescriptor</name> + <name>ModelloReleaseDescriptor</name> <version>1.0.0+</version> <fields> <!-- Descriptive Information --> @@ -726,7 +726,7 @@ return false; } - ReleaseDescriptor that = (ReleaseDescriptor) obj; + ModelloReleaseDescriptor that = (ModelloReleaseDescriptor) obj; if ( updateDependencies != that.isUpdateDependencies() || useReleaseProfile != that.isUseReleaseProfile() || diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java index ebe2462..35903ce 100644 --- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java +++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java @@ -1,5 +1,7 @@ package org.apache.maven.shared.release.config; +import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder.BuilderReleaseDescriptor; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -78,7 +80,7 @@ public class PropertiesReleaseDescriptorStoreTest { File file = getTestFile( "target/test-classes/empty-release.properties" ); - ReleaseDescriptor config = store.read( file ).build(); + BuilderReleaseDescriptor config = store.read( file ).build(); assertDefaultReleaseConfiguration( config ); } @@ -88,7 +90,7 @@ public class PropertiesReleaseDescriptorStoreTest { File file = getTestFile( "target/test-classes/no-release.properties" ); - ReleaseDescriptor config = store.read( file ).build(); + BuilderReleaseDescriptor config = store.read( file ).build(); assertDefaultReleaseConfiguration( config ); } @@ -317,7 +319,7 @@ public class PropertiesReleaseDescriptorStoreTest return builder; } - private static void assertDefaultReleaseConfiguration( ReleaseDescriptor config ) + private static void assertDefaultReleaseConfiguration( BuilderReleaseDescriptor config ) { assertNull( "Expected no completedPhase", config.getCompletedPhase() ); assertFalse( "Expected no commitPerProject", config.isCommitByProject() ); diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java index 659ace0..4cff313 100644 --- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java +++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java @@ -23,6 +23,7 @@ import junit.framework.TestCase; import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.model.Scm; +import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder.BuilderReleaseDescriptor; import org.apache.maven.shared.release.phase.AbstractReleaseTestCase; import java.io.File; @@ -63,7 +64,7 @@ public class ReleaseUtilsTest ReleaseDescriptorBuilder originalReleaseDescriptor, String other, File otherFile ) throws IOException { - ReleaseDescriptor origConfig = originalReleaseDescriptor.build(); + BuilderReleaseDescriptor origConfig = originalReleaseDescriptor.build(); ReleaseDescriptorBuilder configBuilder = releaseDescriptor; assertEquals( "Check original comparison", configBuilder.build(), origConfig ); -- To stop receiving notification emails like this one, please contact rfscho...@apache.org.