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

Max Rydahl Andersen manderse at redhat.com
Tue Jan 7 01:14:25 EST 2014


How can I or Snjezana get a hold of this "evil" workspace ? :)

On 7 Jan 2014, at 1:16, Alexey Kazakov wrote:

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