Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Buckminster and Jenkins
Buckminster and Jenkins [message #755804] Wed, 09 November 2011 16:09 Go to next message
Jesper Eskilson is currently offline Jesper EskilsonFriend
Messages: 131
Registered: July 2009
Senior Member
Hi,

I'm trying to cleanup our Jenkins-job which runs Buckminster from being
a messy ant-script to be a nice thing which is nothing more than a
single action to invoke on a specific Eclipse feature. I would like to
be able to run a complete build job by simply right-clicking on the
top-level feature and selecting "Invoke Action...".

At the moment we build the site by invoking a number of actions defined
in a scriptfile, something like this:

resolve feature.cquery
build
perform feature#generate.index
perform feature#some.more.action
perform feature#site.p2

Is there a way to define an action in the feature which does all of
these things? I have my a couple of custom actions in the feature's
buckminster.cspex, but I can't figure out how to invoke other actions.

--
/Jesper
Re: Buckminster and Jenkins [message #755834 is a reply to message #755804] Wed, 09 November 2011 18:33 Go to previous messageGo to next message
Dennis Huebner is currently offline Dennis HuebnerFriend
Messages: 221
Registered: July 2009
Senior Member

Hi Jesper,
you can call dependent actions by adding
cs:prerequisites to your action declaration something like:

<cs:public name="doStuff" actor="ant">
....
<cs:prerequisites>
<cs:attribute name="generate.index" alias="index" />
<cs:attribute name="some.more.action" alias="myaction" />
<cs:attribute name="site.p2" alias="repository"/>
<cs:prerequisites>
....

Regards,
Dennis.


Am 09.11.11 17:09, schrieb Jesper Eskilson:
> Hi,
>
> I'm trying to cleanup our Jenkins-job which runs Buckminster from being
> a messy ant-script to be a nice thing which is nothing more than a
> single action to invoke on a specific Eclipse feature. I would like to
> be able to run a complete build job by simply right-clicking on the
> top-level feature and selecting "Invoke Action...".
>
> At the moment we build the site by invoking a number of actions defined
> in a scriptfile, something like this:
>
> resolve feature.cquery
> build
> perform feature#generate.index
> perform feature#some.more.action
> perform feature#site.p2
>
> Is there a way to define an action in the feature which does all of
> these things? I have my a couple of custom actions in the feature's
> buckminster.cspex, but I can't figure out how to invoke other actions.
>
> --
> /Jesper


Re: Buckminster and Jenkins [message #755835 is a reply to message #755804] Wed, 09 November 2011 18:37 Go to previous messageGo to next message
Philipp Nanz is currently offline Philipp NanzFriend
Messages: 46
Registered: February 2010
Member
Edit: Dennis was faster Smile

I think you can do this using the prerequisites element.

example:
		<public name="create.product" actor="ant">
			<actorProperties>
				..
			</actorProperties>
			<properties>
				..
			</properties>
			<prerequisites alias="repository">
				<attribute name="site.p2" />
			</prerequisites>
			<products alias="destination" base="${buckminster.output}">
				..
			</products>
		</public>


I'm not sure whether the alias is required though.

HTH

[Updated on: Wed, 09 November 2011 18:45]

Report message to a moderator

Re: Buckminster and Jenkins [message #755908 is a reply to message #755804] Thu, 10 November 2011 07:01 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3229
Registered: July 2009
Senior Member
On 2011-11-09 17:09, Jesper Eskilson wrote:
> Hi,
>
> I'm trying to cleanup our Jenkins-job which runs Buckminster from being a messy ant-script to be a nice thing which is
> nothing more than a single action to invoke on a specific Eclipse feature. I would like to be able to run a complete
> build job by simply right-clicking on the top-level feature and selecting "Invoke Action...".
>
> At the moment we build the site by invoking a number of actions defined in a scriptfile, something like this:
>
> resolve feature.cquery
> build
> perform feature#generate.index
> perform feature#some.more.action
> perform feature#site.p2
>
> Is there a way to define an action in the feature which does all of these things? I have my a couple of custom actions
> in the feature's buckminster.cspex, but I can't figure out how to invoke other actions.
>
As others in this thread has noted already, the three perform commands can be expressed as prerequisites to one single
command. A prerequisite for any Buckminster perform command is that you have a consistent workspace. So the answer to
your questions is no, you'll need at least three distinct commands; resolve, build, and perform. Grouping them together
in a script file like you do today is the optimal solution.

- thomas
Re: Buckminster and Jenkins [message #755922 is a reply to message #755908] Thu, 10 November 2011 08:36 Go to previous messageGo to next message
Jesper Eskilson is currently offline Jesper EskilsonFriend
Messages: 131
Registered: July 2009
Senior Member
Thomas Hallgren skrev 2011-11-10 08:01:

> As others in this thread has noted already, the three perform commands
> can be expressed as prerequisites to one single command. A prerequisite
> for any Buckminster perform command is that you have a consistent
> workspace. So the answer to your questions is no, you'll need at least
> three distinct commands; resolve, build, and perform. Grouping them
> together in a script file like you do today is the optimal solution.

Ok, so resolve and build needs to be done as separate commands. That
kind of make sense. But any other "custom" steps should be possible to
implement as actions, right?

--
/Jesper
Re: Buckminster and Jenkins [message #755941 is a reply to message #755922] Thu, 10 November 2011 09:25 Go to previous message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3229
Registered: July 2009
Senior Member
On 2011-11-10 09:36, Jesper Eskilson wrote:
> Thomas Hallgren skrev 2011-11-10 08:01:
>
>> As others in this thread has noted already, the three perform commands
>> can be expressed as prerequisites to one single command. A prerequisite
>> for any Buckminster perform command is that you have a consistent
>> workspace. So the answer to your questions is no, you'll need at least
>> three distinct commands; resolve, build, and perform. Grouping them
>> together in a script file like you do today is the optimal solution.
>
> Ok, so resolve and build needs to be done as separate commands. That kind of make sense. But any other "custom" steps
> should be possible to implement as actions, right?
>
Yes.

- thomas
Previous Topic:Components in Target Platform have no artifacts
Next Topic:Buckminster 3.6 does not resolve targetPlatform sources
Goto Forum:
  


Current Time: Thu Nov 27 08:43:07 GMT 2014

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

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