Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions maven-release-manager/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ under the License.
</dependency>

<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
<groupId>eu.maveniverse.maven.domtrip</groupId>
<artifactId>domtrip-core</artifactId>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
import org.apache.maven.shared.release.transform.ModelETL;
import org.apache.maven.shared.release.transform.ModelETLFactory;
import org.apache.maven.shared.release.transform.ModelETLRequest;
import org.apache.maven.shared.release.transform.jdom2.JDomModelETLFactory;
import org.apache.maven.shared.release.transform.domtrip.DomTripModelETLFactory;
import org.apache.maven.shared.release.util.CiFriendlyVersion;
import org.apache.maven.shared.release.util.MavenExpression;
import org.apache.maven.shared.release.util.ReleaseUtil;
Expand Down Expand Up @@ -90,9 +90,9 @@ public abstract class AbstractRewritePomsPhase extends AbstractReleasePhase impl
private Map<String, ScmTranslator> scmTranslators;

/**
* Use jdom2-sax as default.
* Use domtrip as default.
*/
private String modelETL = JDomModelETLFactory.NAME;
private String modelETL = DomTripModelETLFactory.NAME;

private long startTime = -1 * 1000;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,33 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.transform.jdom2;
package org.apache.maven.shared.release.transform.domtrip;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import eu.maveniverse.domtrip.Editor;
import eu.maveniverse.domtrip.Element;
import org.apache.maven.model.Build;
import org.apache.maven.model.Extension;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginManagement;
import org.apache.maven.model.Resource;
import org.jdom2.Element;

