apache / apache/maven-archetype

Migrate off jdom2 and use the DOM parser/builder built into the JDK instead

Open
#277 5 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
148
Forks
181
Avg merge
1d 20h
Merged PRs (30d)
8

Description

### New feature, improvement proposal

Currently archetype-common uses `jdom2` in the `MavenJDOMWriter` and associated utility classes, AFAICT mainly write a pom in `DefaultPomManager.writePom()`.

In order to reduce the dependency footprint, would it be possible to migrate off jdom2 and use the DOM-parser/builder built into the JDK instead? Or are there particular reasons to use jdom(2) instead?

If you consider `MavenJDOMWriter` or the associated utility classes as part of the API, for now, it could just be deprecated and a colocated `MavenDOMWriter` could be added, which is used by archetype and the dependency to jdom2 could be made optional.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with MavenJDOMWriter and its associated utility classes, then trace how DefaultPomManager.writePom() uses them to write a POM. Compare the requested JDK DOM parser/builder replacement with the current jdom2 usage, including whether the existing classes are part of the API. Done means the migration approach is defined, with compatibility or deprecation and dependency-optional behavior addressed where needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.