apache / apache/maven-plugin-tools

[MPLUGIN-341] Make the plugin tool modular or at least module-ready

Open
#647 8 comments 0 reactions 0 assignees View on GitHub
enhancement priority:minor
Dominant language
Java
Stars
64
Forks
71
Avg merge
12h 24m
Merged PRs (30d)
32

Description

**[Lukas Eder](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=lukas.eder)** opened **[MPLUGIN-341](https://issues.apache.org/jira/browse/MPLUGIN-341?redirect=false)** and commented

When implementing custom maven modules, it is currently not possible to make those plugins modular on JDK 9+. The reason for this is that there are a lot of split packages among the various libraries, such as the org.apache.maven.plugin package between:
* org.apache.maven:maven-core:3.5.3
* org.apache.maven:maven-plugin-api:3.5.3

This, and the fact that there are not Automatic-Module-Name entries in the manifests (see http://branchandbound.net/blog/java/2017/12/automatic-module-name/), means that no one can currently reasonably create modular maven plugins.

It would be cool if these two things could be fixed in the next minor or major release

---

**Affects:** 3.5.2

**Issue Links:**
- [MJAVADOC-561](https://issues.apache.org/jira/browse/MJAVADOC-561) Not possible to link to JDK classes since Java 11
(_**"blocks"**_)
- [MJAVADOC-555](https://issues.apache.org/jira/browse/MJAVADOC-555) Javadoc:aggregate, Javadoc:jar fail if one of the modules does not contain module-info.java
(_**"blocks"**_)

3 votes, 8 watchers

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names Maven plugin modules, especially maven-core and maven-plugin-api, plus their dependency manifests; begin by inspecting those artifacts for split packages and missing Automatic-Module-Name entries. No repository files or tests are named, so done would require an agreed modularization scope and verification that custom Maven plugins can be modular on JDK 9+.

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
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.