apache / apache/maven-plugin-tools

[MPLUGIN-350] Extend @Parameter with input/output option

Open
#653 18 comments 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

**[Robert Scholte](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=rfscholte)** opened **[MPLUGIN-350](https://issues.apache.org/jira/browse/MPLUGIN-350?redirect=false)** and commented

By knowing if parameters are input or output parameters, it is possible to improve our builds. It will be possible to create DAGs and chain the execution blocks much smarter.
The Maven Extension created by Gradle heavily relies on this kind of information.

It is probably easier to use new annotations instead of adding a (required) status-field to `@Parameter`
Looking at the `plugin.xml` it looks quite easy to solve this and stay backwards compatible: the file looks now like:

```xml


...

```

With plexus-magic the following should still work:

```xml


...


...

```

Input parameters should refer to the outputParameter it effects. E.g. if a inputParameter has only effect on the logger and it is changed, it will not effect the resulting artifact, which could improve faster incremental builds.

---

0 votes, 6 watchers

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the @Parameter annotation and the plugin.xml generation or representation described in the issue. Determine how input and output parameters should be represented while preserving the existing parameter format, including how input parameters refer to affected outputs. Done means the metadata can express these relationships and remains backwards compatible.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.