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

Alexey Kazakov akazakov at exadel.com
Mon Jan 6 19:16:35 EST 2014


I got even worse situation when trying to reproduce JBT slowness for the 
wildfly projects ( https://issues.jboss.org/browse/JBIDE-16286).
I used Andre's workspase with wildfly, jboss-metadata and undertow 
projects imported in the workspace and got an infinite loop of builds .
Maven build changes pom.xml (see AbstractMavenArchiverConfigurator 
<https://github.com/tesla/m2eclipse-mavenarchiver/blob/master/org.sonatype.m2e.mavenarchiver/src/org/sonatype/m2e/mavenarchiver/internal/AbstractMavenArchiverConfigurator.java#L136> 
) and Eclipse interrupts the building process and starts it again. Maven 
build is invoked and changes pom.xml. Eclipse interrupts the building 
process and so on.
I just ran JBT with Andre's workspace. I didn't have any chance to 
change any pom.xml.


On 01/06/2014 12:14 PM, Snjezana Peco wrote:
> 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
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20140106/31e3225e/attachment-0001.html 


More information about the jbosstools-dev mailing list