Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Buckminster build in hudson with precreated target platform
Buckminster build in hudson with precreated target platform [message #719391] Fri, 26 August 2011 17:49 Go to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Hi,

I managed to create a target platform with buckminster in hudson and I verified it by loading it into eclipse and by using it for my current PDE build based build.
That was a great experience thanks to the help in the forum here (Thanks Thomas).

Now I am trying to convert one of the builds from PDE build to a buckminster build.

I read the wiki page about building with buckminster on hudson
http://wiki.eclipse.org/Building_an_RCP_application_with_hudson_(Buckminster)#Creating_the_Build_Job
but it does not talk about how to create the cquery for my feature nor what modifications I may need to make to my feature.
I looked at the mailapp example at
https://github.com/eclipse/buckminster/tree/master/org.eclipse.buckminster.tutorial.mailapp.releng
for inspiration, but it's rmap uses real download locations and I want to use only the plugins from the previously created target platform and the sources for my application.

As hudson already checks out the sources when it does it's checking for modifications I assume I need a rmap with a local reader for the sources. Unfortunately the documentation about the local reader is a bit sparse.

How do I configure a buckminster build in hudson where the sources for the application are already checked out in a directory structure like this


  • (hudson) workspace

    • xyz

      • features

        • ...

      • plugin

        • ...





Another question is how does buckminster use the target platform?

The book is a bit vague there. I know one can select a target platform in the buckminster hudson plugin, but I found no reference to the target platform in the rmap.
Obviously I want to use only the plugins from the target platform and the sources to build. Is my assumption that I only need to define the location of the sources in the rmap and that the plugins from the target platform will be found kind of automatically right? If not can someone please elaborate on that? Thanks!

Re: Buckminster build in hudson with precreated target platform [message #719471 is a reply to message #719391] Sat, 27 August 2011 07:18 Go to previous messageGo to next message
Philipp Nanz is currently offline Philipp Nanz
Messages: 46
Registered: February 2010
Member
Hi there, if you are building with Hudson or Jenkins you can let the Buckminster plugin take care of this for you.

Usually you have two jobs: One that creates the target platform (TP), and the other one that does the actual RCP build.

Then you can configure the Bucky plugin in the TP job to archive the target platform for you (see tp_job.png) and select this TP in the build job (see build_job.png).

Hope that helps.

-Phil
  • Attachment: tp_job.png
    (Size: 76.35KB, Downloaded 157 times)
  • Attachment: build_job.png
    (Size: 63.92KB, Downloaded 116 times)
Re: Buckminster build in hudson with precreated target platform [message #719474 is a reply to message #719391] Sat, 27 August 2011 07:30 Go to previous messageGo to next message
Philipp Nanz is currently offline Philipp Nanz
Messages: 46
Registered: February 2010
Member
Lothar Werzinger wrote on Fri, 26 August 2011 17:49

As hudson already checks out the sources when it does it's checking for modifications I assume I need a rmap with a local reader for the sources. Unfortunately the documentation about the local reader is a bit sparse.


That is correct. Something like this should work

    <searchPath name="resources">
        <provider readerType="local"
            componentTypes="osgi.bundle,buckminster"
            mutable="true" source="true">
            <uri format="file:///{0}/xyz/plugins/{1}/">
                <bc:propertyRef key="workspace.root" />
                <bc:propertyRef key="buckminster.component" />
            </uri>
        </provider>
        <provider readerType="local"
            componentTypes="eclipse.feature"
            mutable="true" source="true">
            <uri format="file:///{0}/xyz/features/{1}/">
                <bc:propertyRef key="workspace.root" />
                <bc:propertyRef key="buckminster.component" />
            </uri>
        </provider>
    </searchPath>


Lothar Werzinger wrote on Fri, 26 August 2011 17:49

Another question is how does buckminster use the target platform?

The book is a bit vague there. I know one can select a target platform in the buckminster hudson plugin, but I found no reference to the target platform in the rmap.
Obviously I want to use only the plugins from the target platform and the sources to build. Is my assumption that I only need to define the location of the sources in the rmap and that the plugins from the target platform will be found kind of automatically right? If not can someone please elaborate on that? Thanks!



Correct, you don't have to specify plugins from the TP in the rmap.
Re: Buckminster build in hudson with precreated target platform [message #719743 is a reply to message #719471] Sun, 28 August 2011 14:17 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Philipp Nanz wrote on Sat, 27 August 2011 04:18
Hi there, if you are building with Hudson or Jenkins you can let the Buckminster plugin take care of this for you.

Usually you have two jobs: One that creates the target platform (TP), and the other one that does the actual RCP build.

Then you can configure the Bucky plugin in the TP job to archive the target platform for you (see tp_job.png) and select this TP in the build job (see build_job.png).

Hope that helps.

-Phil


That's what I am doing. Configuring the RCP build however is the tricky part.
Re: Buckminster build in hudson with precreated target platform [message #719745 is a reply to message #719474] Sun, 28 August 2011 14:20 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Philipp Nanz wrote on Sat, 27 August 2011 04:30
Something like this should work

    <searchPath name="resources">
        <provider readerType="local"
            componentTypes="osgi.bundle,buckminster"
            mutable="true" source="true">
            <uri format="file:///{0}/xyz/plugins/{1}/">
                <bc:propertyRef key="workspace.root" />
                <bc:propertyRef key="buckminster.component" />
            </uri>
        </provider>
        <provider readerType="local"
            componentTypes="eclipse.feature"
            mutable="true" source="true">
            <uri format="file:///{0}/xyz/features/{1}/">
                <bc:propertyRef key="workspace.root" />
                <bc:propertyRef key="buckminster.component" />
            </uri>
        </provider>
    </searchPath>



Using your snippet gives me this error message in the build (after switching the log level to debug).

resolve '../mmt-tools.cquery'
Platform install location: /var/lib/hudson/tools/Buckminster_3.6/buckminster
Target platform provided by class org.eclipse.buckminster.pde.internal.PDETargetPlatform
biz.tradescape.mmt.tools.feature:eclipse.feature: Using resolver rmap
biz.tradescape.mmt.tools.feature:eclipse.feature: Using resolver Local resolver
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(materialized)
No materialization found for biz.tradescape.mmt.tools.feature:eclipse.feature
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(workspace)
No open workspace project found that corresponds to biz.tradescape.mmt.tools.feature:eclipse.feature
biz.tradescape.mmt.tools.feature:eclipse.feature: Rejecting provider local(target): Target platform disabled in query
biz.tradescape.mmt.tools.feature:eclipse.feature: Using resource map file:/var/lib/hudson/jobs/test/mmt-tools.rmap
biz.tradescape.mmt.tools.feature:eclipse.feature: Using search path local
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(file:///{0}/mmt/plugins/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/plugins/biz.tradescape.mmt.tools.feature/])
biz.tradescape.mmt.tools.feature:eclipse.feature: Rejecting provider local(file:///{0}/mmt/plugins/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/plugins/biz.tradescape.mmt.tools.feature/]): Components of type eclipse.feature are not supported
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(file:///{0}/mmt/features/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/features/biz.tradescape.mmt.tools.feature/])
biz.tradescape.mmt.tools.feature:eclipse.feature: Found match 
biz.tradescape.mmt.tools.feature:eclipse.feature: Using provider local(file:///{0}/mmt/features/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/features/biz.tradescape.mmt.tools.feature/])
ERROR   [0001] : java.lang.NullPointerException


This is how my rmap now look like:
<rm:rmap xmlns:rm="http://www.eclipse.org/buckminster/RMap-1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
  xmlns:mp="http://www.eclipse.org/buckminster/MavenProvider-1.0"
>
  <rm:searchPath name="local">
    <rm:provider readerType="local"
      componentTypes="osgi.bundle,buckminster"
      mutable="true" source="true">
      <rm:uri format="file:///{0}/mmt/plugins/{1}/">
	  <bc:propertyRef key="workspace.root" />
	  <bc:propertyRef key="buckminster.component" />
      </rm:uri>
    </rm:provider>
    <rm:provider readerType="local"
      componentTypes="eclipse.feature"
      mutable="true" source="true">
      <rm:uri format="file:///{0}/mmt/features/{1}/">
	  <bc:propertyRef key="workspace.root" />
	  <bc:propertyRef key="buckminster.component" />
      </rm:uri>
    </rm:provider>
  </rm:searchPath>

  <rm:locator searchPathRef="local" failOnError="true" />
</rm:rmap>

[Updated on: Sun, 28 August 2011 14:33]

Report message to a moderator

Re: Buckminster build in hudson with precreated target platform [message #719972 is a reply to message #719745] Mon, 29 August 2011 11:27 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Is there a way to diagnose what exactly causes the NullPointerException?
Switching the log to debug only added the lines that indicate that buckminster found the feature to build.
Re: Buckminster build in hudson with precreated target platform [message #720026 is a reply to message #719391] Mon, 29 August 2011 13:34 Go to previous messageGo to next message
Philipp Nanz is currently offline Philipp Nanz
Messages: 46
Registered: February 2010
Member
Hmmm, Nullpointer... Sounds like a bug... You can catch the Stacktrace using the --displayStackTrace option. For this to work, you have to fetch the bucky process call from the Job log, add the switch and then execute it from the command line.

Example call from my log file looks like this
java -Dbuckminster.output.root=D:\jenkins\jobs\LogSaw_Build-Git\workspace\bucky -Dbuckminster.temp.root=D:\jenkins\jobs\LogSaw_Build-Git\workspace\buckminster.temp -Dqualifier.replacement.*=generator:lastModified -Dgenerator.lastModified.format='v'yyyyMMddHHmm -jar D:\jenkins\tools\Buckminster-3.6\buckminster\plugins\org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -application org.eclipse.buckminster.cmdline.headless -data D:\jenkins\jobs\LogSaw_Build-Git\workspace --loglevel info -S D:\jenkins\jobs\LogSaw_Build-Git\workspace\commands.txt


Then you add --displayStackTrace before or after the --loglevel switch and run the resulting command from commandline.

Re: Buckminster build in hudson with precreated target platform [message #720036 is a reply to message #720026] Mon, 29 August 2011 13:55 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Philipp Nanz wrote on Mon, 29 August 2011 10:34
Hmmm, Nullpointer... Sounds like a bug... You can catch the Stacktrace using the --displayStackTrace option. For this to work, you have to fetch the bucky process call from the Job log, add the switch and then execute it from the command line.

Example call from my log file looks like this
java -Dbuckminster.output.root=D:\jenkins\jobs\LogSaw_Build-Git\workspace\bucky -Dbuckminster.temp.root=D:\jenkins\jobs\LogSaw_Build-Git\workspace\buckminster.temp -Dqualifier.replacement.*=generator:lastModified -Dgenerator.lastModified.format='v'yyyyMMddHHmm -jar D:\jenkins\tools\Buckminster-3.6\buckminster\plugins\org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -application org.eclipse.buckminster.cmdline.headless -data D:\jenkins\jobs\LogSaw_Build-Git\workspace --loglevel info -S D:\jenkins\jobs\LogSaw_Build-Git\workspace\commands.txt


Then you add --displayStackTrace before or after the --loglevel switch and run the resulting command from commandline.



I copied and modified the reported command line, but buckminster does not like the extra argument:

java -Dbuckminster.output.root=/var/lib/hudson/jobs/test/workspace/buckminster.output -Dbuckminster.temp.root=/var/lib/hudson/jobs/test/workspace/buckminster.temp -Xmx256m -jar /var/lib/hudson/tools/Buckminster_3.6/buckminster/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -application org.eclipse.buckminster.cmdline.headless -data /var/lib/hudson/jobs/test/workspace --displayStackTrace --loglevel debug -S /var/lib/hudson/jobs/test/workspace/commands.txt 
org.eclipse.buckminster.cmdline.parser.InvalidOptionException: The option '--displayStackTrace' is invalid


Re: Buckminster build in hudson with precreated target platform [message #720084 is a reply to message #720036] Mon, 29 August 2011 16:55 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
Try --displaystacktrace (all lowercase)

- thomas

On 2011-08-29 19:55, Lothar Werzinger wrote:
> Philipp Nanz wrote on Mon, 29 August 2011 10:34
>> Hmmm, Nullpointer... Sounds like a bug... You can catch the Stacktrace using the --displayStackTrace option. For this
>> to work, you have to fetch the bucky process call from the Job log, add the switch and then execute it from the
>> command line.
>>
>> Example call from my log file looks like this
>> java -Dbuckminster.output.root=D:\jenkins\jobs\LogSaw_Build-Git\workspace\bucky
>> -Dbuckminster.temp.root=D:\jenkins\jobs\LogSaw_Build-Git\workspace\buckminster.temp
>> -Dqualifier.replacement.*=generator:lastModified -Dgenerator.lastModified.format='v'yyyyMMddHHmm -jar
>> D:\jenkins\tools\Buckminster-3.6\buckminster\plugins\org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
>> -application org.eclipse.buckminster.cmdline.headless -data D:\jenkins\jobs\LogSaw_Build-Git\workspace --loglevel info
>> -S D:\jenkins\jobs\LogSaw_Build-Git\workspace\commands.txt
>>
>> Then you add --displayStackTrace before or after the --loglevel switch and run the resulting command from commandline.
>
>
> I copied and modified the reported command line, but buckminster does not like the extra argument:
>
>
> java -Dbuckminster.output.root=/var/lib/hudson/jobs/test/workspace/buckminster.output
> -Dbuckminster.temp.root=/var/lib/hudson/jobs/test/workspace/buckminster.temp -Xmx256m -jar
> /var/lib/hudson/tools/Buckminster_3.6/buckminster/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
> -application org.eclipse.buckminster.cmdline.headless -data /var/lib/hudson/jobs/test/workspace --displayStackTrace
> --loglevel debug -S /var/lib/hudson/jobs/test/workspace/commands.txt
> org.eclipse.buckminster.cmdline.parser.InvalidOptionException: The option '--displayStackTrace' is invalid
>
>
>
Re: Buckminster build in hudson with precreated target platform [message #720465 is a reply to message #720084] Tue, 30 August 2011 12:16 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Sorry it took me so long to get back, but I had some other target platform related problems I needed to address first.

No stack trace despite the new flag:

$ (cd /var/lib/hudson/jobs/test/workspace; java -Dbuckminster.output.root=/var/lib/hudson/jobs/test/workspace/buckminster.output -Dbuckminster.temp.root=/var/lib/hudson/jobs/test/workspace/buckminster.temp -Xmx256m -jar /var/lib/hudson/tools/Buckminster_3.6/buckminster/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -application org.eclipse.buckminster.cmdline.headless -data /var/lib/hudson/jobs/test/workspace --displaystacktrace --loglevel debug -S /var/lib/hudson/jobs/test/workspace/commands.txt)
setpref 'targetPlatformPath=/var/lib/hudson/jobs/test2/builds/2011-08-30_08-23-26/archive//targetPlatform'
Preference 'targetPlatformPath' set to the value '/var/lib/hudson/jobs/test2/builds/2011-08-30_08-23-26/archive//targetPlatform'
Doing full workspace refresh
Waiting for jobs to end
resolve '../mmt-tools.cquery'
Platform install location: /var/lib/hudson/tools/Buckminster_3.6/buckminster
Target platform provided by class org.eclipse.buckminster.pde.internal.PDETargetPlatform
biz.tradescape.mmt.tools.feature:eclipse.feature: Using resolver rmap
biz.tradescape.mmt.tools.feature:eclipse.feature: Using resolver Local resolver
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(materialized)
No materialization found for biz.tradescape.mmt.tools.feature:eclipse.feature
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(workspace)
No open workspace project found that corresponds to biz.tradescape.mmt.tools.feature:eclipse.feature
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(target)
biz.tradescape.mmt.tools.feature:eclipse.feature: Rejecting provider eclipse.platform(feature/biz.tradescape.mmt.tools.feature): No component match was found
biz.tradescape.mmt.tools.feature:eclipse.feature: Using resource map file:/var/lib/hudson/jobs/test/mmt-tools.rmap
biz.tradescape.mmt.tools.feature:eclipse.feature: Using search path local
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(file:///{0}/mmt/plugins/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/plugins/biz.tradescape.mmt.tools.feature/])
biz.tradescape.mmt.tools.feature:eclipse.feature: Rejecting provider local(file:///{0}/mmt/plugins/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/plugins/biz.tradescape.mmt.tools.feature/]): Components of type eclipse.feature are not supported
biz.tradescape.mmt.tools.feature:eclipse.feature: Trying provider local(file:///{0}/mmt/features/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/features/biz.tradescape.mmt.tools.feature/])
biz.tradescape.mmt.tools.feature:eclipse.feature: Found match 
biz.tradescape.mmt.tools.feature:eclipse.feature: Using provider local(file:///{0}/mmt/features/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/features/biz.tradescape.mmt.tools.feature/])
ERROR   [0001] : java.lang.NullPointerException
INFO:  TAG-ID 0001 = Query for biz.tradescape.mmt.tools.feature:eclipse.feature

Doing full workspace refresh
Waiting for jobs to end



I tried to recreate the feature
Re: Buckminster build in hudson with precreated target platform [message #720476 is a reply to message #720465] Tue, 30 August 2011 12:55 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
I tried to build another feature (using the site.p2 action)
Here's the commands.txt from the hudson job:
setpref targetPlatformPath="/var/lib/hudson/jobs/test2/builds/2011-08-30_08-23-26/archive//targetPlatform"
resolve ../mmt-tools.cquery
perform biz.tradescape.mmt.cdoserver.feature#site.p2


Now what puzzles me is that I get an error that org.apache.commons.logging.source is not found while executing the same action in the IDE (using the same target platform)
seems to work without problems.

hudson build:
INFO:  resolve '../mmt-tools.cquery'
ERROR   [0013] : No suitable provider for component org.apache.commons.logging.source:osgi.bundle/[1.1.1.v201101211721,1.1.1.v201101211721] was found in resourceMap file:/var/lib/hudson/jobs/test/mmt-tools.rmap
  ERROR   [0013] : No suitable provider for component org.apache.commons.logging.source:osgi.bundle/[1.1.1.v201101211721,1.1.1.v201101211721] was found in searchPath local
    ERROR   [0013] : Resolution attempt ended with exception: Provider local(file:////var/lib/hudson/jobs/test/workspace/mmt/plugins/org.apache.commons.logging.source/): Missing CSpec source required by component type osgi.bundle
      ERROR   Provider local(file:////var/lib/hudson/jobs/test/workspace/mmt/plugins/org.apache.commons.logging.source/): Missing CSpec source required by component type osgi.bundle
    ERROR   [0013] : Rejecting provider local(file:///{0}/mmt/features/{1}/[file:////var/lib/hudson/jobs/test/workspace/mmt/features/org.apache.commons.logging.source/]): Components of type osgi.bundle are not supported
INFO:  TAG-ID 0013 = Query for biz.tradescape.mmt.tools.feature:eclipse.feature, path: biz.tradescape.mmt.tools.feature:eclipse.feature$1.0.0.qualifier -> biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier -> org.eclipse.net4j:eclipse.feature$4.0.0.v20110608-1440

[DEBUG] Skipping watched dependency update for build: test #76 due to result: FAILURE
Finished: FAILURE


IDE build
[start org.eclipse.emf.cdo.server:eclipse.feature$4.0.0.v20110608-1639#feature.jar]
[end org.eclipse.emf.cdo.server:eclipse.feature$4.0.0.v20110608-1639#feature.jar]
[start org.eclipse.emf.cdo.server.db:eclipse.feature$4.0.0.v20110608-1054#feature.jar]
[end org.eclipse.emf.cdo.server.db:eclipse.feature$4.0.0.v20110608-1054#feature.jar]
[start org.eclipse.net4j:eclipse.feature$4.0.0.v20110608-1440#feature.jar]
[end org.eclipse.net4j:eclipse.feature$4.0.0.v20110608-1440#feature.jar]
[start org.eclipse.net4j.db:eclipse.feature$4.0.0.v20110608-1440#feature.jar]
[end org.eclipse.net4j.db:eclipse.feature$4.0.0.v20110608-1440#feature.jar]
[start org.eclipse.net4j.db.derby:eclipse.feature$4.0.0.v20110607-1031#feature.jar]
[end org.eclipse.net4j.db.derby:eclipse.feature$4.0.0.v20110607-1031#feature.jar]
[start org.eclipse.net4j.db.h2:eclipse.feature$4.0.0.v20110607-1031#feature.jar]
[end org.eclipse.net4j.db.h2:eclipse.feature$4.0.0.v20110607-1031#feature.jar]
[start biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#copy.subfeatures]
[end biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#copy.subfeatures]
[start biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#eclipse.build]
[end biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#eclipse.build]
[start biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#bundle.jar]
[end biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#bundle.jar]
[start biz.tradescape.decimal:osgi.bundle$4.0.0.qualifier#eclipse.build]
[end biz.tradescape.decimal:osgi.bundle$4.0.0.qualifier#eclipse.build]
[start biz.tradescape.common:osgi.bundle$4.0.0.qualifier#eclipse.build]
[end biz.tradescape.common:osgi.bundle$4.0.0.qualifier#eclipse.build]
[start biz.tradescape.jacorb:osgi.bundle$4.0.0.qualifier#eclipse.build]
[end biz.tradescape.jacorb:osgi.bundle$4.0.0.qualifier#eclipse.build]
[start biz.tradescape.json:osgi.bundle$4.0.0.qualifier#eclipse.build]
[end biz.tradescape.json:osgi.bundle$4.0.0.qualifier#eclipse.build]
[start biz.tradescape.api.corba:osgi.bundle$4.0.0.qualifier#eclipse.build]
[end biz.tradescape.api.corba:osgi.bundle$4.0.0.qualifier#eclipse.build]
[start biz.tradescape.mmt:osgi.bundle$1.0.0.qualifier#eclipse.build]
[end biz.tradescape.mmt:osgi.bundle$1.0.0.qualifier#eclipse.build]
[start biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#eclipse.build]
[end biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#eclipse.build]
[start biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#bundle.jar]
[end biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#bundle.jar]
[start biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#eclipse.build]
[end biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#eclipse.build]
[start biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#manifest]
[end biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#manifest]
[start biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#bundle.jar]
[end biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#bundle.jar]
[start biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#source.manifest]
[end biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#source.manifest]
[start biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#source.bundle.jar]
[end biz.tradescape.mmt.model.administration:osgi.bundle$4.0.0#source.bundle.jar]
[start biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#source.manifest]
[end biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#source.manifest]
[start biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#source.bundle.jar]
[end biz.tradescape.mmt.model.marketplace:osgi.bundle$1.0.0#source.bundle.jar]
[start biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#source.manifest]
[end biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#source.manifest]
[start biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#source.bundle.jar]
[end biz.tradescape.mmt.cdo.query:osgi.bundle$1.0.0.qualifier#source.bundle.jar]
[start biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#copy.plugins]
[end biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#copy.plugins]
[start biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#manifest]
[end biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#manifest]
[start biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#site.p2]
[end biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier#site.p2]


Any pointers as to what I am doing wrong are highly appreciated.

Edit:
I checked the used target platform and it does indeed not contain the sought org.apache.commons.logging.source:osgi.bundle/[1.1.1.v201101211721,1.1.1.v201101211721] bundle.
Not sure why the IDE does and where it comes from, though.

$ find /var/lib/hudson/jobs/test2/builds/2011-08-30_08-23-26/archive//targetPlatform -name "*logging.source*"
/var/lib/hudson/jobs/test2/builds/2011-08-30_08-23-26/archive//targetPlatform/plugins/org.apache.commons.logging.source_1.0.4.v201101211617.jar


Edit2:
Looks like Buckminster does not honor if one changes the target platform in the IDE (selecting "Set as Target Platform" on a target definition file). After a full restart of Eclipse buckmnster picked up the matching target platform and now the IDE builds fail, too. So now it's at least matching behavior.

Now I just need to figure out why my previous buckminster build for the target platform did not include the logging source although I use
    <cq:property key="buckminster.download.source" value="true"/>
    <cq:property key="buckminster.convert.source" value="true"/>

in my cquery (created new thread for that problem).

P.S.
Can I ask buckminster to only build the binary plugins and ignore the source ones?

[Updated on: Tue, 30 August 2011 18:14]

Report message to a moderator

Re: Buckminster build in hudson with precreated target platform [message #721460 is a reply to message #720476] Thu, 01 September 2011 16:05 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
I tried to set the property cbi.include.source to false as described in the buckminster book, but the build still looks for the unavailable org.apache.commons.logging.source bundle.

The property get's passed (see the -Dcbi.include.source=false in the call):
[workspace] $ java -Dbuckminster.output.root=/var/lib/hudson/jobs/test_build/workspace/buckminster.output -Dbuckminster.temp.root=/var/lib/hudson/jobs/test_build/workspace/buckminster.temp -Xmx256m -Dcbi.include.source=false -jar /var/lib/hudson/tools/Buckminster_3.6/buckminster/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -application org.eclipse.buckminster.cmdline.headless -data /var/lib/hudson/jobs/test_build/workspace --loglevel info -S /var/lib/hudson/jobs/test_build/workspace/commands.txt
INFO:  setpref 'targetPlatformPath=/var/lib/hudson/jobs/test_tp/builds/2011-09-01_12-38-00/archive//targetPlatform'


Any ideas how to proceed?
My hudson jobs for both the target platform and the (failing) build can be downloaded from the other thread.
The zip does however not have the -Dcbi.include.source=false modification in it (it's from yesterday). It's easy to add though.

Full log:
Started by upstream project "test_tp" build number 9
Cleaning the workspace because project is configured to clean the workspace before each build.
[workspace] $ /bin/sh -xe /tmp/hudson1808115762904249660.sh
+ rm -rf /var/lib/hudson/jobs/test_build/workspace/.metadata/
+ rm -rf /var/lib/hudson/jobs/test_build/workspace/mmt/
+ mkdir -p mmt/plugins mmt/features
+ rsync --delete -rv ../biz.tradescape.mmt.cdoserver.feature/ /var/lib/hudson/jobs/test_build/workspace/mmt/features/biz.tradescape.mmt.cdoserver.feature/
sending incremental file list
created directory /var/lib/hudson/jobs/test_build/workspace/mmt/features/biz.tradescape.mmt.cdoserver.feature
./
.project
build.properties
feature.xml

sent 1897 bytes  received 72 bytes  3938.00 bytes/sec
total size is 1687  speedup is 0.86
[workspace] $ java -Dbuckminster.output.root=/var/lib/hudson/jobs/test_build/workspace/buckminster.output -Dbuckminster.temp.root=/var/lib/hudson/jobs/test_build/workspace/buckminster.temp -Xmx256m -Dcbi.include.source=false -jar /var/lib/hudson/tools/Buckminster_3.6/buckminster/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -application org.eclipse.buckminster.cmdline.headless -data /var/lib/hudson/jobs/test_build/workspace --loglevel info -S /var/lib/hudson/jobs/test_build/workspace/commands.txt
INFO:  setpref 'targetPlatformPath=/var/lib/hudson/jobs/test_tp/builds/2011-09-01_12-38-00/archive//targetPlatform'
INFO:  resolve '../mmt-tools.cquery'
ERROR   [0006] : No suitable provider for component org.apache.commons.logging.source:osgi.bundle/[1.1.1.v201101211721,1.1.1.v201101211721] was found in resourceMap file:/var/lib/hudson/jobs/test_build/mmt-tools.rmap
  ERROR   [0006] : No suitable provider for component org.apache.commons.logging.source:osgi.bundle/[1.1.1.v201101211721,1.1.1.v201101211721] was found in searchPath local
    ERROR   [0006] : Resolution attempt ended with exception: Provider local(file:////var/lib/hudson/jobs/test_build/workspace/mmt/plugins/org.apache.commons.logging.source/): Missing CSpec source required by component type osgi.bundle
      ERROR   Provider local(file:////var/lib/hudson/jobs/test_build/workspace/mmt/plugins/org.apache.commons.logging.source/): Missing CSpec source required by component type osgi.bundle
    ERROR   [0006] : Rejecting provider local(file:///{0}/mmt/features/{1}/[file:////var/lib/hudson/jobs/test_build/workspace/mmt/features/org.apache.commons.logging.source/]): Components of type osgi.bundle are not supported
INFO:  TAG-ID 0006 = Query for biz.tradescape.mmt.cdoserver.feature:eclipse.feature, path: biz.tradescape.mmt.cdoserver.feature:eclipse.feature$1.0.0.qualifier -> org.eclipse.net4j:eclipse.feature$4.0.0.v20110608-1440

[DEBUG] Skipping watched dependency update for build: test_build #11 due to result: FAILURE
Finished: FAILURE
Re: Buckminster build in hudson with precreated target platform [message #722687 is a reply to message #721460] Tue, 06 September 2011 10:16 Go to previous messageGo to next message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Is there a way to tell buckminster not to fail for source plugins on the resolve of the build? That way I at least would have a workaround until the issue with the missing source plugin can be researched.
Re: Buckminster build in hudson with precreated target platform [message #722730 is a reply to message #722687] Tue, 06 September 2011 11:07 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
On 2011-09-06 16:16, Lothar Werzinger wrote:
> Is there a way to tell buckminster not to fail for source plugins on the resolve of the build? That way I at least would
> have a workaround until the issue with the missing source plugin can be researched.
>
Add an advice node for pattern \.source$ and check "Skip Component". Make sure it's the first advice.

Regards,
Thomas Hallgren
Re: Buckminster build in hudson with precreated target platform [message #722760 is a reply to message #722730] Tue, 06 September 2011 12:21 Go to previous message
Lothar Werzinger is currently offline Lothar Werzinger
Messages: 153
Registered: July 2009
Location: Bay Area
Senior Member
Thomas Hallgren wrote on Tue, 06 September 2011 08:07
On 2011-09-06 16:16, Lothar Werzinger wrote:
> Is there a way to tell buckminster not to fail for source plugins on the resolve of the build? That way I at least would
> have a workaround until the issue with the missing source plugin can be researched.
>
Add an advice node for pattern \.source$ and check "Skip Component". Make sure it's the first advice.

Regards,
Thomas Hallgren


Great, that at least let's me work on my builds without having to wait until the missing source mystery is solved.

Thanks!
Previous Topic:Re: Buckminster build in hudson with precreated target platform
Next Topic:(no subject)
Goto Forum:
  


Current Time: Wed Aug 27 23:27:22 EDT 2014

Powered by FUDForum. Page generated in 0.07421 seconds