/**
* JDOM2 implementation of poms BUILD element.
* DomTrip implementation of poms BUILD element.
*
* @author Robert Scholte
* @since 3.0
* @since 3.4
*/
public class JDomBuild extends Build {
public class DomTripBuild extends Build {
private final Element build;
private final Editor editor;

/**
* <p>Constructor for JDomBuild.</p>
*
* @param build a {@link org.jdom2.Element} object
*/
public JDomBuild(Element build) {
public DomTripBuild(Element build, Editor editor) {
this.build = build;
this.editor = editor;
}

@Override
Expand All @@ -55,18 +52,11 @@ public void addExtension(Extension extension) {

@Override
public List<Extension> getExtensions() {
Element extensionsElm = build.getChild("extensions", build.getNamespace());
if (extensionsElm == null) {
return Collections.emptyList();
} else {
List<Element> extensionElms = extensionsElm.getChildren("extension", build.getNamespace());

List<Extension> extensions = new ArrayList<>(extensionElms.size());
for (Element extensionElm : extensionElms) {
extensions.add(new JDomExtension(extensionElm));
}
return extensions;
}
return build.childElement("extensions")
.map(exts -> exts.childElements("extension")
.map(ext -> (Extension) new DomTripExtension(ext, editor))
.collect(Collectors.toList()))
.orElse(Collections.emptyList());
}

@Override
Expand Down Expand Up @@ -221,12 +211,9 @@ public void setTestResources(List<Resource> testResources) {

@Override
public PluginManagement getPluginManagement() {
Element pluginManagementElm = build.getChild("pluginManagement", build.getNamespace());
if (pluginManagementElm == null) {
return null;
} else {
return new JDomPluginManagement(pluginManagementElm);
}
return build.childElement("pluginManagement")
.map(elm -> (PluginManagement) new DomTripPluginManagement(elm, editor))
.orElse(null);
}

@Override
Expand All @@ -241,20 +228,11 @@ public void addPlugin(Plugin plugin) {

@Override
public List<Plugin> getPlugins() {
Element pluginsElm = build.getChild("plugins", build.getNamespace());
if (pluginsElm == null) {
return Collections.emptyList();
} else {
List<Element> pluginElms = pluginsElm.getChildren("plugin", build.getNamespace());

List<Plugin> plugins = new ArrayList<>(pluginElms.size());

for (Element pluginElm : pluginElms) {
plugins.add(new JDomPlugin(pluginElm));
}

return plugins;
}
return build.childElement("plugins")
.map(plugins -> plugins.childElements("plugin")
.map(plugin -> (Plugin) new DomTripPlugin(plugin, editor))
.collect(Collectors.toList()))
.orElse(Collections.emptyList());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,26 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.transform.jdom2;
package org.apache.maven.shared.release.transform.domtrip;

import java.util.List;

import eu.maveniverse.domtrip.Editor;
import eu.maveniverse.domtrip.Element;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Exclusion;
import org.apache.maven.shared.release.transform.MavenCoordinate;
import org.jdom2.Element;

/**
* JDOM2 implementation of poms DEPENDENCY element.
* DomTrip implementation of poms DEPENDENCY element.
*
* @author Robert Scholte
* @since 3.0
* @since 3.4
*/
public class JDomDependency extends Dependency implements MavenCoordinate {
public class DomTripDependency extends Dependency implements MavenCoordinate {
private final MavenCoordinate coordinate;

/**
* <p>Constructor for JDomDependency.</p>
*
* @param dependency a {@link org.jdom2.Element} object
*/
public JDomDependency(Element dependency) {
this.coordinate = new JDomMavenCoordinate(dependency);
public DomTripDependency(Element dependency, Editor editor) {
this.coordinate = new DomTripMavenCoordinate(dependency, editor);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,29 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.transform.jdom2;
package org.apache.maven.shared.release.transform.domtrip;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

import eu.maveniverse.domtrip.Editor;
import eu.maveniverse.domtrip.Element;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
import org.jdom2.Element;

/**
* JDOM2 implementation of poms DEPENDENCYMANAGEMENT element.
* DomTrip implementation of poms DEPENDENCYMANAGEMENT element.
*
* @author Robert Scholte
* @since 3.0
* @since 3.4
*/
public class JDomDependencyManagement extends DependencyManagement {
public class DomTripDependencyManagement extends DependencyManagement {
private final Element dependencyManagement;
private final Editor editor;

/**
* <p>Constructor for JDomDependencyManagement.</p>
*
* @param dependencyManagement a {@link org.jdom2.Element} object
*/
public JDomDependencyManagement(Element dependencyManagement) {
public DomTripDependencyManagement(Element dependencyManagement, Editor editor) {
this.dependencyManagement = dependencyManagement;
this.editor = editor;
}

@Override
Expand All @@ -51,21 +48,12 @@ public void addDependency(Dependency dependency) {

@Override
public List<Dependency> getDependencies() {
Element dependenciesElm = dependencyManagement.getChild("dependencies", dependencyManagement.getNamespace());
if (dependenciesElm == null) {
return Collections.emptyList();
} else {
List<Element> dependencyElms =
dependenciesElm.getChildren("dependency", dependencyManagement.getNamespace());

List<Dependency> dependencies = new ArrayList<>(dependencyElms.size());

for (Element dependencyElm : dependencyElms) {
dependencies.add(new JDomDependency(dependencyElm));
}

return dependencies;
}
return dependencyManagement
.childElement("dependencies")
.map(deps -> deps.childElements("dependency")
.map(dep -> (Dependency) new DomTripDependency(dep, editor))
.collect(Collectors.toList()))
.orElse(Collections.emptyList());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.transform.jdom2;
package org.apache.maven.shared.release.transform.domtrip;

import eu.maveniverse.domtrip.Editor;
import eu.maveniverse.domtrip.Element;
import org.apache.maven.model.Extension;
import org.apache.maven.shared.release.transform.MavenCoordinate;
import org.jdom2.Element;

/**
* JDOM2 implementation of poms EXTENSION element.
* DomTrip implementation of poms EXTENSION element.
*
* @author Robert Scholte
* @since 3.0
* @since 3.4
*/
public class JDomExtension extends Extension implements MavenCoordinate {
public class DomTripExtension extends Extension implements MavenCoordinate {
private final MavenCoordinate coordinate;

/**
* <p>Constructor for JDomExtension.</p>
*
* @param extension a {@link org.jdom2.Element} object
*/
public JDomExtension(Element extension) {
this.coordinate = new JDomMavenCoordinate(extension);
public DomTripExtension(Element extension, Editor editor) {
this.coordinate = new DomTripMavenCoordinate(extension, editor);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,60 +16,48 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.transform.jdom2;
package org.apache.maven.shared.release.transform.domtrip;

import eu.maveniverse.domtrip.Editor;
import eu.maveniverse.domtrip.Element;
import org.apache.maven.shared.release.transform.MavenCoordinate;
import org.jdom2.Element;

/**
* <p>JDomMavenCoordinate class.</p>
* DomTrip implementation of {@link MavenCoordinate}.
*
* @author Robert Scholte
* @since 3.0
* @since 3.4
*/
public class JDomMavenCoordinate implements MavenCoordinate {
public class DomTripMavenCoordinate implements MavenCoordinate {
private final Element element;
private final Editor editor;

/**
* <p>Constructor for JDomMavenCoordinate.</p>
*
* @param elm a {@link org.jdom2.Element} object
*/
public JDomMavenCoordinate(Element elm) {
this.element = elm;
public DomTripMavenCoordinate(Element element, Editor editor) {
this.element = element;
this.editor = editor;
}

@Override
public String getGroupId() {
return element.getChildTextTrim("groupId", element.getNamespace());
return element.childTextTrimmed("groupId");
}

@Override
public String getArtifactId() {
return element.getChildTextTrim("artifactId", element.getNamespace());
return element.childTextTrimmed("artifactId");
}

@Override
public String getVersion() {
Element version = getVersionElement();
if (version == null) {
return null;
} else {
return version.getTextTrim();
}
}

private Element getVersionElement() {
return element.getChild("version", element.getNamespace());
return element.childElement("version").map(e -> e.textContentTrimmed()).orElse(null);
}

@Override
public void setVersion(String version) {
JDomUtils.rewriteValue(getVersionElement(), version);
element.childElement("version").ifPresent(e -> DomTripUtils.rewriteValue(editor, e, version));
}

@Override
public String getName() {
return element.getName();
return element.name();
}
}
Loading