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.

Reply via email to