Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » integrate external tool builders
integrate external tool builders [message #501921] Fri, 04 December 2009 08:41 Go to next message
Alain  is currently offline Alain
Messages: 115
Registered: July 2009
Senior Member
Hi,

I'm wondering how to integrate the external (ant)builders of my projects
into the buckminster build.

I have configured several pre- and post-build steps in my projects by
defining additional builders. The .project file stores this information
as buildCommand (org.eclipse.ui.externaltools.ExternalToolBuilder)

If I execute the create.product command within my eclipse ide, then the
pre- and post-builders are called corrrectly.

But if I run the buckminster "perform
ch.ivyteam.ivy.designer.feature#create.product" headlessly (using hudson
to du so), then the pre- and post-bulders wont be executed.

Dos anybody knows, why the build is different eighter if I run it within
eclipse ide or headless?
How do I integrate my already defined externalToolBuilders in my
headless build?

Thanks for your answer,
Alain.
Re: integrate external tool builders [message #501946 is a reply to message #501921] Fri, 04 December 2009 09:56 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
Hi Alain,
You are using the ExternalToolBuilder that (for some reason) is provided as part of the Eclipse UI. In order to do
things headlessly, we decided to provide the corresponding functionality headlessly. Not sure if this is documented.

You can use the headless builder by changing your .project file to contain entries like:

<buildCommand>
<name>org.eclipse.buckminster.ant.AntBuilder</name>
<arguments>
<dictionary>
<key>given.name</key>
<value>Ant tasks compile</value>
</dictionary>
<dictionary>
<key>script.file</key>
<value>make/build.xml</value>
</dictionary>
</arguments>
</buildCommand>


If you want to call specific targets you can add new dictionary entries for the keys:

auto.kind.target
clean.kind.target
incremental.kind.target
full.kind.target

i.e.
<dictionary>
<key>incremental.kind.target</key>
<value>special.target</value>
</dictionary>

will call the 'special.target' in your ant script when an incremental build is triggered.

You can also tell the builder to mark things that it builds as 'derived' by using
<dictionary>
<key>derived.resource</key>
<value>ant_tasks</value>
</dictionary>

Automatic refresh after the build can be accomplished by:
<dictionary>
<key>refresh.resource</key>
<value>.</value>
</dictionary>

And you can tell the builder to trigger on changes on the delta under a certain folder:

<dictionary>
<key>delta.resource</key>
<value>src/ant_tasks</value>
</dictionary>

HTH:

- thomas


On 2009-12-04 14:41, Alain Helfenstein wrote:
> Hi,
>
> I'm wondering how to integrate the external (ant)builders of my projects
> into the buckminster build.
>
> I have configured several pre- and post-build steps in my projects by
> defining additional builders. The .project file stores this information
> as buildCommand (org.eclipse.ui.externaltools.ExternalToolBuilder)
>
> If I execute the create.product command within my eclipse ide, then the
> pre- and post-builders are called corrrectly.
>
> But if I run the buckminster "perform
> ch.ivyteam.ivy.designer.feature#create.product" headlessly (using hudson
> to du so), then the pre- and post-bulders wont be executed.
>
> Dos anybody knows, why the build is different eighter if I run it within
> eclipse ide or headless?
> How do I integrate my already defined externalToolBuilders in my
> headless build?
>
> Thanks for your answer,
> Alain.
Re: integrate external tool builders [message #501983 is a reply to message #501946] Fri, 04 December 2009 11:06 Go to previous messageGo to next message
Alain  is currently offline Alain
Messages: 115
Registered: July 2009
Senior Member
Hi Thomas

Thanks a lot for your immediate answer.
It works!

Kind regards, Alain.



Thomas Hallgren schrieb:
> Hi Alain,
> You are using the ExternalToolBuilder that (for some reason) is provided
> as part of the Eclipse UI. In order to do things headlessly, we decided
> to provide the corresponding functionality headlessly. Not sure if this
> is documented.
>
> You can use the headless builder by changing your .project file to
> contain entries like:
>
> <buildCommand>
> <name>org.eclipse.buckminster.ant.AntBuilder</name>
> <arguments>
> <dictionary>
> <key>given.name</key>
> <value>Ant tasks compile</value>
> </dictionary>
> <dictionary>
> <key>script.file</key>
> <value>make/build.xml</value>
> </dictionary>
> </arguments>
> </buildCommand>
>
>
> If you want to call specific targets you can add new dictionary entries
> for the keys:
>
> auto.kind.target
> clean.kind.target
> incremental.kind.target
> full.kind.target
>
> i.e.
> <dictionary>
> <key>incremental.kind.target</key>
> <value>special.target</value>
> </dictionary>
>
> will call the 'special.target' in your ant script when an incremental
> build is triggered.
>
> You can also tell the builder to mark things that it builds as 'derived'
> by using
> <dictionary>
> <key>derived.resource</key>
> <value>ant_tasks</value>
> </dictionary>
>
> Automatic refresh after the build can be accomplished by:
> <dictionary>
> <key>refresh.resource</key>
> <value>.</value>
> </dictionary>
>
> And you can tell the builder to trigger on changes on the delta under a
> certain folder:
>
> <dictionary>
> <key>delta.resource</key>
> <value>src/ant_tasks</value>
> </dictionary>
>
> HTH:
>
> - thomas
>
>
> On 2009-12-04 14:41, Alain Helfenstein wrote:
>> Hi,
>>
>> I'm wondering how to integrate the external (ant)builders of my projects
>> into the buckminster build.
>>
>> I have configured several pre- and post-build steps in my projects by
>> defining additional builders. The .project file stores this information
>> as buildCommand (org.eclipse.ui.externaltools.ExternalToolBuilder)
>>
>> If I execute the create.product command within my eclipse ide, then the
>> pre- and post-builders are called corrrectly.
>>
>> But if I run the buckminster "perform
>> ch.ivyteam.ivy.designer.feature#create.product" headlessly (using hudson
>> to du so), then the pre- and post-bulders wont be executed.
>>
>> Dos anybody knows, why the build is different eighter if I run it within
>> eclipse ide or headless?
>> How do I integrate my already defined externalToolBuilders in my
>> headless build?
>>
>> Thanks for your answer,
>> Alain.
>
Re: integrate external tool builders [message #502090 is a reply to message #501946] Sat, 05 December 2009 09:18 Go to previous messageGo to next message
Henrik Lindberg is currently offline Henrik Lindberg
Messages: 2499
Registered: July 2009
Senior Member
I don't think this is documented... Please log an issue for documentation.

- henrik

On 12/4/09 3:56 PM, Thomas Hallgren wrote:
> Hi Alain,
> You are using the ExternalToolBuilder that (for some reason) is provided
> as part of the Eclipse UI. In order to do things headlessly, we decided
> to provide the corresponding functionality headlessly. Not sure if this
> is documented.
>
> You can use the headless builder by changing your .project file to
> contain entries like:
>
> <buildCommand>
> <name>org.eclipse.buckminster.ant.AntBuilder</name>
> <arguments>
> <dictionary>
> <key>given.name</key>
> <value>Ant tasks compile</value>
> </dictionary>
> <dictionary>
> <key>script.file</key>
> <value>make/build.xml</value>
> </dictionary>
> </arguments>
> </buildCommand>
>
>
> If you want to call specific targets you can add new dictionary entries
> for the keys:
>
> auto.kind.target
> clean.kind.target
> incremental.kind.target
> full.kind.target
>
> i.e.
> <dictionary>
> <key>incremental.kind.target</key>
> <value>special.target</value>
> </dictionary>
>
> will call the 'special.target' in your ant script when an incremental
> build is triggered.
>
> You can also tell the builder to mark things that it builds as 'derived'
> by using
> <dictionary>
> <key>derived.resource</key>
> <value>ant_tasks</value>
> </dictionary>
>
> Automatic refresh after the build can be accomplished by:
> <dictionary>
> <key>refresh.resource</key>
> <value>.</value>
> </dictionary>
>
> And you can tell the builder to trigger on changes on the delta under a
> certain folder:
>
> <dictionary>
> <key>delta.resource</key>
> <value>src/ant_tasks</value>
> </dictionary>
>
> HTH:
>
> - thomas
>
>
> On 2009-12-04 14:41, Alain Helfenstein wrote:
>> Hi,
>>
>> I'm wondering how to integrate the external (ant)builders of my projects
>> into the buckminster build.
>>
>> I have configured several pre- and post-build steps in my projects by
>> defining additional builders. The .project file stores this information
>> as buildCommand (org.eclipse.ui.externaltools.ExternalToolBuilder)
>>
>> If I execute the create.product command within my eclipse ide, then the
>> pre- and post-builders are called corrrectly.
>>
>> But if I run the buckminster "perform
>> ch.ivyteam.ivy.designer.feature#create.product" headlessly (using hudson
>> to du so), then the pre- and post-bulders wont be executed.
>>
>> Dos anybody knows, why the build is different eighter if I run it within
>> eclipse ide or headless?
>> How do I integrate my already defined externalToolBuilders in my
>> headless build?
>>
>> Thanks for your answer,
>> Alain.
>
Re: integrate external tool builders [message #502114 is a reply to message #502090] Sat, 05 December 2009 16:46 Go to previous message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
On 2009-12-05 15:18, Henrik Lindberg wrote:
> I don't think this is documented... Please log an issue for documentation.
>
https://bugs.eclipse.org/bugs/show_bug.cgi?id=296994
Previous Topic:Aggregator: handling of artifacts without feature/update site
Next Topic:lacking features and some small problems.
Goto Forum:
  


Current Time: Sun Aug 31 02:33:13 EDT 2014

Powered by FUDForum. Page generated in 0.01862 seconds