>
>
>    1. maintain the ability for a user to checkout your code and run mvn
>    install and have it work with no prior setup on their part.
>
> Hmmm... there are +++'s and ---'s with this one

>
>    1.
>    2. be able to depend on some jar and not worry about any repositories
>    required for transitive resolution (ie discover the repositories
>    transitively as dependencies are processed) *(this is controversial and
>    may be eliminated. First it contributes to the Problem #4 above in that SAT
>    can't be done on a bounded list of repositories. It also doesn't work
>    normally behind a repository manager because the list of repos is usually
>    controlled in the repo manager and thus autodiscovery is intentionally
>    blocked, usually via a mirrorOf * to circumvent the repos maven finds in 
> the
>    poms.)*
>
> Not sure i agree with this one

>
>    1. **
>    2. be able to separate the dependencies needed by maven plugins from
>    those needed by the build. This means not only where they are resolved 
> from,
>    but also how they are stored locally to prevent cross-contamination.
>
> I am less convinced this is necessary these days... better is separation of
repo caches in local

>
>    1.
>    2. Repository identification: at this point we are pretty much in
>    agreement that the URL should be the unique identifier for a repository.
>    People who care about what they are publishing either need to use canonical
>    repositories like Maven central or need to guarantee the existence of the
>    repositories or have decent pointers. In a fully distributed system the
>    relocation mechanism we have does not work in a fully distributed system
>    without a master to manage relocations.
>
> +1


2009/7/8 Brian Fox <bri...@infinity.nu>:
> BTW, we already wrote a proposal on this that got relatively little
> feedback:
http://docs.codehaus.org/display/MAVEN/Artifact+resolution+and+repository+discovery
>
> On Wed, Jul 8, 2009 at 5:29 PM, Paul Gier<pg...@redhat.com> wrote:
>> Daniel Kulp wrote:
>>>
>>> On Wed July 8 2009 4:13:24 pm Benjamin Bentmann wrote:
>>>>
>>>> Paul Gier wrote:
>>>>>
>>>>> One issue that will need to be resolved before we can sync, is how to
>>>>> handle our rebuilt thirdparty jars.  For example, if a jboss project
>>>>> needs to patch some thirdparty jar, rebuild it, and upload it to our
>>>>> repository
>>>>
>>>> AFAIK, somebody building a patched third-party artifact is supposed to
>>>> not deploy this derived artifact with its original group id but with
the
>>>> group id of the patch creator. So if JBoss creates a patched version of
>>>> say log4j, it would need to get deployed with org.jboss:log4j or
>>>> similar. This should be allowed to get synced into central as it can be
>>>> distinguished from the original log4j:log4j artifact of the project
>>>> owner.
>>>
>>> Except there THEN becomes the issue if someone depends on the normal
log4j
>>> artifact as well as some JBoss artifact that then transitively pulls in
>>> org.jboss:log4j, they end up with two versions of log4j on the classpath
>>> with all kinds of non-fun things happening.
>>>
>>> Dan
>>>
>>
>> Yes, this is the major problem that we would have with changing the
groupId
>> for rebuilt artifacts.  It works fine for small projects, but for a large
>> dependency tree it is currently a big hassle to try to track down and
>> exclude every place where the original groupId/artifactId is included
>> transitively.
>>
>> Allowing some kind of global exclusions would be a good start (MNG-1977,
>> MNG-3196).  We currently use the enforcer plugin, but I still have to add
in
>> exclusions every time the same dependency is reintroduced in a new
location
>> in the tree.  Also, anyone depending on the JBoss project might then have
to
>> add exclusions to their projects to get only the correct dependencies.
>>
>> But ideally there would be some way to link groupId:artifactId
combinations
>> as suggested by Stephen and Carlos.  This would also help resolve
artifacts
>> that are renamed between versions which happens occasionally.  Is there
any
>> work to handle this use case in Mercury?
>>
>>>
>>>>
>>>> Benjamin
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>>> For additional commands, e-mail: dev-h...@maven.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>> For additional commands, e-mail: dev-h...@maven.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to