apache / apache/maven-plugin-tools
[MPLUGIN-302] Dependencies Annotation
- 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-302](https://issues.apache.org/jira/browse/MPLUGIN-302?redirect=false)** and commented
The goal of this Annotation is to remove all dependencies from the plugin configuration and to have custom scopes so they become part of the dependency resolution when Maven is creating a buildplan.
```xml
org.apache.maven.plugins
maven-javadoc-plugin
2.10.3
package.to.YourTagletClass
group-Taglet
artifact-Taglet
version-Taglet
```
This will become
```xml
org.apache.maven.plugins
maven-javadoc-plugin
2.10.3
package.to.YourTagletClass
group-Taglet
artifact-Taglet
version-Taglet
taglet
```
Going further: there can be project dependencies which are not part of the classpath. One concrete example is the multirelease jar, where the newer implementation classes can be added to base jar. Current solution is to have a separate (distribution) Maven module which assembles the final jar, but with the solution above it is possible to embed them already when creating the base jar.
This project would have the following dependencies:
```xml
GROUPID
ARTIFACTID-7
release:7
GROUPID
ARTIFACTID-8
release:8
```
In the maven-jar-plugin one would have something like:
```
@Dependecies( label="release" )
Map releaseArtifacts;
// somewhere in the code
foreach( Map.Entry releaseEntry : releaseArtifacts.entrySet() )
{
// copy content of release.value() to META-INF/versions/release.key()
}
```
---
**Attachments:**
- [dependencies-annotation.patch](https://issues.apache.org/jira/secure/attachment/12806879/dependencies-annotation.patch) (_4.23 kB_)
1 votes, 3 watchers
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.