apache / apache/maven-plugin-tools

[MPLUGIN-352] Add support for :config goal for all plugins

Open
#669 1 comment 0 reactions 0 assignees View on GitHub
enhancement priority:major
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.