apache / apache/maven-plugin-tools
[MPLUGIN-352] Add support for :config goal for all plugins
- Dominant language
- Java
- Stars
- 64
- Forks
- 71
- Avg merge
- 12h 24m
- Merged PRs (30d)
- 32
Description
**[Bruno Borges](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=bruno.borges)** opened **[MPLUGIN-352](https://issues.apache.org/jira/browse/MPLUGIN-352?redirect=false)** and commented
Maven Plugins often require a \ element that must be provided by the user, either manually edited or usually copy/pasted. Some plugins are well known by IDEs and this element can be auto-completed fairly well. But in general, the \ element has no XML Schema support, and developers have to rely on documentation, sometimes complex, in how to set up the different elements and values.
The Azure Web App Maven plugin introduced in version 1.6.0 a :config goal that provides users with an interactive mode in the command line that guides users through the many different options and deployment models. Then generates the \ element and updates the pom.xml file on behalf of the user.
https://github.com/microsoft/azure-maven-plugins/blob/master/azure-webapp-maven-plugin/src/main/java/com/microsoft/azure/maven/webapp/ConfigMojo.java
Currently, there is no standard way for plugins to define a configuration goal.
This feature can provide the foundation for this goal, where plugins simply have to define the structure and data schema, and the :config goal can be abstracted well enough for 80-90% of all plugins.
---
**Affects:** 3.6.0
1 votes, 2 watchers
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the linked Azure Web App Maven plugin implementation at azure-webapp-maven-plugin/src/main/java/com/microsoft/azure/maven/webapp/ConfigMojo.java. Investigate how a standard configuration goal could let plugins define their configuration structure and data schema. Done means establishing a reusable approach that supports interactive configuration generation and updates pom.xml for most plugins.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100