You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/01/07 21:20:36 UTC
svn commit: r609772 - in
/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources:
it0043/child1/pom.xml it0043/child2/pom.xml
it0110-pluginDependenciesComeFromPluginRepos/pom.xml
Author: jdcasey
Date: Mon Jan 7 12:20:33 2008
New Revision: 609772
URL: http://svn.apache.org/viewvc?rev=609772&view=rev
Log:
changing it0043 to use the released version of the help plugin (2.0.2), and changing it0110 to use regular repositories, now that pluginRepositories are turned off in 2.1-SNAPSHOT (trunk).
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child1/pom.xml
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child2/pom.xml
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
Modified: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child1/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child1/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child1/pom.xml (original)
+++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child1/pom.xml Mon Jan 7 12:20:33 2008
@@ -25,7 +25,7 @@
<plugin>
<artifactId>maven-help-plugin</artifactId>
<!-- use 2.0.2-snap until it's released, due to bug described above -->
- <version>2.0.2-SNAPSHOT</version>
+ <version>2.0.2</version>
<executions>
<execution>
<phase>generate-resources</phase>
Modified: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child2/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child2/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child2/pom.xml (original)
+++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child2/pom.xml Mon Jan 7 12:20:33 2008
@@ -42,7 +42,7 @@
<plugins>
<plugin>
<artifactId>maven-help-plugin</artifactId>
- <version>2.0.2-SNAPSHOT</version> <!-- Removing this will cause MNG-900 -->
+ <version>2.0.2</version> <!-- Removing this will cause MNG-900 -->
<executions>
<execution>
<phase>generate-test-resources</phase>
Modified: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml (original)
+++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml Mon Jan 7 12:20:33 2008
@@ -12,21 +12,22 @@
<issue>MNG-2539</issue>
</properties>
- <!--
<repositories>
<repository>
<id>javamail-local</id>
<url>file://${basedir}/repository</url>
</repository>
</repositories>
- -->
+ <!-- pluginRepositories are deprecated in 2.1-SNAPSHOT (trunk), use repositories instead. -->
+ <!--
<pluginRepositories>
<pluginRepository>
<id>javamail-local</id>
<url>file://${basedir}/repository</url>
</pluginRepository>
</pluginRepositories>
+ -->
<build>
<plugins>
RE: plugin repositories (was: svn commit: r609772)
Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
There are some cases where people need/want to have repos only for plugins, hence the need for some form of choice.
-----Original Message-----
From: Michael McCallum [mailto:gholam@apache.org]
Sent: Wednesday, January 09, 2008 8:03 PM
To: Maven Developers List
Subject: Re: plugin repositories (was: svn commit: r609772)
On Thu, 10 Jan 2008 11:56:34 Brian E. Fox wrote:
> >there is no need for a change...
>
> I disagree. The current 2.0.x method of having separate config is just a
> major pita. Most people have them mixed (including us-Maven) and it means
> you almost always have to duplicate all your repos in both lists. This
> provides a simple way to minimize the config and have sensible defaults for
> the 99% of people that don't separate them.
sorry wasn't trying to make that point, let me try that again...
> So, this would tend to support my original
> changes, where all artifacts are drawn from the <repositories> list,
> even for plugin resolution. To keep Maven from resolving snapshot
> versions of plugins in this new setup, it would be great if we could
> add two new flags to the repository syntax:
>
> - dependencies (true|false)
> - plugins (true|false)
i don't think the plugins true|false is necessary you can use profiles and
separate repositories to force it if you really want to
--
Michael McCallum
Enterprise Engineer
mailto:gholam@apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: plugin repositories (was: svn commit: r609772)
Posted by Michael McCallum <gh...@apache.org>.
On Thu, 10 Jan 2008 11:56:34 Brian E. Fox wrote:
> >there is no need for a change...
>
> I disagree. The current 2.0.x method of having separate config is just a
> major pita. Most people have them mixed (including us-Maven) and it means
> you almost always have to duplicate all your repos in both lists. This
> provides a simple way to minimize the config and have sensible defaults for
> the 99% of people that don't separate them.
sorry wasn't trying to make that point, let me try that again...
> So, this would tend to support my original
> changes, where all artifacts are drawn from the <repositories> list,
> even for plugin resolution. To keep Maven from resolving snapshot
> versions of plugins in this new setup, it would be great if we could
> add two new flags to the repository syntax:
>
> - dependencies (true|false)
> - plugins (true|false)
i don't think the plugins true|false is necessary you can use profiles and
separate repositories to force it if you really want to
--
Michael McCallum
Enterprise Engineer
mailto:gholam@apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
RE: plugin repositories (was: svn commit: r609772)
Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
>there is no need for a change...
I disagree. The current 2.0.x method of having separate config is just a major pita. Most people have them mixed (including us-Maven) and it means you almost always have to duplicate all your repos in both lists. This provides a simple way to minimize the config and have sensible defaults for the 99% of people that don't separate them.
Re: plugin repositories (was: svn commit: r609772)
Posted by Michael McCallum <gh...@apache.org>.
On Thu, 10 Jan 2008 04:21:32 John Casey wrote:
> After talking this over some more with Brian Fox, I'm convinced that
> this approach of segregating plugin and project repositories will
> result in a large amount of duplication of effort for ~90% of
> projects, since so many project-dependency repositories also host
> plugins. This is especially true as the community migrates to a more
> general use of proxies. So, this would tend to support my original
> changes, where all artifacts are drawn from the <repositories> list,
> even for plugin resolution. To keep Maven from resolving snapshot
> versions of plugins in this new setup, it would be great if we could
> add two new flags to the repository syntax:
>
> - dependencies (true|false)
> - plugins (true|false)
>
there is no need for a change...
deploy plugins to their own repo and disable snapshots on that repository
definition...
you could have a profile to enable if you want to pick up the snapshot plugin
repo for testing...
--
Michael McCallum
Enterprise Engineer
mailto:gholam@apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: plugin repositories (was: svn commit: r609772)
Posted by Brett Porter <br...@apache.org>.
I gave this some thought.
I definitely agree the separation is bad. The flags are useful, though
maybe doing this by group/artifactId is more effective (since this has
been requested for dependencies in general).
But on the implementation side - regardless of whether you add this
flag you either need to version the behaviour (not just the syntax) or
document a backwards compatibility issue. I would say the latter is
ok, and just pull in any <pluginRepository> elements into the main
repositories and warn the user the behaviour might have changed.
Cheers,
Brett
On 09/01/2008, at 11:21 PM, John Casey wrote:
> After talking this over some more with Brian Fox, I'm convinced that
> this approach of segregating plugin and project repositories will
> result in a large amount of duplication of effort for ~90% of
> projects, since so many project-dependency repositories also host
> plugins. This is especially true as the community migrates to a more
> general use of proxies. So, this would tend to support my original
> changes, where all artifacts are drawn from the <repositories> list,
> even for plugin resolution. To keep Maven from resolving snapshot
> versions of plugins in this new setup, it would be great if we could
> add two new flags to the repository syntax:
>
> - dependencies (true|false)
> - plugins (true|false)
>
> These flags would combine with the existing settings for releases
> and snapshots, and allow fine-grained control over what a specific
> repository is used for. They also line up very nicely with the types
> of information typically stored in real repositories, where for
> instance you'd probably never see snapshots of project dependencies
> living alongside releases of plugins in the same repository...which
> would be one case where the new flags would require two separate
> repository entries pointing at the same URL.
>
> Again, we can't really put these new flags in place until we have a
> means of accommodating new modelVersion numbers in the POM...which
> requires a refactoring of the DefaultMavenProjectBuilder at a
> minimum. Brett, what do you think about this approach to flagging
> repositories instead of putting them in two lists?
>
> -john
>
> On Jan 8, 2008, at 10:21 AM, John Casey wrote:
>
>> Well, I thought the discussion was over IRC, but searching the last
>> year and a half, I'm at a loss.
>>
>> The original reasoning here was to clean up the usage of
>> repositories in 2.1, and since there is no end to problems with
>> pluginRepositories when people actually use them, this seemed like
>> a good target. We had some discussion about disabling plugin auto-
>> resolution when the version is missing on the dev list, but we
>> didn't reach any sort of consensus there, except to say that not
>> specifying versions is dangerous, I think. It would be good to
>> drive that discussion to some resolution, and figure out how we can
>> pin down plugin versions for everything used in a given build (even
>> in default lifecycle bindings and such) in a scalable and effective
>> way. However, this will almost certainly require changes to the
>> project builder, since putting plugin-version information in
>> released versions of maven itself is very bad, and there is
>> currently no way to specify plugin versions for the default
>> lifecycle bindings except through the pluginManagement section of a
>> parent pom or similar.
>>
>> In any case, plugin repositories are mixed up with regular
>> repositories during the plugin resolution process. At one point, I
>> had written code to resolve only the plugin artifact itself using
>> only the pluginRepositories list, then take another pass to resolve
>> the plugin dependencies using the mixture of these two lists.
>> That's gone now (I'm not entirely sure where it went, or when), and
>> in any case it wouldn't have produced results that were easy to
>> debug, I'm guessing. Aligning all artifact resolution to a
>> consistent set of repositories seemed a good first step down the
>> path of cleaning all of this up.
>>
>> However, I'm now starting to wonder whether we want to completely
>> segregate the build activities - including the artifact
>> repositories used to drive these activities - from the project
>> dependencies. To me, it seems a better practice to take a lesson
>> from plugin-level dependencies, which are kept separate from
>> regular project dependencies because they are used in the build
>> process and not at all in project code, and completely separate the
>> two repository lists. Plugins and their dependencies would only be
>> resolved from <pluginRepositories>, and project dependencies would
>> only be resolved from <repositories>. This will prevent any
>> unintentional injection of snapshots into the mix when resolving
>> plugin versions (which, again, is a bad feature to be reliant
>> upon...as evidenced by our repeated failure to control when plugins
>> are re-resolved...see pluginRegistry and advice on using -U for
>> plugin resolution for some examples).
>>
>> So, let's have the discussion now. What does anyone think about
>> separating the pluginRepositories list completely from the
>> repositories list, and using them in ways that will not ever
>> intersect within the maven core? I'm definitely -1 for leaving the
>> current mixture in the 2.0.x line in place, as I believe this
>> causes a lot of confusion. IMO, the above separation would be the
>> most intuitive configuration for a new user, where
>> pluginRepositories clearly implies its use, and is only confused
>> when it's (a) not used at all, or (b) mixed with the regular
>> repositories list.
>>
>> Comments?
>>
>> Thanks,
>>
>> -john
>>
>> On Jan 8, 2008, at 12:07 AM, Brett Porter wrote:
>>
>>> John,
>>>
>>> Won't that break for 2.0.x when running the ITs against them? I
>>> think 110 totally would irrelevant for 2.1, in which case the
>>> version could just be (,2.1-SNAPSHOT) for the test.
>>>
>>> But aside from that - why were plugin repositories deprecated? I
>>> don't recall any discussion, proposal or reasoning for it on the
>>> list. I actually use that separation, because of the auto-
>>> resolution of versions for plugins (which was not disabled in 2.1
>>> after much discussion), and the need to add snapshot repositories
>>> for non-plugins only.
>>>
>>> Thanks,
>>> Brett
>>>
>>> On 08/01/2008, at 4:20 AM, jdcasey@apache.org wrote:
>>>
>>>> Author: jdcasey
>>>> Date: Mon Jan 7 12:20:33 2008
>>>> New Revision: 609772
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=609772&view=rev
>>>> Log:
>>>> changing it0043 to use the released version of the help plugin
>>>> (2.0.2), and changing it0110 to use regular repositories, now
>>>> that pluginRepositories are turned off in 2.1-SNAPSHOT (trunk).
>>>>
>>>> Modified:
>>>> maven/core-integration-testing/trunk/core-integration-tests/src/
>>>> test/resources/it0043/child1/pom.xml
>>>> maven/core-integration-testing/trunk/core-integration-tests/src/
>>>> test/resources/it0043/child2/pom.xml
>>>> maven/core-integration-testing/trunk/core-integration-tests/src/
>>>> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
>>>>
>>>> Modified: maven/core-integration-testing/trunk/core-integration-
>>>> tests/src/test/resources/it0043/child1/pom.xml
>>>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child1/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> ===================================================================
>>>> --- maven/core-integration-testing/trunk/core-integration-tests/
>>>> src/test/resources/it0043/child1/pom.xml (original)
>>>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>>>> src/test/resources/it0043/child1/pom.xml Mon Jan 7 12:20:33 2008
>>>> @@ -25,7 +25,7 @@
>>>> <plugin>
>>>> <artifactId>maven-help-plugin</artifactId>
>>>> <!-- use 2.0.2-snap until it's released, due to bug described
>>>> above -->
>>>> - <version>2.0.2-SNAPSHOT</version>
>>>> + <version>2.0.2</version>
>>>> <executions>
>>>> <execution>
>>>> <phase>generate-resources</phase>
>>>>
>>>> Modified: maven/core-integration-testing/trunk/core-integration-
>>>> tests/src/test/resources/it0043/child2/pom.xml
>>>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child2/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> ===================================================================
>>>> --- maven/core-integration-testing/trunk/core-integration-tests/
>>>> src/test/resources/it0043/child2/pom.xml (original)
>>>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>>>> src/test/resources/it0043/child2/pom.xml Mon Jan 7 12:20:33 2008
>>>> @@ -42,7 +42,7 @@
>>>> <plugins>
>>>> <plugin>
>>>> <artifactId>maven-help-plugin</artifactId>
>>>> - <version>2.0.2-SNAPSHOT</version> <!-- Removing this will
>>>> cause MNG-900 -->
>>>> + <version>2.0.2</version> <!-- Removing this will cause
>>>> MNG-900 -->
>>>> <executions>
>>>> <execution>
>>>> <phase>generate-test-resources</phase>
>>>>
>>>> Modified: maven/core-integration-testing/trunk/core-integration-
>>>> tests/src/test/resources/it0110-
>>>> pluginDependenciesComeFromPluginRepos/pom.xml
>>>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> ===================================================================
>>>> --- maven/core-integration-testing/trunk/core-integration-tests/
>>>> src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/
>>>> pom.xml (original)
>>>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>>>> src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/
>>>> pom.xml Mon Jan 7 12:20:33 2008
>>>> @@ -12,21 +12,22 @@
>>>> <issue>MNG-2539</issue>
>>>> </properties>
>>>>
>>>> - <!--
>>>> <repositories>
>>>> <repository>
>>>> <id>javamail-local</id>
>>>> <url>file://${basedir}/repository</url>
>>>> </repository>
>>>> </repositories>
>>>> - -->
>>>>
>>>> + <!-- pluginRepositories are deprecated in 2.1-SNAPSHOT
>>>> (trunk), use repositories instead. -->
>>>> + <!--
>>>> <pluginRepositories>
>>>> <pluginRepository>
>>>> <id>javamail-local</id>
>>>> <url>file://${basedir}/repository</url>
>>>> </pluginRepository>
>>>> </pluginRepositories>
>>>> + -->
>>>>
>>>> <build>
>>>> <plugins>
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>
>> ---
>> John Casey
>> Committer and PMC Member, Apache Maven
>> mail: jdcasey at commonjava dot org
>> blog: http://www.ejlife.net/blogs/john
>> rss: http://feeds.feedburner.com/ejlife/john
>>
>>
>
> ---
> John Casey
> Committer and PMC Member, Apache Maven
> mail: jdcasey at commonjava dot org
> blog: http://www.ejlife.net/blogs/john
> rss: http://feeds.feedburner.com/ejlife/john
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: plugin repositories (was: svn commit: r609772)
Posted by John Casey <jd...@commonjava.org>.
After talking this over some more with Brian Fox, I'm convinced that
this approach of segregating plugin and project repositories will
result in a large amount of duplication of effort for ~90% of
projects, since so many project-dependency repositories also host
plugins. This is especially true as the community migrates to a more
general use of proxies. So, this would tend to support my original
changes, where all artifacts are drawn from the <repositories> list,
even for plugin resolution. To keep Maven from resolving snapshot
versions of plugins in this new setup, it would be great if we could
add two new flags to the repository syntax:
- dependencies (true|false)
- plugins (true|false)
These flags would combine with the existing settings for releases and
snapshots, and allow fine-grained control over what a specific
repository is used for. They also line up very nicely with the types
of information typically stored in real repositories, where for
instance you'd probably never see snapshots of project dependencies
living alongside releases of plugins in the same repository...which
would be one case where the new flags would require two separate
repository entries pointing at the same URL.
Again, we can't really put these new flags in place until we have a
means of accommodating new modelVersion numbers in the POM...which
requires a refactoring of the DefaultMavenProjectBuilder at a
minimum. Brett, what do you think about this approach to flagging
repositories instead of putting them in two lists?
-john
On Jan 8, 2008, at 10:21 AM, John Casey wrote:
> Well, I thought the discussion was over IRC, but searching the last
> year and a half, I'm at a loss.
>
> The original reasoning here was to clean up the usage of
> repositories in 2.1, and since there is no end to problems with
> pluginRepositories when people actually use them, this seemed like
> a good target. We had some discussion about disabling plugin auto-
> resolution when the version is missing on the dev list, but we
> didn't reach any sort of consensus there, except to say that not
> specifying versions is dangerous, I think. It would be good to
> drive that discussion to some resolution, and figure out how we can
> pin down plugin versions for everything used in a given build (even
> in default lifecycle bindings and such) in a scalable and effective
> way. However, this will almost certainly require changes to the
> project builder, since putting plugin-version information in
> released versions of maven itself is very bad, and there is
> currently no way to specify plugin versions for the default
> lifecycle bindings except through the pluginManagement section of a
> parent pom or similar.
>
> In any case, plugin repositories are mixed up with regular
> repositories during the plugin resolution process. At one point, I
> had written code to resolve only the plugin artifact itself using
> only the pluginRepositories list, then take another pass to resolve
> the plugin dependencies using the mixture of these two lists.
> That's gone now (I'm not entirely sure where it went, or when), and
> in any case it wouldn't have produced results that were easy to
> debug, I'm guessing. Aligning all artifact resolution to a
> consistent set of repositories seemed a good first step down the
> path of cleaning all of this up.
>
> However, I'm now starting to wonder whether we want to completely
> segregate the build activities - including the artifact
> repositories used to drive these activities - from the project
> dependencies. To me, it seems a better practice to take a lesson
> from plugin-level dependencies, which are kept separate from
> regular project dependencies because they are used in the build
> process and not at all in project code, and completely separate the
> two repository lists. Plugins and their dependencies would only be
> resolved from <pluginRepositories>, and project dependencies would
> only be resolved from <repositories>. This will prevent any
> unintentional injection of snapshots into the mix when resolving
> plugin versions (which, again, is a bad feature to be reliant
> upon...as evidenced by our repeated failure to control when plugins
> are re-resolved...see pluginRegistry and advice on using -U for
> plugin resolution for some examples).
>
> So, let's have the discussion now. What does anyone think about
> separating the pluginRepositories list completely from the
> repositories list, and using them in ways that will not ever
> intersect within the maven core? I'm definitely -1 for leaving the
> current mixture in the 2.0.x line in place, as I believe this
> causes a lot of confusion. IMO, the above separation would be the
> most intuitive configuration for a new user, where
> pluginRepositories clearly implies its use, and is only confused
> when it's (a) not used at all, or (b) mixed with the regular
> repositories list.
>
> Comments?
>
> Thanks,
>
> -john
>
> On Jan 8, 2008, at 12:07 AM, Brett Porter wrote:
>
>> John,
>>
>> Won't that break for 2.0.x when running the ITs against them? I
>> think 110 totally would irrelevant for 2.1, in which case the
>> version could just be (,2.1-SNAPSHOT) for the test.
>>
>> But aside from that - why were plugin repositories deprecated? I
>> don't recall any discussion, proposal or reasoning for it on the
>> list. I actually use that separation, because of the auto-
>> resolution of versions for plugins (which was not disabled in 2.1
>> after much discussion), and the need to add snapshot repositories
>> for non-plugins only.
>>
>> Thanks,
>> Brett
>>
>> On 08/01/2008, at 4:20 AM, jdcasey@apache.org wrote:
>>
>>> Author: jdcasey
>>> Date: Mon Jan 7 12:20:33 2008
>>> New Revision: 609772
>>>
>>> URL: http://svn.apache.org/viewvc?rev=609772&view=rev
>>> Log:
>>> changing it0043 to use the released version of the help plugin
>>> (2.0.2), and changing it0110 to use regular repositories, now
>>> that pluginRepositories are turned off in 2.1-SNAPSHOT (trunk).
>>>
>>> Modified:
>>> maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0043/child1/pom.xml
>>> maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0043/child2/pom.xml
>>> maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/
>>> pom.xml
>>>
>>> Modified: maven/core-integration-testing/trunk/core-integration-
>>> tests/src/test/resources/it0043/child1/pom.xml
>>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/
>>> trunk/core-integration-tests/src/test/resources/it0043/child1/
>>> pom.xml?rev=609772&r1=609771&r2=609772&view=diff
>>> ====================================================================
>>> ==========
>>> --- maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0043/child1/pom.xml (original)
>>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0043/child1/pom.xml Mon Jan 7 12:20:33 2008
>>> @@ -25,7 +25,7 @@
>>> <plugin>
>>> <artifactId>maven-help-plugin</artifactId>
>>> <!-- use 2.0.2-snap until it's released, due to bug described
>>> above -->
>>> - <version>2.0.2-SNAPSHOT</version>
>>> + <version>2.0.2</version>
>>> <executions>
>>> <execution>
>>> <phase>generate-resources</phase>
>>>
>>> Modified: maven/core-integration-testing/trunk/core-integration-
>>> tests/src/test/resources/it0043/child2/pom.xml
>>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/
>>> trunk/core-integration-tests/src/test/resources/it0043/child2/
>>> pom.xml?rev=609772&r1=609771&r2=609772&view=diff
>>> ====================================================================
>>> ==========
>>> --- maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0043/child2/pom.xml (original)
>>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0043/child2/pom.xml Mon Jan 7 12:20:33 2008
>>> @@ -42,7 +42,7 @@
>>> <plugins>
>>> <plugin>
>>> <artifactId>maven-help-plugin</artifactId>
>>> - <version>2.0.2-SNAPSHOT</version> <!-- Removing this will
>>> cause MNG-900 -->
>>> + <version>2.0.2</version> <!-- Removing this will cause
>>> MNG-900 -->
>>> <executions>
>>> <execution>
>>> <phase>generate-test-resources</phase>
>>>
>>> Modified: maven/core-integration-testing/trunk/core-integration-
>>> tests/src/test/resources/it0110-
>>> pluginDependenciesComeFromPluginRepos/pom.xml
>>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/
>>> trunk/core-integration-tests/src/test/resources/it0110-
>>> pluginDependenciesComeFromPluginRepos/pom.xml?
>>> rev=609772&r1=609771&r2=609772&view=diff
>>> ====================================================================
>>> ==========
>>> --- maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/
>>> pom.xml (original)
>>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>>> src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/
>>> pom.xml Mon Jan 7 12:20:33 2008
>>> @@ -12,21 +12,22 @@
>>> <issue>MNG-2539</issue>
>>> </properties>
>>>
>>> - <!--
>>> <repositories>
>>> <repository>
>>> <id>javamail-local</id>
>>> <url>file://${basedir}/repository</url>
>>> </repository>
>>> </repositories>
>>> - -->
>>>
>>> + <!-- pluginRepositories are deprecated in 2.1-SNAPSHOT
>>> (trunk), use repositories instead. -->
>>> + <!--
>>> <pluginRepositories>
>>> <pluginRepository>
>>> <id>javamail-local</id>
>>> <url>file://${basedir}/repository</url>
>>> </pluginRepository>
>>> </pluginRepositories>
>>> + -->
>>>
>>> <build>
>>> <plugins>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
> ---
> John Casey
> Committer and PMC Member, Apache Maven
> mail: jdcasey at commonjava dot org
> blog: http://www.ejlife.net/blogs/john
> rss: http://feeds.feedburner.com/ejlife/john
>
>
---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john
Re: plugin repositories (was: svn commit: r609772)
Posted by John Casey <jd...@commonjava.org>.
Well, I thought the discussion was over IRC, but searching the last
year and a half, I'm at a loss.
The original reasoning here was to clean up the usage of repositories
in 2.1, and since there is no end to problems with pluginRepositories
when people actually use them, this seemed like a good target. We had
some discussion about disabling plugin auto-resolution when the
version is missing on the dev list, but we didn't reach any sort of
consensus there, except to say that not specifying versions is
dangerous, I think. It would be good to drive that discussion to some
resolution, and figure out how we can pin down plugin versions for
everything used in a given build (even in default lifecycle bindings
and such) in a scalable and effective way. However, this will almost
certainly require changes to the project builder, since putting
plugin-version information in released versions of maven itself is
very bad, and there is currently no way to specify plugin versions
for the default lifecycle bindings except through the
pluginManagement section of a parent pom or similar.
In any case, plugin repositories are mixed up with regular
repositories during the plugin resolution process. At one point, I
had written code to resolve only the plugin artifact itself using
only the pluginRepositories list, then take another pass to resolve
the plugin dependencies using the mixture of these two lists. That's
gone now (I'm not entirely sure where it went, or when), and in any
case it wouldn't have produced results that were easy to debug, I'm
guessing. Aligning all artifact resolution to a consistent set of
repositories seemed a good first step down the path of cleaning all
of this up.
However, I'm now starting to wonder whether we want to completely
segregate the build activities - including the artifact repositories
used to drive these activities - from the project dependencies. To
me, it seems a better practice to take a lesson from plugin-level
dependencies, which are kept separate from regular project
dependencies because they are used in the build process and not at
all in project code, and completely separate the two repository
lists. Plugins and their dependencies would only be resolved from
<pluginRepositories>, and project dependencies would only be resolved
from <repositories>. This will prevent any unintentional injection of
snapshots into the mix when resolving plugin versions (which, again,
is a bad feature to be reliant upon...as evidenced by our repeated
failure to control when plugins are re-resolved...see pluginRegistry
and advice on using -U for plugin resolution for some examples).
So, let's have the discussion now. What does anyone think about
separating the pluginRepositories list completely from the
repositories list, and using them in ways that will not ever
intersect within the maven core? I'm definitely -1 for leaving the
current mixture in the 2.0.x line in place, as I believe this causes
a lot of confusion. IMO, the above separation would be the most
intuitive configuration for a new user, where pluginRepositories
clearly implies its use, and is only confused when it's (a) not used
at all, or (b) mixed with the regular repositories list.
Comments?
Thanks,
-john
On Jan 8, 2008, at 12:07 AM, Brett Porter wrote:
> John,
>
> Won't that break for 2.0.x when running the ITs against them? I
> think 110 totally would irrelevant for 2.1, in which case the
> version could just be (,2.1-SNAPSHOT) for the test.
>
> But aside from that - why were plugin repositories deprecated? I
> don't recall any discussion, proposal or reasoning for it on the
> list. I actually use that separation, because of the auto-
> resolution of versions for plugins (which was not disabled in 2.1
> after much discussion), and the need to add snapshot repositories
> for non-plugins only.
>
> Thanks,
> Brett
>
> On 08/01/2008, at 4:20 AM, jdcasey@apache.org wrote:
>
>> Author: jdcasey
>> Date: Mon Jan 7 12:20:33 2008
>> New Revision: 609772
>>
>> URL: http://svn.apache.org/viewvc?rev=609772&view=rev
>> Log:
>> changing it0043 to use the released version of the help plugin
>> (2.0.2), and changing it0110 to use regular repositories, now that
>> pluginRepositories are turned off in 2.1-SNAPSHOT (trunk).
>>
>> Modified:
>> maven/core-integration-testing/trunk/core-integration-tests/src/
>> test/resources/it0043/child1/pom.xml
>> maven/core-integration-testing/trunk/core-integration-tests/src/
>> test/resources/it0043/child2/pom.xml
>> maven/core-integration-testing/trunk/core-integration-tests/src/
>> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
>>
>> Modified: maven/core-integration-testing/trunk/core-integration-
>> tests/src/test/resources/it0043/child1/pom.xml
>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/
>> trunk/core-integration-tests/src/test/resources/it0043/child1/
>> pom.xml?rev=609772&r1=609771&r2=609772&view=diff
>> =====================================================================
>> =========
>> --- maven/core-integration-testing/trunk/core-integration-tests/
>> src/test/resources/it0043/child1/pom.xml (original)
>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>> src/test/resources/it0043/child1/pom.xml Mon Jan 7 12:20:33 2008
>> @@ -25,7 +25,7 @@
>> <plugin>
>> <artifactId>maven-help-plugin</artifactId>
>> <!-- use 2.0.2-snap until it's released, due to bug described
>> above -->
>> - <version>2.0.2-SNAPSHOT</version>
>> + <version>2.0.2</version>
>> <executions>
>> <execution>
>> <phase>generate-resources</phase>
>>
>> Modified: maven/core-integration-testing/trunk/core-integration-
>> tests/src/test/resources/it0043/child2/pom.xml
>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/
>> trunk/core-integration-tests/src/test/resources/it0043/child2/
>> pom.xml?rev=609772&r1=609771&r2=609772&view=diff
>> =====================================================================
>> =========
>> --- maven/core-integration-testing/trunk/core-integration-tests/
>> src/test/resources/it0043/child2/pom.xml (original)
>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>> src/test/resources/it0043/child2/pom.xml Mon Jan 7 12:20:33 2008
>> @@ -42,7 +42,7 @@
>> <plugins>
>> <plugin>
>> <artifactId>maven-help-plugin</artifactId>
>> - <version>2.0.2-SNAPSHOT</version> <!-- Removing this will
>> cause MNG-900 -->
>> + <version>2.0.2</version> <!-- Removing this will cause
>> MNG-900 -->
>> <executions>
>> <execution>
>> <phase>generate-test-resources</phase>
>>
>> Modified: maven/core-integration-testing/trunk/core-integration-
>> tests/src/test/resources/it0110-
>> pluginDependenciesComeFromPluginRepos/pom.xml
>> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/
>> trunk/core-integration-tests/src/test/resources/it0110-
>> pluginDependenciesComeFromPluginRepos/pom.xml?
>> rev=609772&r1=609771&r2=609772&view=diff
>> =====================================================================
>> =========
>> --- maven/core-integration-testing/trunk/core-integration-tests/
>> src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/
>> pom.xml (original)
>> +++ maven/core-integration-testing/trunk/core-integration-tests/
>> src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/
>> pom.xml Mon Jan 7 12:20:33 2008
>> @@ -12,21 +12,22 @@
>> <issue>MNG-2539</issue>
>> </properties>
>>
>> - <!--
>> <repositories>
>> <repository>
>> <id>javamail-local</id>
>> <url>file://${basedir}/repository</url>
>> </repository>
>> </repositories>
>> - -->
>>
>> + <!-- pluginRepositories are deprecated in 2.1-SNAPSHOT (trunk),
>> use repositories instead. -->
>> + <!--
>> <pluginRepositories>
>> <pluginRepository>
>> <id>javamail-local</id>
>> <url>file://${basedir}/repository</url>
>> </pluginRepository>
>> </pluginRepositories>
>> + -->
>>
>> <build>
>> <plugins>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john
RE: plugin repositories (was: svn commit: r609772)
Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
I know this was discussed a long time ago when we discovered that plugin
repos are essentially useless. The trouble is that a plugin's
dependencies are retrieved not from the plugin repo but from the regular
repo. This effectively means you must always add a plugin repo to the
repo list also, making the distinction confusing and not nessessary.
-----Original Message-----
From: Brett Porter [mailto:brett@apache.org]
Sent: Tuesday, January 08, 2008 12:07 AM
To: dev@maven.apache.org
Subject: Re: plugin repositories (was: svn commit: r609772)
John,
Won't that break for 2.0.x when running the ITs against them? I think
110 totally would irrelevant for 2.1, in which case the version could
just be (,2.1-SNAPSHOT) for the test.
But aside from that - why were plugin repositories deprecated? I don't
recall any discussion, proposal or reasoning for it on the list. I
actually use that separation, because of the auto-resolution of
versions for plugins (which was not disabled in 2.1 after much
discussion), and the need to add snapshot repositories for non-plugins
only.
Thanks,
Brett
On 08/01/2008, at 4:20 AM, jdcasey@apache.org wrote:
> Author: jdcasey
> Date: Mon Jan 7 12:20:33 2008
> New Revision: 609772
>
> URL: http://svn.apache.org/viewvc?rev=609772&view=rev
> Log:
> changing it0043 to use the released version of the help plugin
> (2.0.2), and changing it0110 to use regular repositories, now that
> pluginRepositories are turned off in 2.1-SNAPSHOT (trunk).
>
> Modified:
> maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child1/pom.xml
> maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child2/pom.xml
> maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
>
> Modified: maven/core-integration-testing/trunk/core-integration-
> tests/src/test/resources/it0043/child1/pom.xml
> URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-i
ntegration-tests/src/test/resources/it0043/child1/pom.xml?rev=609772&r1=
609771&r2=609772&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child1/pom.xml (original)
> +++ maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child1/pom.xml Mon Jan 7 12:20:33 2008
> @@ -25,7 +25,7 @@
> <plugin>
> <artifactId>maven-help-plugin</artifactId>
> <!-- use 2.0.2-snap until it's released,
due to bug described
> above -->
> - <version>2.0.2-SNAPSHOT</version>
> + <version>2.0.2</version>
> <executions>
> <execution>
> <phase>generate-resources</phase>
>
> Modified: maven/core-integration-testing/trunk/core-integration-
> tests/src/test/resources/it0043/child2/pom.xml
> URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-i
ntegration-tests/src/test/resources/it0043/child2/pom.xml?rev=609772&r1=
609771&r2=609772&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child2/pom.xml (original)
> +++ maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child2/pom.xml Mon Jan 7 12:20:33 2008
> @@ -42,7 +42,7 @@
> <plugins>
> <plugin>
> <artifactId>maven-help-plugin</artifactId>
> - <version>2.0.2-SNAPSHOT</version> <!--
Removing this will cause
> MNG-900 -->
> + <version>2.0.2</version> <!-- Removing
this will cause MNG-900
> -->
> <executions>
> <execution>
> <phase>generate-test-resources</phase>
>
> Modified: maven/core-integration-testing/trunk/core-integration-
> tests/src/test/resources/it0110-
> pluginDependenciesComeFromPluginRepos/pom.xml
> URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-i
ntegration-tests/src/test/resources/it0110-pluginDependenciesComeFromPlu
ginRepos/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
> (original)
> +++ maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
> Mon Jan 7 12:20:33 2008
> @@ -12,21 +12,22 @@
> <issue>MNG-2539</issue>
> </properties>
>
> - <!--
> <repositories>
> <repository>
> <id>javamail-local</id>
> <url>file://${basedir}/repository</url>
> </repository>
> </repositories>
> - -->
>
> + <!-- pluginRepositories are deprecated in 2.1-SNAPSHOT (trunk),
> use repositories instead. -->
> + <!--
> <pluginRepositories>
> <pluginRepository>
> <id>javamail-local</id>
> <url>file://${basedir}/repository</url>
> </pluginRepository>
> </pluginRepositories>
> + -->
>
> <build>
> <plugins>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: plugin repositories (was: svn commit: r609772)
Posted by Brett Porter <br...@apache.org>.
John,
Won't that break for 2.0.x when running the ITs against them? I think
110 totally would irrelevant for 2.1, in which case the version could
just be (,2.1-SNAPSHOT) for the test.
But aside from that - why were plugin repositories deprecated? I don't
recall any discussion, proposal or reasoning for it on the list. I
actually use that separation, because of the auto-resolution of
versions for plugins (which was not disabled in 2.1 after much
discussion), and the need to add snapshot repositories for non-plugins
only.
Thanks,
Brett
On 08/01/2008, at 4:20 AM, jdcasey@apache.org wrote:
> Author: jdcasey
> Date: Mon Jan 7 12:20:33 2008
> New Revision: 609772
>
> URL: http://svn.apache.org/viewvc?rev=609772&view=rev
> Log:
> changing it0043 to use the released version of the help plugin
> (2.0.2), and changing it0110 to use regular repositories, now that
> pluginRepositories are turned off in 2.1-SNAPSHOT (trunk).
>
> Modified:
> maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child1/pom.xml
> maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child2/pom.xml
> maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
>
> Modified: maven/core-integration-testing/trunk/core-integration-
> tests/src/test/resources/it0043/child1/pom.xml
> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child1/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child1/pom.xml (original)
> +++ maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child1/pom.xml Mon Jan 7 12:20:33 2008
> @@ -25,7 +25,7 @@
> <plugin>
> <artifactId>maven-help-plugin</artifactId>
> <!-- use 2.0.2-snap until it's released, due to bug described
> above -->
> - <version>2.0.2-SNAPSHOT</version>
> + <version>2.0.2</version>
> <executions>
> <execution>
> <phase>generate-resources</phase>
>
> Modified: maven/core-integration-testing/trunk/core-integration-
> tests/src/test/resources/it0043/child2/pom.xml
> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0043/child2/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child2/pom.xml (original)
> +++ maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0043/child2/pom.xml Mon Jan 7 12:20:33 2008
> @@ -42,7 +42,7 @@
> <plugins>
> <plugin>
> <artifactId>maven-help-plugin</artifactId>
> - <version>2.0.2-SNAPSHOT</version> <!-- Removing this will cause
> MNG-900 -->
> + <version>2.0.2</version> <!-- Removing this will cause MNG-900
> -->
> <executions>
> <execution>
> <phase>generate-test-resources</phase>
>
> Modified: maven/core-integration-testing/trunk/core-integration-
> tests/src/test/resources/it0110-
> pluginDependenciesComeFromPluginRepos/pom.xml
> URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml?rev=609772&r1=609771&r2=609772&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
> (original)
> +++ maven/core-integration-testing/trunk/core-integration-tests/src/
> test/resources/it0110-pluginDependenciesComeFromPluginRepos/pom.xml
> Mon Jan 7 12:20:33 2008
> @@ -12,21 +12,22 @@
> <issue>MNG-2539</issue>
> </properties>
>
> - <!--
> <repositories>
> <repository>
> <id>javamail-local</id>
> <url>file://${basedir}/repository</url>
> </repository>
> </repositories>
> - -->
>
> + <!-- pluginRepositories are deprecated in 2.1-SNAPSHOT (trunk),
> use repositories instead. -->
> + <!--
> <pluginRepositories>
> <pluginRepository>
> <id>javamail-local</id>
> <url>file://${basedir}/repository</url>
> </pluginRepository>
> </pluginRepositories>
> + -->
>
> <build>
> <plugins>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org