« Return to Thread: [pre vote take 3] 2.0.9-RC3

Re: CLI Properties vs. Model Properties (Was Re: [pre vote take 3] 2.0.9-RC3)

by John Casey-5 :: Rate this Message:

Reply to Author | View in Thread

I was incorrect; this is not a result of code I changed. I'll have to  
take a look at the SVN annotation to find the commit that changed  
this, but it looks like it may have been part of some work Jason was  
doing. I'm looking into it now.

-john

On Mar 27, 2008, at 1:19 PM, Brian E. Fox wrote:

> We have to err on the side of not causing more regressions. If we want
> to move in this direction, we should start deprecating the non
> ${project. Forms of the properties with big warnings in 2.0.9.
>
> -----Original Message-----
> From: John Casey [mailto:jdcasey@...]
> Sent: Thursday, March 27, 2008 1:16 PM
> To: Maven Developers List
> Subject: Re: CLI Properties vs. Model Properties (Was Re: [pre vote  
> take
> 3] 2.0.9-RC3)
>
> Sorry for the spam.
>
> Digging deeper through the related links on MNG-2339, it's apparent
> that the comment in the DefaultMavenProjectBuilder is a touch
> misleading. The key issues relevant to where sysprops get used during
> interpolation are:
>
> MNG-2745
> MNG-2651
>
> It seems that environments that use maven programmatically (in 2.0.x?
> really??) are running into collisions where other libraries are
> injecting system properties that override values from the POM for the
> purposes of interpolation. For this reason (and because we don't have
> a concept of CLI properties separate from sysprops yet), the code in
> the project builder was changed to prefer values from the POM over
> sysprops.
>
> -john
>
> On Mar 27, 2008, at 1:06 PM, John Casey wrote:
>
>> BTW, I found this comment on line 981 of DefaultMavenProjectBuilder:
>>
>>         // [MNG-2339] ensure the system properties are still
>> interpolated for backwards compat, but the model values must win
>>
>> I've checked that issue, and it looks like it was closed for this
>> release...so, not present in 2.0.8. Additionally, the doesn't seem
>> to say anything about which is supposed to win - model vs.
>> sysprops. IMO, it makes more sense for CLI properties to override
>> those in the model, since it follows the principle of local-most
>> wins that we employ in other parts of Maven, but I'm not sure I
>> know enough about the history of this issue.
>>
>> Does anyone have another issue number that contributes more to this
>> discussion, that we could use to determine the correct course of
>> action here?
>>
>> Thanks,
>>
>> -john
>>
>> On Mar 27, 2008, at 12:54 PM, John Casey wrote:
>>> Hmm, I'll have to do some homework on this one, but yeah, it looks
>>> like the interpolation changes I put in to get the path-
>>> translation in place. I'll have to see if I can work up a test
>>> case for this, and try to track down that original issue.
>>>
>>> Let me get to work on it and I'll see how fast I can come up with
>>> something.
>>>
>>> -john
>>>
>>> On Mar 27, 2008, at 8:09 AM, Brian E. Fox wrote:
>>>
>>>> Hrm. It's probably a good idea to use a different property, but we
>>>> should understand why this changed before going further. John, any
>>>> ideas?
>>>>
>>>> -----Original Message-----
>>>> From: oliver.lamy@... [mailto:oliver.lamy@...] On
>>>> Behalf Of
>>>> Olivier Lamy
>>>> Sent: Thursday, March 27, 2008 6:56 AM
>>>> To: Maven Developers List
>>>> Subject: Re: [pre vote take 3] 2.0.9-RC3
>>>>
>>>> Hi,
>>>> Testing on corporate projects and build fine.
>>>> +1
>>>>
>>>> I have just noticed a change ("regression" ?).
>>>> We have a corporate plugin. In the pom it's configured as this :
>>>>
>>>>         <plugin>
>>>>           ....
>>>>           ..
>>>>           <configuration>
>>>>             <subject>.. - ${version} ..</subject>
>>>>
>>>> We use it with mvn blabla -Dversion=here a version.
>>>> The value has changed :
>>>> - with mvn 2.0.8 : the value from the cli is used.
>>>> - with this RC : the ${version} is replaced with the current
>>>> pom.version.
>>>>
>>>> It's not a blocking issue because we can easily replace with :
>>>> <subject>.. - ${releaseVersion} ..</subject> and use  mvn blabla
>>>> -DreleaseVersion=
>>>>
>>>> But I hope there is no other side effect.
>>>>
>>>> --
>>>> Olivier
>>>>
>>>>
>>>>
>>>> 2008/3/26, Brian E. Fox <brianf@...>:
>>>>> We fixed the regressions identified last week with the plugin  
>>>>> tools
>>>> and
>>>>>  reporting impl. The new 2.0.9 is staged at
>>>>>
>>>>>
>>>>>
>>>>>
>>>> http://people.apache.org/~brianf/staging-repository/org/apache/
>>>> maven/apa
>>>>>  che-maven/2.0.9-RC3/
>>>>>
>>>>>
>>>>>
>>>>>  You'll notice that this one has an RC qualifier attached to it.
>>>>> Since
>>>>>  what I've actually been staging hasn't been for an official
>>>>> vote, it
>>>>>  makes more sense to have actual deterministic numbers on them
>>>>> instead
>>>> of
>>>>>  continuously rolling back and forth between .10 and .9.
>>>>>
>>>>>
>>>>>
>>>>>  The other significant reason it has a qualifier is that I want to
>>>>>  solicit feedback from the users list without potentially getting
>>>>>  multiple versions out there called 2.0.9. My new mantra for the
>>>>> maven
>>>>>  release is "no more regressions". To that end, what I intend to
>>>>> do is
>>>>>  let the RC sit here for a day. If no one turns up anything new  
>>>>> (it
>>>>>  should be good since this is really attempt #3), then I'll
>>>>> email the
>>>>>  user list to solicit feedback. Naturally we'll probably get a
>>>>> slew of
>>>>>  "can you fix xyz" but the only thing that we will consider at  
>>>>> this
>>>> point
>>>>>  would be a regression from 2.0.8 to the current RC. If
>>>>> something is
>>>>>  identified then we should consider fixing it and re-releasing
>>>>> RC4. I
>>>>>  think that having the users more involved in testing the RCs is
>>>>> the
>>>> only
>>>>>  way to really identify and eliminate regressions. If someone
>>>> identifies
>>>>>  a regression after the fact and didn't speak up or try it, well
>>>> that's
>>>>>  unfortunate but it'll have to wait.
>>>>>
>>>>>
>>>>>
>>>>>  The RC can sit with the users for 3 days. If nothing turns up,
>>>>> then
>>>> I'll
>>>>>  restage with a final release tag and we can do a formal vote.
>>>> Assuming
>>>>>  this is all successful, then I'll document a more formal Core
>>>>> release
>>>>>  procedure that we can follow going forward.
>>>>>
>>>>>
>>>>>
>>>>>  Here's the list of issues fixed in the latest RC:
>>>>>
>>>>>
>>>>>
>>>>>  Release Notes - Maven 2 - Version 2.0.9
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  ** Bug
>>>>>
>>>>>     * [MNG-1412] - dependency sorting in classpath
>>>>>
>>>>>     * [MNG-1914] - Wrong url in error message when using a mirror
>>>>>
>>>>>     * [MNG-2123] - NullPointerException when a dependency uses
>>>>> version
>>>>>  range and another uses an actual version incompatible with that
>>>>> range
>>>>>
>>>>>     * [MNG-2145] - Plugins' dependencies are not always checked
>>>>>
>>>>>     * [MNG-2178] - incorrect M2_HOME guess in mvn.bat
>>>>>
>>>>>     * [MNG-2234] - activeProfile in ~/.m2/settings.xml is
>>>>> ignored when
>>>>>  profiles section is missing or empty
>>>>>
>>>>>     * [MNG-2339] - ${project.*} are interpreted in the wrong place
>>>>>
>>>>>     * [MNG-2744] - checksum comparison should be case-insensitive
>>>>>
>>>>>     * [MNG-2809] - Can't activate a profile by checking for the
>>>> presence
>>>>>  of a file in ${user.home}
>>>>>
>>>>>     * [MNG-2848] - Environment variables in profile activation not
>>>>>  working
>>>>>
>>>>>     * [MNG-2861] - NullPointerException in  
>>>>> DefaultArtifactCollector
>>>> for
>>>>>  relocated resolvedArtifacts with different version ranges and
>>>> available
>>>>>  versions.
>>>>>
>>>>>     * [MNG-2925] - NullPointerException in
>>>>> PluginDescriptor.getMojo()
>>>> if
>>>>>  there's no mojo in pom.xml
>>>>>
>>>>>     * [MNG-2928] - Null pointer exeception when introducing  
>>>>> version
>>>>>  range [major.minor.build-SNAPSHOT,)
>>>>>
>>>>>     * [MNG-2972] - Ignores version of plugin dependency
>>>>> specified in
>>>> my
>>>>>  pom
>>>>>
>>>>>     * [MNG-3086] - NullPointerException in
>>>>>  ResolutionNode.getTrail(ResolutionNode.java:136)
>>>>>
>>>>>     * [MNG-3099] - Profiles ignored when working with non-projects
>>>> (such
>>>>>  as archetype:create)
>>>>>
>>>>>     * [MNG-3111] - Classpath order incorrect
>>>>>
>>>>>     * [MNG-3156] - NullPointerException with mvn  
>>>>> dependency:sources
>>>>>
>>>>>     * [MNG-3221] - Infinite loop in DefaultLifecycleExecutor
>>>>>
>>>>>     * [MNG-3259] - Regression: Maven drops dependencies in
>>>> multi-module
>>>>>  build
>>>>>
>>>>>     * [MNG-3286] - execution.inherited field is ignored
>>>>>
>>>>>     * [MNG-3288] - Invalid systemPath allows build to
>>>> continue--failing
>>>>>  in later phase.
>>>>>
>>>>>     * [MNG-3296] - mvn.bat looses error code on windows NT type
>>>>>  platforms
>>>>>
>>>>>     * [MNG-3310] - JAVACMD set incorrectly when JAVA_HOME is not
>>>>> set
>>>>>
>>>>>     * [MNG-3316] - Barfs at attribues named .*encoding
>>>>>
>>>>>     * [MNG-3354] - mvn.bat incorrectly detects OS on Windows NT
>>>>> or XP
>>>>>  with Novell login
>>>>>
>>>>>     * [MNG-3355] - CLONE -${pom.build.sourceDirectory} and
>>>>>  ${pom.build.testSourceDirectory} no longer recognized
>>>>>
>>>>>     * [MNG-3365] - Remove trailing-backslashes from M2_HOME in
>>>>> mvn.bat
>>>>>
>>>>>     * [MNG-3394] - Plugin versions inherited via  
>>>>> <pluginManagement>
>>>>>  cannot be overriden by <build>.<plugins> section of sub modules
>>>>>
>>>>>     * [MNG-3396] - Managed versions dont affect over constrained
>>>> ranges
>>>>>
>>>>>     * [MNG-3400] - MavenProject is not extensible
>>>>>
>>>>>     * [MNG-3405] - "Checking for updates from repository" logging
>>>> should
>>>>>  not display if WagonManager is offline
>>>>>
>>>>>     * [MNG-3410] - Managed versions in plugins are not
>>>>> considered when
>>>>>  using them
>>>>>
>>>>>     * [MNG-3415] - Transfer errors cause junk metadata in the  
>>>>> local
>>>> repo
>>>>>
>>>>>     * [MNG-3426] - regression : <dependency> in plugin
>>>>> configuration
>>>>>  doesn't override plugin classpath
>>>>>
>>>>>     * [MNG-3430] - Toolchain doesn't match Toolchain extensions
>>>>>
>>>>>     * [MNG-3431] - Pom Extensions not supported for Toolchains
>>>>>
>>>>>     * [MNG-3439] - incorrect child dependency selected when
>>>>> parent is
>>>>>  not selected
>>>>>
>>>>>     * [MNG-3441] - Maven should always retrieve metadata to be
>>>>> updated
>>>>>  from the deployment repository
>>>>>
>>>>>     * [MNG-3460] -
>>>>> org.apache.maven.profiles.DefaultProfileManagerTest
>>>>>  fails if you use a different local repo
>>>>>
>>>>>     * [MNG-3464] - maven-toolchains missing from final binary..
>>>>> need
>>>> to
>>>>>  update the assembly
>>>>>
>>>>>     * [MNG-3473] - site generation with 2.0.9 and plugin:report
>>>>> (2.4
>>>>>  ONLY) is broken
>>>>>
>>>>>
>>>>>
>>>>>  ** Improvement
>>>>>
>>>>>     * [MNG-428] - Japanese message resource
>>>>>
>>>>>     * [MNG-2881] - Improve logging when downloading snapshots in
>>>> offline
>>>>>  mode
>>>>>
>>>>>     * [MNG-3119] - Duplicate attached artifacts should not be
>>>>> allowed.
>>>>>
>>>>>     * [MNG-3279] - Support Exception Chaining for
>>>>> MojoFailureException
>>>>>
>>>>>     * [MNG-3318] - ActiveProjectArtifact should have appropriate
>>>> equals
>>>>>  and hashCode methods
>>>>>
>>>>>     * [MNG-3331] - Normalize paths to sub modules
>>>>>
>>>>>     * [MNG-3388] - DefaultPluginManager needs to catch  
>>>>> LinkageError
>>>>>
>>>>>     * [MNG-3395] - Default core plugin versions in the superpom.
>>>>>
>>>>>     * [MNG-3442] - Add explicit resource bundle for English
>>>>>
>>>>>     * [MNG-3461] - Mirrors should not apply to file://  
>>>>> repositories
>>>>>
>>>>>     * [MNG-3467] - PatternSet needs a toString() method to  
>>>>> properly
>>>>>  print in debug mode
>>>>>
>>>>>     * [MNG-3468] - FileSet needs a toString() method to properly
>>>>> print
>>>>>  in debug mode
>>>>>
>>>>>     * [MNG-3469] - Resource needs a toString() method to properly
>>>> print
>>>>>  in debug mode
>>>>>
>>>>>
>>>>>
>>>>>  ** New Feature
>>>>>
>>>>>     * [MNG-2664] - Add native support for webdav
>>>>>
>>>>>
>>>>>
>>>>>  ** Task
>>>>>
>>>>>     * [MNG-2883] - Make sure that the network isn't used for
>>>>> snapshots
>>>>>  in offline mode when legacy repositories are used
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  ** Wish
>>>>>
>>>>>     * [MNG-1491] - Reactor should print out a message if it
>>>>> detects a
>>>>>  collision of artifact ids
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> -------------------------------------------------------------------
>>>> -
>
>>>> -
>>>> To unsubscribe, e-mail: dev-unsubscribe@...
>>>> For additional commands, e-mail: dev-help@...
>>>>
>>>>
>>>> -------------------------------------------------------------------
>>>> -
>
>>>> -
>>>> To unsubscribe, e-mail: dev-unsubscribe@...
>>>> For additional commands, e-mail: dev-help@...
>>>>
>>>
>>> ---
>>> 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@...
>> For additional commands, e-mail: dev-help@...
>>
>
> ---
> 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@...
> For additional commands, e-mail: dev-help@...
>

---
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


 « Return to Thread: [pre vote take 3] 2.0.9-RC3