maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Scholte" <rfscho...@apache.org>
Subject Re: [VOTE] Maven 3.3.6
Date Sun, 02 Aug 2015 18:00:36 GMT
Even though the changes seem too simple, I'd like to see unittests to  
prevent this from happening again.
I don't mind writing them.

Robert

Op Sat, 01 Aug 2015 17:05:37 +0200 schreef Anton Tanasenko  
<atg.sleepless@gmail.com>:

> I've created yet another PR for MNG-5805:
> https://github.com/apache/maven/pull/62
> Sorry guys, I was certain I had run m-enforcer-p its as well with 3.3.5
> candidate.
>
> 2015-08-01 16:57 GMT+03:00 Anton Tanasenko <atg.sleepless@gmail.com>:
>
>> Oh not again,
>> The LifecyclePhase#toString() method was added by me along with
>> toLegacyMap.
>> Looks like I didn't take care of 'mojos' field possibly being null. This
>> seems to be happening when an extension specifies a lifecycle phase but
>> doesn't assign any mojo executions to it.
>>
>>
>> 2015-08-01 16:08 GMT+03:00 Karl Heinz Marbaise <khmarbaise@gmx.de>:
>>
>>> Hi,
>>>
>>> +0 from me...
>>>
>>> Reference Documentation updated  
>>> (http://maven.apache.org/ref/3-LATEST/)..
>>>
>>> checked with maven-invoker-plugin, maven-install-plugin, with Maven
>>> itself ;-)...
>>> and with some of my own projects without any issue...
>>>
>>>
>>> Unfortunately i have found an issue with maven-enforcer-plugin
>>> (trunk:r1693704) where two integrations test are failing with Maven  
>>> 3.3.6
>>> which do not fail with Maven 3.3.3...
>>>
>>> I have attached both log files...
>>>
>>> Maven Enforcer accesses methods in maven-core which are marked as
>>> deprecated...(based on indirect changes):
>>>
>>> This has been added with 3.3.6...
>>>
>>> ./maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecyclePhase.java
>>>
>>>
>>> The following is called indirectly...
>>>
>>>     @Deprecated
>>>     public static Map<String, String> toLegacyMap( Map<String,
>>> LifecyclePhase> lifecyclePhases )
>>>     {
>>>         if ( lifecyclePhases == null )
>>>         {
>>>             return null;
>>>         }
>>>
>>>         if ( lifecyclePhases.isEmpty() )
>>>         {
>>>             return Collections.emptyMap();
>>>         }
>>>
>>>         Map<String, String> phases = new LinkedHashMap<>();
>>>         for ( Map.Entry<String, LifecyclePhase> e:
>>> lifecyclePhases.entrySet() )
>>>         {
>>>             phases.put( e.getKey(), e.getValue().toString() );
>>>         }
>>>         return phases;
>>>     }
>>>
>>>
>>> So the culprit seemed to be this line:
>>>
>>>             phases.put( e.getKey(), e.getValue().toString() );
>>>
>>> where e.getValue() could be null...but they are not the problem.
>>>
>>> The problem is located in the toString() method of LifecyclePhase:
>>>
>>>    @Override
>>>     public String toString()
>>>     {
>>>         StringBuilder sb = new StringBuilder();
>>>         boolean first = true;
>>>         for ( LifecycleMojo mojo: getMojos() )
>>>         {
>>>             if ( first )
>>>             {
>>>                 first = false;
>>>             }
>>>             else
>>>             {
>>>                 sb.append( "," );
>>>             }
>>>             sb.append( mojo.getGoal() );
>>>         }
>>>         return sb.toString();
>>>     }
>>>
>>> The call to getMojos() is the real problem cause the call to
>>> "toLegacyMap()" is a static method without relationship to the object
>>> instance which could explain the non existings content of getMojos()...
>>>
>>> This looks to me that maven-enforcer needed to be fixed...But WDYT ?
>>>
>>> Kind regards
>>> Karl Heinz Marbaise
>>>
>>>
>>> On 7/31/15 5:41 AM, Jason van Zyl wrote:
>>>
>>>> Hi,
>>>>
>>>> Time to release Maven 3.3.6!
>>>>
>>>> Here is a link to the issues resolved:
>>>>
>>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316922&version=12333058
>>>>
>>>> Staging repo:
>>>> https://repository.apache.org/content/repositories/maven-1201/
>>>>
>>>> The distributable binaries and sources for testing can be found here:
>>>>
>>>> https://repository.apache.org/content/repositories/maven-1201/org/apache/maven/apache-maven/3.3.6/
>>>>
>>>> Specifically the zip, tarball, and source archives can be found here:
>>>>
>>>> https://repository.apache.org/content/repositories/maven-1201/org/apache/maven/apache-maven/3.3.6/apache-maven-3.3.6-bin.zip
>>>>
>>>> https://repository.apache.org/content/repositories/maven-1201/org/apache/maven/apache-maven/3.3.6/apache-maven-3.3.6-bin.tar.gz
>>>>
>>>> https://repository.apache.org/content/repositories/maven-1201/org/apache/maven/apache-maven/3.3.6/apache-maven-3.3.6-src.zip
>>>>
>>>> https://repository.apache.org/content/repositories/maven-1201/org/apache/maven/apache-maven/3.3.6/apache-maven-3.3.6-src.tar.gz
>>>>
>>>> Source release checksum(s):
>>>> apache-maven-3.3.6-src.zip sha1:  
>>>> ae409472561584c50691e672539b3eb0f11e806a
>>>>
>>>> Staging site:
>>>> http://people.apache.org/~jvanzyl/maven-3.3.6/
>>>>
>>>> Vote open for 72 hours.
>>>>
>>>> [ ] +1
>>>> [ ] +0
>>>> [ ] -1
>>>>
>>>> Thanks,
>>>>
>>>> The Maven Team
>>>>
>>>
>>>
>>> Kind regards
>>> Karl Heinz Marbaise
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>
>>
>>
>> --
>> Regards,
>> Anton.
>>
>
>

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


Mime
View raw message