|
Re: integrate external tool builders [message #501946 is a reply to message #501921] |
Fri, 04 December 2009 14:56 |
|
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 16:06 |
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 14:18 |
Henrik Lindberg Messages: 2509 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.
>
|
|
|
|
Powered by
FUDForum. Page generated in 0.02283 seconds