Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Hudson Plug-in: Archiving and publishing an imported target?
Hudson Plug-in: Archiving and publishing an imported target? [message #508673] Tue, 19 January 2010 19:20 Go to next message
Ralf Ebert is currently offline Ralf EbertFriend
Messages: 72
Registered: July 2009
Member
Hi,

is there a way to 'save' a target platform that has been imported using the
'importtargetdefinition' command using the 'Archive and publish an Eclipse
Target Platform' option of the Hudson Buckminster plug-in? I'd like to re-use a
target as imported 'offline' from other jobs without loading the target content
again and again.

(See http://www.ralfebert.de/blog/eclipsercp/rcp_builds/ for a tutorial how to
set-up the target platform in a way where the target is fetched from a .target
definition as part of every build)

Greetings,

Ralf

--
http://www.ralfebert.de/blog/eclipsercp/
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #508758 is a reply to message #508673] Wed, 20 January 2010 03:42 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Ralf,
First of all, thanks for a great blog about Buckminster RCP builds. Very helpful indeed.

On 01/19/2010 08:20 PM, Ralf Ebert wrote:
> Hi,
>
> is there a way to 'save' a target platform that has been imported using
> the 'importtargetdefinition' command using the 'Archive and publish an
> Eclipse Target Platform' option of the Hudson Buckminster plug-in? I'd
> like to re-use a target as imported 'offline' from other jobs without
> loading the target content again and again.
>
We have no general way of preserving the TP but there are some options for 'offline' usage:

1. Mirror the repositories that the target definition uses as source so that you have a local copy of everything.
Mirroring can be done using standard p2 mirroring tools or, if you want something more elaborate, the Buckminster
Aggregator.
2. Use a fixed set of .targets and have them point to well known, already provisioned, locations, thereby avoiding
having to copy everything at everytime.
3. Don't use .targets. Instead, just use the 'setTargetPlatformPath' preference and have it point to an already
provisioned location (this is essentially the same as #2 in that it creates a TP definition with one directory entry on
the fly).

> (See http://www.ralfebert.de/blog/eclipsercp/rcp_builds/ for a tutorial
> how to set-up the target platform in a way where the target is fetched
> from a .target definition as part of every build)
>
Again, thanks for this blog entry.

Regards,
Thomas Hallgren
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #508807 is a reply to message #508673] Wed, 20 January 2010 07:18 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
Ralf Ebert schrieb:
> Hi,
>
> is there a way to 'save' a target platform that has been imported using
> the 'importtargetdefinition' command using the 'Archive and publish an
> Eclipse Target Platform' option of the Hudson Buckminster plug-in? I'd
> like to re-use a target as imported 'offline' from other jobs without
> loading the target content again and again.
>

I have not tried this before, but you might be able to use
..metadata/.plugins/org.eclipse.pde.core/.bundle_pool
as the path for the publisher. That should fetch all bundles pde
resolved when you activated the .target.
Please let me know if that works for you.

I was already thinking how to make this easier, but didn't work out the
details yet.
What I could think of is a special target platform job that only needs a
..target file to automatically fetch the bundles and export them with the
target platform publisher. If the .bundle_pool approach works, this
should be fairly easy to implement, that's why I'd be interested in the
outcome.


Best regards,
Johannes
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #508811 is a reply to message #508807] Wed, 20 January 2010 12:44 Go to previous messageGo to next message
Ralf Ebert is currently offline Ralf EbertFriend
Messages: 72
Registered: July 2009
Member
Hi Johannes,

> I have not tried this before, but you might be able to use
> .metadata/.plugins/org.eclipse.pde.core/.bundle_pool
> as the path for the publisher. That should fetch all bundles pde
> resolved when you activated the .target.
> Please let me know if that works for you.

thanks! Archiving '.metadata/.plugins/org.eclipse.pde.core/.bundle_pool' as
target platform does the trick.

Greetings,

Ralf


--
http://www.ralfebert.de/blog/eclipsercp/
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #508819 is a reply to message #508811] Wed, 20 January 2010 13:20 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
>
> thanks! Archiving '.metadata/.plugins/org.eclipse.pde.core/.bundle_pool'
> as target platform does the trick.
>

That's great.
Now I'm wondering how this could be made easier for the user.
A new job type where you simply enter a path to a target file and that
results automatically in exporting the contents of the bundle_pool?
Another option I could think of is integrating that into the existing
configuration. A checkbox like 'export bundle pool as target platform'.
I'm just not so sure if this makes it clear enough that this option
should be used together with a .target file and that the user needs to
invoke importtargetdefinition.
I'm also not quite sure if there are cases where PDE does not mirrow all
bundles into bundle_pool, for example when some are resolved against a
local eclipse installation, or so.

Anyway, I'm glad it works for you and I'm open for suggestions on how to
improve the user experience for target platform handling.

Best regards,
Johannes
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #508827 is a reply to message #508819] Wed, 20 January 2010 13:41 Go to previous messageGo to next message
Ralf Ebert is currently offline Ralf EbertFriend
Messages: 72
Registered: July 2009
Member
> Anyway, I'm glad it works for you and I'm open for suggestions on how to
> improve the user experience for target platform handling.

Personally, I'd prefer to tell the 'importtargetdefinition' command to save the
provisioned target platform in some folder that can be archived then. That way,
we don't rely on the internal PDE folder structure that might change.

--
http://www.ralfebert.de/blog/eclipsercp/
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #508843 is a reply to message #508827] Wed, 20 January 2010 14:04 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
> Personally, I'd prefer to tell the 'importtargetdefinition' command to
> save the provisioned target platform in some folder that can be archived
> then. That way, we don't rely on the internal PDE folder structure that
> might change.
>

I definetly like that idea. Easy enough to explain that in the
documentation without any additional job configuration options or custom
jobs. Unfortunately I don't know how much effort that would require on
Buckminster/PDE/P2 side.
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #514923 is a reply to message #508843] Wed, 17 February 2010 08:46 Go to previous messageGo to next message
Geejay is currently offline GeejayFriend
Messages: 160
Registered: February 2010
Senior Member
How do you re-use the archived target platform once it has been archived?

Do you just unzip it back into the workspace at the start of the job? Or does Hudson do that for you?
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #517259 is a reply to message #508843] Fri, 26 February 2010 17:14 Go to previous messageGo to next message
Ralf Ebert is currently offline Ralf EbertFriend
Messages: 72
Registered: July 2009
Member
On 2010-01-20 15:04:36 +0100, Johannes Utzig said:

> I definetly like that idea. Easy enough to explain that in the
> documentation without any additional job configuration options or
> custom jobs. Unfortunately I don't know how much effort that would
> require on Buckminster/PDE/P2 side.

I just created a bug for this:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=304062

Greetings,

Ralf

--
http://www.ralfebert.de/blog/
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #519569 is a reply to message #508673] Tue, 09 March 2010 10:57 Go to previous messageGo to next message
Flavio Donze is currently offline Flavio DonzeFriend
Messages: 211
Registered: July 2009
Location: Switzerland
Senior Member
Hello

I'm having some trouble with my target-platform and hudson.

I used your tutorial as base for my installation. Added my own plug-ins and my own target definition. Everything works fine in Eclipse, product is build.

The target definition consists of two update sites
http://download.eclipse.org/releases/helios
http://download.eclipse.org/tools/ajdt/35/dev/update
and of a local directory containing a lot of springsource bundles.

After having a lot of other troubles I reduced my free-style job to do just the following:
checkout source from SVN
and do
importtargetdefinition -A '${WORKSPACE}scodi-rcp/features/ch.scodi.client.site/rcp.tar get'

Now my job succeeds. According to https://bugs.eclipse.org/bugs/show_bug.cgi?id=304062
there should by now be a .bundle_pool in my jobs workspace.
Well there isn't Sad even though my rcp.target is found.

Am I looking at the wrong location (not job workspace?) or do I need to get the target as described in http://wiki.hudson-ci.org/display/HUDSON/Buckminster+PlugIn using mspec?

Here my targetdefinition, could the local directory be a problem?
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.5"?>

<target name="Softmodeler Target Definition">
<locations>
<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
<unit id="org.eclipse.equinox.weaving.sdk.feature.group" version="1.0.0.v20090817"/>
<repository location="http://download.eclipse.org/tools/ajdt/35/dev/update"/>
</location>
<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
<unit id="org.eclipse.platform.sdk" version="3.6.0.I20100129-1300"/>
<unit id="org.eclipse.sdk.ide" version="3.6.0.I20100129-1300"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="2.6.0.v201002011637"/>
<unit id="org.eclipse.emf.teneo.sdk.feature.group" version="1.1.2.v200912161141-42588FCKLMgYYMKVdR4bXo_E_SEF"/>
<unit id="org.eclipse.equinox.sdk.feature.group" version="3.6.0.v20090923-7G7R-7llqgB1q94p2Nz-CkROWgya"/>
<unit id="org.eclipse.emf.mwe.sdk.feature.group" version="0.8.0.v201002020404"/>
<unit id="org.eclipse.mylyn.sdk_feature.feature.group" version="3.4.0.I20100204-0200-e3x"/>
<unit id="org.eclipse.mylyn_feature.feature.group" version="3.4.0.I20100204-0200-e3x"/>
<unit id="org.eclipse.riena.build.feature.core.sdk.feature.group" version="2.0.0.v20100201_2_0_0_M5"/>
<unit id="org.eclipse.xpand.sdk.feature.group" version="0.8.0.v201002020445"/>
<unit id="org.eclipse.xtext.sdk.feature.group" version="0.8.0.v201002020755"/>
<repository location="http://download.eclipse.org/releases/helios"/>
</location>
<location path="D:\dev\software\bundlepool" type="Directory"/>
</locations>
</target>


and here my hudson output:
Gestartet durch Benutzer anonymous
Updating svn://91.135.66.87/projects/softmodeler/trunk
At revision 3420
Updating svn://91.135.66.87/projects/scodi-server/trunk
At revision 3420
Updating svn://91.135.66.87/projects/scodi-rcp/trunk
At revision 3420
no change for svn://91.135.66.87/projects/softmodeler/trunk since the previous build
no change for svn://91.135.66.87/projects/scodi-server/trunk since the previous build
no change for svn://91.135.66.87/projects/scodi-rcp/trunk since the previous build
Commandline:
java -Dbuckminster.output.root=/C:/Dokumente und Einstellungen/fdo/.hudson/jobs/product.zip/workspace//buckmi nster.output -Dbuckminster.temp.root=/C:/Dokumente und Einstellungen/fdo/.hudson/jobs/product.zip/workspace//buckmi nster.temp -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715. jar -application org.eclipse.buckminster.cmdline.headless -data /C:/Dokumente und Einstellungen/fdo/.hudson/jobs/product.zip/workspace/ --loglevel info -S C:\Dokumente und Einstellungen\fdo\.hudson\jobs\product.zip\builds\2010-03-09 _11-42-24/commands.txt INFO: importtargetdefinition '-A' '/C:/Dokumente und Einstellungen/fdo/.hudson/jobs/product.zip/workspace/scodi-r cp/features/ch.scodi.client.site/rcp.target'
Finished: SUCCESS

Any idea? did I miss a configuration?
greets and thanks for any help!!!
flavio


Prozessmanagement und Qualitätsmanagement Software QMS/IMS
https://www.scodi.ch
Re: Hudson Plug-in: Archiving and publishing an imported target? [message #520961 is a reply to message #508673] Mon, 15 March 2010 23:45 Go to previous message
Flavio Donze is currently offline Flavio DonzeFriend
Messages: 211
Registered: July 2009
Location: Switzerland
Senior Member
I don't exactly know what I did but now my target definition works...

deleted previous configuration (.hudson home directory), installed new Hudson release : 1.350.

configured new free style job:
use SVN to checkout feature ch.scodi.client.site

Run Buckminster
importtargetdefinition -A '${WORKSPACE}ch.scodi.client.site/rcp.target'

Post Build Action
x Archive and publish an Eclipse Target Platform
Pfad zur Target Platform:.metadata/.plugins/org.eclipse.pde.core/.bundle_poo l

just in case someone encounters the same issue.


Prozessmanagement und Qualitätsmanagement Software QMS/IMS
https://www.scodi.ch
Previous Topic:Generate components during materialization
Next Topic:"Cannot satisfy dependency" of target platform
Goto Forum:
  


Current Time: Fri Apr 19 05:29:32 GMT 2024

Powered by FUDForum. Page generated in 0.02184 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top