[jbosstools-dev] Help wanted: Can't build tests component

Denis Golovin dgolovin at exadel.com
Fri Apr 27 17:56:43 EDT 2012


found and fixed the reason why it happens. Problem is in how maven 
activate profiles. It turned out activate by default works only if there 
is no file exists activation condition.
For components where requirements build is required for tests build 
without -Pdefault failed, because default profile didn't get activated.

fixed profile activation by moving requirements build to build/plugins 
section and it just check for requirements.properties to build in every 
module in reactor. Well, it is not very efficient but:
- it adds a little for every module build, because it exits right away 
if there is no requirements.properties file in module
- it is good when build works by default without needed to remember 
adding -Pdefault into maven command

so now whole JBT trunk can be build without test execution as

mvn clean install -DskipTests

or if you brave enough and want it with tests

mvn clean install -fae

then you can work with your component and build it like I tested it for as

to just build it without tests

cd as
mvn clean install -DskipTests

to build and test

cd as
mvn clean install -fae

Denis

On 04/27/2012 09:39 AM, Victor Rubezhny wrote:
> Thanks, Nick!
>
> On 04/27/2012 07:53 PM, Nick Boldt wrote:
>> Relevant part of the log (which you can get w/o the -e or -X flags,
>> generally) is this:
>>
>> [INFO] Resolving dependencies of MavenProject:
>> org.jboss.tools.as.tests:org.jboss.ide.eclipse.as.test:2.3.0-SNAPSHOT
>> @
>> /home/jeremy/projects/jbosstools-src/as/tests/org.jboss.ide.eclipse.as.test/pom.xml
>> [INFO]
>> {org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,
>> osgi.ws=cocoa, osgi.os=macosx, osgi.arch=x86,
>> org.eclipse.update.install.features=true,
>> org.osgi.framework.system.packages=}
>> [ERROR]   Software being installed: org.jboss.ide.eclipse.as.test
>> 2.3.0.qualifier
>> [ERROR]   Missing requirement: org.jboss.ide.eclipse.as.core
>> 2.3.0.qualifier requires 'bundle org.eclipse.core.runtime 3.7.0' but
>> it could not be found
>> [ERROR]   Cannot satisfy dependency: org.jboss.ide.eclipse.as.test
>> 2.3.0.qualifier depends on: bundle org.jboss.ide.eclipse.as.core 0.0.0
>>
>> So, there's something seriously wrong here. The 'tests' component
>> should not depend on 'as'; it's the other way around.
>>
>> What's happening is that you're running a profile that doesn't exist.
>> There is no "tests-bootstrap" because tests has no upstream. Try this:
>>
>> mvn clean install -fae -e -Pdefault,tests -f build/pom.xml
>> -Dmaven.repo.local=.repository -Dmaven.test.skip | tee tests.build.log2
>>
>> or simpler:
>>
>> cd tests; mvn clean install -fae -Pdefault
>> -Dmaven.repo.local=../.repository -Dmaven.test.skip | tee
>> tests.build.log2
>>
>> Cheers,
>>
>> Nick
>>
>> On 04/27/2012 06:31 AM, Victor Rubezhny wrote:
>>> Thanks, Nick!
>>>
>>> I'm already using '-Dmaven.test.skip' option, but specifying MAVEN_OPTS
>>> helped the builder to go further.
>>>
>>> However, when I cleaned my local repository and tried to build using
>>> MAVEN_OPTS I faced another build error: now it can't satisfy almost all
>>> the dependencies to eclipse plug-ins. Cannot find what's the problem...
>>> may be you'll be more lucky than me (See the log attached)
>>>
>>> The commands I've used to build tests-bootstrap is:
>>>
>>> cd<jbosstools-src folder>/
>>> rm -fr .repository
>>> mvn clean install -fae -e -Pdefault,tests-bootstrap -f build/pom.xml
>>> -Dmaven.repo.local=.repository -Dmaven.test.skip | tee tests.build.log
>>>
>>> (So, my local repo was cleared before build and as such all the
>>> dependencies were to be downloaded again)
>>>
>>> Yet another question is: Do we really need 'tests' component to depend
>>> on all the other JBoss Tools components (as it does, at least is seems
>>> for me because I see too many org.jboss.* plug-ins mentioned in the
>>> build-log)?
>>>
>>> Thanks in advance,
>>> Victor
>>>
>>> On 04/27/2012 08:34 AM, Nick Boldt wrote:
>>>> Try building w/o running the tests:
>>>>
>>>> `mvn install -Dmaven.test.skip`
>>>>
>>>> Or, allocate more memory to maven processes by adding something like
>>>> this to your /opt/apache-maven-3.0.4/bin/mvn (or wherever you have mvn
>>>> installed) script:
>>>>
>>>> set MAVEN_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128m
>>>> -XX:MaxPermSize=256m
>>>>
>>>> then run as above.
>>>>
>>>> If that helps, consider adding a section on memory/performance tuning
>>>> this to the wiki:
>>>>
>>>> https://community.jboss.org/wiki/HowtoBuildJBossToolswithMaven3
>>>>
>>>> Thanks!
>>>>
>>>> On 04/26/2012 08:33 PM, Victor Rubezhny wrote:
>>>>> Hi, ALL!
>>>>>
>>>>> Probably this question is actually for Nick or Denis but...
>>>>>
>>>>> Trying to build tests component by tycho build but constantly getting
>>>>> the following error as result (See the output below).
>>>>>
>>>>> The question is: do I need to buy a newer PC (or at least install more
>>>>> memory)? :o)
>>>>>
>>>>> Any hints appreciated.
>>>>> Best Regards,
>>>>> Victor
>>>>>
>>>>> === Cut ===
>>>>> [ERROR] GC overhead limit exceeded ->  [Help 1]
>>>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>>>> at java.util.Arrays.copyOfRange(Arrays.java:3209)
>>>>> at java.lang.String.<init>(String.java:215)
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.xni.XMLString.toString(XMLString.java:185)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.util.XMLAttributesImpl.getValue(XMLAttributesImpl.java:537)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$AttributesProxy.getValue(AbstractSAXParser.java:2319)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.parseAttributes(XMLParser.java:314)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.parseRequiredAttributes(XMLParser.java:295)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.persistence.XMLParser$PropertyHandler.parseProperty(XMLParser.java:422)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.persistence.XMLParser$PropertyHandler.<init>(XMLParser.java:411)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.persistence.XMLParser$PropertiesHandler.startElement(XMLParser.java:396)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.startElement(XMLParser.java:165)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
>>>>>
>>>>>
>>>>> at
>>>>> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO$Parser.parse(MetadataRepositoryIO.java:209)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.read(MetadataRepositoryIO.java:63)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:107)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:749)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.tycho.p2.target.TargetPlatformBuilderImpl.addP2Repository(TargetPlatformBuilderImpl.java:259)
>>>>>
>>>>>
>>>>> [ERROR]
>>>>> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
>>>>> [ERROR]
>>>>> [ERROR] For more information about the errors and possible solutions,
>>>>> please read the following articles:
>>>>> [ERROR] [Help 1]
>>>>> http://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError
>>>>> j
>>>>> _______________________________________________
>>>>> 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