Author: rfscholte
Date: Sat May 7 15:40:25 2016
New Revision: 1742721
URL: http://svn.apache.org/viewvc?rev=1742721&view=rev
Log:
[MRELEASE-952] Replace JDom as XML transformer
Rewrite reporting plugins
Added:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReportPlugin.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReporting.java
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomModel.java
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java?rev=1742721&r1=1742720&r2=1742721&view=diff
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
(original)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
Sat May 7 15:40:25 2016
@@ -26,7 +26,6 @@ import java.io.StringWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -62,7 +61,6 @@ import org.apache.maven.shared.release.s
import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
import org.apache.maven.shared.release.scm.ScmTranslator;
import org.apache.maven.shared.release.transform.MavenCoordinate;
-import org.apache.maven.shared.release.transform.jdom.JDomMavenCoordinate;
import org.apache.maven.shared.release.transform.jdom.JDomModel;
import org.apache.maven.shared.release.util.ReleaseUtil;
import org.codehaus.plexus.util.IOUtil;
@@ -334,10 +332,6 @@ public abstract class AbstractRewritePom
rewriteVersion( modelTarget, mappedVersions, projectId, project,
parentVersion );
- List<Element> roots = new ArrayList<Element>();
- roots.add( rootElement );
- roots.addAll( getChildren( rootElement, "profiles", "profile" ) );
-
Build buildTarget = modelTarget.getBuild();
if ( buildTarget != null )
{
@@ -420,13 +414,13 @@ public abstract class AbstractRewritePom
mappedVersions,
resolvedSnapshotDependencies, originalVersions, model,
properties, result, releaseDescriptor
);
}
- }
-
- for ( Element root : roots )
- {
- rewriteArtifactVersions( getMavenCoordinates( root, "reporting",
"plugins", "plugin" ), mappedVersions,
- resolvedSnapshotDependencies,
originalVersions, model, properties, result,
- releaseDescriptor );
+
+ if ( modelBase.getReporting() != null )
+ {
+ rewriteArtifactVersions( toMavenCoordinates(
modelBase.getReporting().getPlugins() ), mappedVersions,
+ resolvedSnapshotDependencies,
originalVersions, model, properties, result,
+ releaseDescriptor );
+ }
}
String commonBasedir;
@@ -444,33 +438,6 @@ public abstract class AbstractRewritePom
commonBasedir );
}
- @SuppressWarnings( "unchecked" )
- private List<Element> getChildren( Element root, String... names )
- {
- Element parent = root;
- for ( int i = 0; i < names.length - 1 && parent != null; i++ )
- {
- parent = parent.getChild( names[i], parent.getNamespace() );
- }
- if ( parent == null )
- {
- return Collections.emptyList();
- }
- return parent.getChildren( names[names.length - 1],
parent.getNamespace() );
- }
-
- private List<MavenCoordinate> getMavenCoordinates( Element root, String...
names )
- {
- List<Element> children = getChildren( root, names );
-
- List<MavenCoordinate> coordinates = new ArrayList<MavenCoordinate>(
children.size() );
- for ( Element child : children )
- {
- coordinates.add( new JDomMavenCoordinate( child ) );
- }
- return coordinates;
- }
-
private void rewriteVersion( Model modelTarget, Map<String, String>
mappedVersions, String projectId,
MavenProject project, String parentVersion )
throws ReleaseFailureException
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomModel.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomModel.java?rev=1742721&r1=1742720&r2=1742721&view=diff
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomModel.java
(original)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomModel.java
Sat May 7 15:40:25 2016
@@ -30,6 +30,7 @@ import org.apache.maven.model.Dependency
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
import org.apache.maven.model.Profile;
+import org.apache.maven.model.Reporting;
import org.apache.maven.model.Scm;
import org.jdom.Document;
import org.jdom.Element;
@@ -135,6 +136,21 @@ public class JDomModel extends Model
}
}
+ @Override
+ public Reporting getReporting()
+ {
+ Element reporting = project.getChild( "reporting",
project.getNamespace() );
+
+ if ( reporting == null )
+ {
+ return null;
+ }
+ else
+ {
+ return new JDomReporting( reporting );
+ }
+ }
+
@Override
public void setScm( Scm scm )
{
Added:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReportPlugin.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReportPlugin.java?rev=1742721&view=auto
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReportPlugin.java
(added)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReportPlugin.java
Sat May 7 15:40:25 2016
@@ -0,0 +1,165 @@
+package org.apache.maven.shared.release.transform.jdom;
+
+/*
+ * 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 java.util.Map;
+
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.ReportSet;
+import org.apache.maven.shared.release.transform.MavenCoordinate;
+import org.jdom.Element;
+
+/**
+ * JDom implementation of poms reports PLUGIN element
+ *
+ * @author Robert Scholte
+ * @since 3.0
+ */
+public class JDomReportPlugin
+ extends ReportPlugin implements MavenCoordinate
+{
+ private final MavenCoordinate coordinate;
+
+ public JDomReportPlugin( Element reportPlugin )
+ {
+ this.coordinate = new JDomMavenCoordinate( reportPlugin );
+ }
+
+ @Override
+ public void addReportSet( ReportSet reportSet )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getArtifactId()
+ {
+ return coordinate.getArtifactId();
+ }
+
+ @Override
+ public Object getConfiguration()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getGroupId()
+ {
+ return coordinate.getGroupId();
+ }
+
+ @Override
+ public String getInherited()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public List<ReportSet> getReportSets()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getVersion()
+ {
+ return coordinate.getVersion();
+ }
+
+ @Override
+ public void removeReportSet( ReportSet reportSet )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setArtifactId( String artifactId )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setConfiguration( Object configuration )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setGroupId( String groupId )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setInherited( String inherited )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setReportSets( List<ReportSet> reportSets )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setVersion( String version )
+ {
+ coordinate.setVersion( version );
+ }
+
+ @Override
+ public void flushReportSetMap()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Map getReportSetsAsMap()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getKey()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void unsetInheritanceApplied()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isInheritanceApplied()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getName()
+ {
+ return "plugin";
+ }
+}
Added:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReporting.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReporting.java?rev=1742721&view=auto
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReporting.java
(added)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom/JDomReporting.java
Sat May 7 15:40:25 2016
@@ -0,0 +1,141 @@
+package org.apache.maven.shared.release.transform.jdom;
+
+/*
+ * 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.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.Reporting;
+import org.jdom.Element;
+
+/**
+ * JDom implementation of poms REPORTING element
+ *
+ * @author Robert Scholte
+ * @since 3.0
+ */
+public class JDomReporting extends Reporting
+{
+
+ private final Element reporting;
+
+ public JDomReporting( Element reporting )
+ {
+ this.reporting = reporting;
+ }
+
+ @Override
+ public void addPlugin( ReportPlugin reportPlugin )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getOutputDirectory()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public List<ReportPlugin> getPlugins()
+ {
+ Element pluginsElm = reporting.getChild( "plugins",
reporting.getNamespace() );
+ if ( pluginsElm == null )
+ {
+ return Collections.emptyList();
+ }
+ else
+ {
+ List<Element> pluginElms = pluginsElm.getChildren( "plugin",
reporting.getNamespace() );
+
+ List<ReportPlugin> plugins = new ArrayList<ReportPlugin>(
pluginElms.size() );
+
+ for ( Element pluginElm : pluginElms )
+ {
+ plugins.add( new JDomReportPlugin( pluginElm ) );
+ }
+
+ return plugins;
+ }
+ }
+
+ @Override
+ public Boolean isExcludeDefaultsValue()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void removePlugin( ReportPlugin reportPlugin )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setExcludeDefaultsValue( Boolean excludeDefaultsValue )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setOutputDirectory( String outputDirectory )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setPlugins( List<ReportPlugin> plugins )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void flushReportPluginMap()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Map getReportPluginsAsMap()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isExcludeDefaults()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setExcludeDefaults( boolean excludeDefaults )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setExcludeDefaultsValue( String excludeDefaults )
+ {
+ throw new UnsupportedOperationException();
+ }
+}