[jbosstools-dev] m2eclipse-mavenarchiver writes pom.xml/pom.properties too aggressively

Snjezana Peco snjezana.peco at redhat.com
Mon Jan 6 15:14:15 EST 2014


The maven archiver configurator unnecessarily creates 
pom.xml/pom.properties files for all the projects of the war, ear ejb... 
type whenever the Maven builder is called and calls other builders.
I suppose building the wildfly distribution will be several percent 
faster since the Maven builder is called more times for most of the 
projects. Improvement can be much greater if a third party builder isn't 
implemented correctly (a builder isn't incremental).

Snjeza

On 1/6/2014 12:31 PM, Max Rydahl Andersen wrote:
> Interesting fix.
>
> How big a performance impact does this fix have ?
>
> on i.e. big projects like wildfly ?
>
> /max
>
> On 6 Jan 2014, at 0:30, Snjezana Peco wrote:
>
>> Fred,
>>
>> The https://github.com/tesla/m2eclipse-mavenarchiver/pull/2 PR contains
>> original code. It uses Eclipse resource delta to find out if pom.xml has
>> been modified. PR#1 does it by comparing pom.xml files.
>> PR#2 was already created when I saw PR#1.
>>
>> Snjeza
>>
>> On 1/5/2014 10:45 PM, Fred Bricon wrote:
>>> Snjeza,
>>>
>>> The previous PR was never applied because the original author never
>>> reacted wrt signing Sonatype's CLA.
>>> Anyway I agree with your approach, I like it better.
>>>
>>> Did you write that solution from scratch or did you use some of the
>>> PR#1 code
>>> Only thing missing from that are integration tests and bumping the
>>> plugin version.
>>>
>>> If we can provide 100% original code I'm confident I can get the patch
>>> applied soon (I'm not a member of that repo).
>>>
>>> Fred
>>>
>>> Le samedi 4 janvier 2014 19:53:08, Snjezana Peco a écrit :
>>>> I have just seen
>>>> https://github.com/tesla/m2eclipse-mavenarchiver/pull/1 that fixes the
>>>> same issue.
>>>> I think, that PR will also decrease performance because it reads and
>>>> compares two pom.xml file whenever the Maven Archiver configurator is
>>>> called.
>>>>
>>>> Snjeza
>>>>
>>>> On 1/4/2014 7:21 PM, Snjezana Peco wrote:
>>>>> Hi,
>>>>>
>>>>> The AbstractMavenArchiverConfigurator.writePom method is called whenever
>>>>> the Maven builder is called. The method writes pom.xml/pom.properties
>>>>> archive files no matter if pom.xml has been changed or not.
>>>>> M2e-wtp includes the Maven Archiver configurator into different projects
>>>>> (war, ear, ejb, rar...)
>>>>> Since the Maven builder can often be called when there are a lot of
>>>>> maven projects in the workspace (the wildfly distribution, for
>>>>> instance), this issue will decrease performance.
>>>>> It will also unnecessarily call other builders (CDI, KB, Arquillian
>>>>> ...). If those builders are created correctly, they won't do anything,
>>>>> but performance will be decreased because the following useless actions
>>>>> have been run:
>>>>>
>>>>> - Maven Archiver writes pom.xml/pom.properties
>>>>> - Eclipse runs other builders
>>>>> - builders search a resource delta
>>>>>
>>>>> The https://github.com/tesla/m2eclipse-mavenarchiver/pull/2 PR fixes the
>>>>> issue by calling the writePom method only if pom.xml is changed or if
>>>>> there isn't pom.xml in the output folder.
>>>>>
>>>>> I have created the PR against the
>>>>> https://github.com/tesla/m2eclipse-mavenarchiver repository. Not sure if
>>>>> it is a valid repository for the m2eclipse-mavenarchiver plugin.
>>>>>
>>>>> Snjeza
>>>>>
>>>>> ---
>>>>> This email is free from viruses and malware because avast! Antivirus
>>>>> protection is active.
>>>>> http://www.avast.com
>>>>>
>>>>> _______________________________________________
>>>>> jbosstools-dev mailing list
>>>>> jbosstools-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>>> _______________________________________________
>>> jbosstools-dev mailing list
>>> jbosstools-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>> _______________________________________________
>> jbosstools-dev mailing list
>> jbosstools-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev



More information about the jbosstools-dev mailing list