You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by "Brett Porter (JIRA)" <ji...@codehaus.org> on 2005/07/25 07:58:57 UTC

[jira] Commented: (MNG-226) need to be able to dynamically register providers for wagon and scm

    [ http://jira.codehaus.org/browse/MNG-226?page=comments#action_43357 ] 

Brett Porter commented on MNG-226:
----------------------------------

We have "build extensions" - ie providers for wagon, scm that are not
really plugins but additional providers for a particular plexus role.
Currently, these need to be dropped into M2_HOME/lib along with their
dependencies which is not ideal. (SCM ones can be a dependency on the
SCM/release plugin, but there is no scope to later add a new one). In
the future, repository metadata might help us locate plexus components
with a particular role and role hint, but this will hold us over until then.

While we should still make the "standard" ones available out of the box,
it needs to be easy to add more via the project in a reproducible way,
so I propose:

<build>
  <extensions>
    <extension>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-ftp</artifactId>
      <version>1.0-alpha-4</version>
    </extension>
  </extensions>
</build>

This is here instead of in dependencies for clarity and so that you can
use them both as an extension and as a dependency without having to
worry about matching versions or scope.
 Extensions are:
- inherited from the parent
- have NO configuration
- the version can be omitted (use RELEASE) or use ranges like a plugin
and will be populated by the release plugin

At execution, it needs to be available to the core code (eg
DefaultWagonManager), and also particular plugins (eg maven-scm-plugin).
For now, I just intend to push the extensions into the core classloader.
I think we might eventually need to construct a per-project execution
realm as a basis for plugin realms and recreate those plugin realms for
each project (currently it is only ever created for one plugin - so
mutliple versions of a plugin might have problems).



> need to be able to dynamically register providers for wagon and scm
> -------------------------------------------------------------------
>
>          Key: MNG-226
>          URL: http://jira.codehaus.org/browse/MNG-226
>      Project: Maven 2
>         Type: Bug
>   Components: design
>     Reporter: Brett Porter
>     Assignee: Brett Porter
>     Priority: Critical
>      Fix For: 2.0-beta-1

>
>
> currently, only what is a dependency on the using plugin, or in maven2/lib is used. Need to be able to add these on the fly - perhaps this is a plexus artifact container thing that can register certain roles with groupID/artifactId patterns so a hint of "file" can always go and get wagon-file?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org