You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Slawomir Jaranowski (Jira)" <ji...@apache.org> on 2021/11/19 16:05:00 UTC

[jira] [Commented] (MPLUGIN-323) create @Requirement annotation to replace @Component (should be deprecated)

    [ https://issues.apache.org/jira/browse/MPLUGIN-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17446557#comment-17446557 ] 

Slawomir Jaranowski commented on MPLUGIN-323:
---------------------------------------------

Maybe removeĀ  {{@Component}} annotation at all and use {{@Inject}} instead.

> create @Requirement annotation to replace @Component (should be deprecated)
> ---------------------------------------------------------------------------
>
>                 Key: MPLUGIN-323
>                 URL: https://issues.apache.org/jira/browse/MPLUGIN-323
>             Project: Maven Plugin Tools
>          Issue Type: Wish
>          Components: maven-plugin-annotations, maven-plugin-tools-javadoc
>    Affects Versions: 3.5
>            Reporter: Herve Boutemy
>            Priority: Major
>             Fix For: 3.7.0
>
>
> injecting a Plexus component into a mojo is currently marked through {{@Component}} annotation (or {{@component}} javadoc tag)
> This "component" term is misleading for 2 reasons:
> 1. in plugin descriptor, it creates a {{<requirement>}} XML element: http://maven.apache.org/ref/3-LATEST/maven-plugin-api/plugin.html#class_requirement
> 2. in Plexus, injecting is marked with {{@Requirement}} annotation, when {{@Component}} is used to define a component: http://codehaus-plexus.github.io/plexus-containers/plexus-component-annotations/
> This annotation creates great confusion for years, then even if Plexus is being dropped for javax.inject, fixing this misleading terms would be beneficial IMHO



--
This message was sent by Atlassian Jira
(v8.20.1#820001)