Home » Archived » Buckminster » Buckminster script execution stops after 'build -c'
|
Re: Buckminster script execution stops after 'build -c' [message #1053023 is a reply to message #1052979] |
Thu, 02 May 2013 05:54 |
|
On 2013-05-01 19:02, Sakis Kotisis wrote:
> Hi,
>
> I'm running headless Buckminster to build an update site with the
> following script as argument:
>
> importtargetdefinition -A
> 'F:/_Workspaces/bucky-pg/c.s.p.site/mirror.target'
> import 'C:/Users/tkotisis/workspace4/c.s.p.site/site.cquery'
> build -c
> perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 -D
> cbi.include.source=false c.s.p.site#site.p2
>
> Build action is called, the bundles are being built and some build
> errors and warnings appear in stderr.
>
> But then Buckminster stops (!), not calling the 'perform' action.
>
> There's no indication as to why in the Buckminster .log or in the console.
>
> Am i correct in the assumption that if
> org.eclipse.buckminster.core.commands.Build finds any error markers, the
> script execution is stopped?
>
That is correct. It's assumed that an error should terminate the script.
> If so, is there a way to avoid this, without removing the code causing
> the errors?
>
The only way to work around this is to invoke the perform in another script.
Why would you continue and build a p2 site when the build is in error?
- thomas
|
|
|
Re: Buckminster script execution stops after 'build -c' [message #1057761 is a reply to message #1053023] |
Wed, 08 May 2013 15:21 |
Sakis Kotisis Messages: 33 Registered: July 2009 Location: Belgium |
Member |
|
|
Thanks for the help Thomas.
You are right of course, i need this bundle built to have a working RCP
app.
Let me explain the situation fully.
My product has to be built for several platforms.
To this date it is being built cross-platform on win32 through the PDE ant
scripts using the delta pack.
I.e. PDE is able to build for platforms different from the one where the
build is executed.
It's the equivalent of choosing "Export for multiple platforms" when
exporting from the IDE.
Now, a single plug-in "c.s.p.p.macosx" in the product, is importing code
from the fragment "org.eclipse.swt.cocoa.macosx".
Naturally, this causes an error when building this particular plug-in for
any other platform.
However, this plug-in is included in it's feature "c.s.p.cl" with
os="macosx",ws="cocoa".
Is there a way to perform a multi-platform cross-build using Buckminster?
On Thu, 02 May 2013 08:54:25 +0300, Thomas Hallgren <thomas@xxxxxxxx> wrote:
> On 2013-05-01 19:02, Sakis Kotisis wrote:
>> Hi,
>>
>> I'm running headless Buckminster to build an update site with the
>> following script as argument:
>>
>> importtargetdefinition -A
>> 'F:/_Workspaces/bucky-pg/c.s.p.site/mirror.target'
>> import 'C:/Users/tkotisis/workspace4/c.s.p.site/site.cquery'
>> build -c
>> perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 -D
>> cbi.include.source=false c.s.p.site#site.p2
>>
>> Build action is called, the bundles are being built and some build
>> errors and warnings appear in stderr.
>>
>> But then Buckminster stops (!), not calling the 'perform' action.
>>
>> There's no indication as to why in the Buckminster .log or in the
>> console.
>>
>> Am i correct in the assumption that if
>> org.eclipse.buckminster.core.commands.Build finds any error markers, the
>> script execution is stopped?
>>
> That is correct. It's assumed that an error should terminate the script.
>
>> If so, is there a way to avoid this, without removing the code causing
>> the errors?
>>
> The only way to work around this is to invoke the perform in another
> script.
>
> Why would you continue and build a p2 site when the build is in error?
>
> - thomas
>
>
--
Sakis Kotisis
Senior Software Engineer
SciGen Technologies, S.A.
|
|
|
Re: Buckminster script execution stops after 'build -c' [message #1057785 is a reply to message #1057761] |
Wed, 08 May 2013 17:15 |
Henrik Lindberg Messages: 2509 Registered: July 2009 |
Senior Member |
|
|
You can look at how we do things in the project cloudsmith/geppetto
@github - we build an RCP (an IDE) for multiple platforms using
Buckminster. (Buckminster setup by Thomas Hallgren ;-))
There are some special stuff in there since we build certain parts for
non OSGi environments as well.
Regards
- henrik
On 2013-08-05 17:21, Sakis Kotisis wrote:
> Thanks for the help Thomas.
>
> You are right of course, i need this bundle built to have a working RCP
> app.
>
> Let me explain the situation fully.
>
> My product has to be built for several platforms.
>
> To this date it is being built cross-platform on win32 through the PDE
> ant scripts using the delta pack.
> I.e. PDE is able to build for platforms different from the one where the
> build is executed.
>
> It's the equivalent of choosing "Export for multiple platforms" when
> exporting from the IDE.
>
> Now, a single plug-in "c.s.p.p.macosx" in the product, is importing code
> from the fragment "org.eclipse.swt.cocoa.macosx".
> Naturally, this causes an error when building this particular plug-in
> for any other platform.
> However, this plug-in is included in it's feature "c.s.p.cl" with
> os="macosx",ws="cocoa".
>
> Is there a way to perform a multi-platform cross-build using Buckminster?
>
> On Thu, 02 May 2013 08:54:25 +0300, Thomas Hallgren <thomas@xxxxxxxx> wrote:
>
>> On 2013-05-01 19:02, Sakis Kotisis wrote:
>>> Hi,
>>>
>>> I'm running headless Buckminster to build an update site with the
>>> following script as argument:
>>>
>>> importtargetdefinition -A
>>> 'F:/_Workspaces/bucky-pg/c.s.p.site/mirror.target'
>>> import 'C:/Users/tkotisis/workspace4/c.s.p.site/site.cquery'
>>> build -c
>>> perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 -D
>>> cbi.include.source=false c.s.p.site#site.p2
>>>
>>> Build action is called, the bundles are being built and some build
>>> errors and warnings appear in stderr.
>>>
>>> But then Buckminster stops (!), not calling the 'perform' action.
>>>
>>> There's no indication as to why in the Buckminster .log or in the
>>> console.
>>>
>>> Am i correct in the assumption that if
>>> org.eclipse.buckminster.core.commands.Build finds any error markers, the
>>> script execution is stopped?
>>>
>> That is correct. It's assumed that an error should terminate the script.
>>
>>> If so, is there a way to avoid this, without removing the code causing
>>> the errors?
>>>
>> The only way to work around this is to invoke the perform in another
>> script.
>>
>> Why would you continue and build a p2 site when the build is in error?
>>
>> - thomas
>>
>>
>
>
|
|
|
Re: Buckminster script execution stops after 'build -c' [message #1057879 is a reply to message #1057761] |
Thu, 09 May 2013 14:19 |
|
On 05/08/2013 05:21 PM, Sakis Kotisis wrote:
> Now, a single plug-in "c.s.p.p.macosx" in the product, is importing code
> from the fragment "org.eclipse.swt.cocoa.macosx".
> Naturally, this causes an error when building this particular plug-in
> for any other platform.
> However, this plug-in is included in it's feature "c.s.p.cl" with
> os="macosx",ws="cocoa".
>
> Is there a way to perform a multi-platform cross-build using Buckminster?
I published a tutorial blogpost
http://www.lorenzobettini.it/2013/01/building-an-eclipse-rcp-product-with-buckminster/
which builds the same product for several platforms with Buckminster
(and you do not need the delta-pack)
hope this helps
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
HOME: http://www.lorenzobettini.it
TDD Book: https://leanpub.com/tdd-buildautomation-ci
Xtext Book: https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
|
|
|
Re: Buckminster script execution stops after 'build -c' [message #1057915 is a reply to message #1057785] |
Thu, 09 May 2013 18:25 |
Sakis Kotisis Messages: 33 Registered: July 2009 Location: Belgium |
Member |
|
|
I took a second look at how the geppetto project is being built.
If my understanding is correct, the project build occurs within the
bmscript.
Namely, the following script line:
build --thorough
Upon receiving this command Buckminster executes a PDE build __ for the
platform it currently runs on __.
In my case a separate PDE build is required for the different platforms
being built.
When building with headless PDE from Ant scripts this is achieved by
configuring the different platforms:
configs=win32, win32, x86 & \
macosx, cocoa, x86_64 & \
macosx, cocoa, x86 & \
linux, gtk, x86
Scouring the newsgroup I found the following thread more or less talking
about the same issue:
http://www.eclipse.org/forums/index.php/m/555879/
The solution outlined there is to include the environment within the
target definition.
This means importing one target definition per platform, which is time
consuming.
Is there really no other way to define a cross-build?
On Wed, 08 May 2013 20:15:58 +0300, Henrik Lindberg
<henrik.lindberg@xxxxxxxx> wrote:
> You can look at how we do things in the project cloudsmith/geppetto
> @github - we build an RCP (an IDE) for multiple platforms using
> Buckminster. (Buckminster setup by Thomas Hallgren ;-))
>
> There are some special stuff in there since we build certain parts for
> non OSGi environments as well.
>
> Regards
> - henrik
>
> On 2013-08-05 17:21, Sakis Kotisis wrote:
>> Thanks for the help Thomas.
>>
>> You are right of course, i need this bundle built to have a working RCP
>> app.
>>
>> Let me explain the situation fully.
>>
>> My product has to be built for several platforms.
>>
>> To this date it is being built cross-platform on win32 through the PDE
>> ant scripts using the delta pack.
>> I.e. PDE is able to build for platforms different from the one where the
>> build is executed.
>>
>> It's the equivalent of choosing "Export for multiple platforms" when
>> exporting from the IDE.
>>
>> Now, a single plug-in "c.s.p.p.macosx" in the product, is importing code
>> from the fragment "org.eclipse.swt.cocoa.macosx".
>> Naturally, this causes an error when building this particular plug-in
>> for any other platform.
>> However, this plug-in is included in it's feature "c.s.p.cl" with
>> os="macosx",ws="cocoa".
>>
>> Is there a way to perform a multi-platform cross-build using
>> Buckminster?
>>
>> On Thu, 02 May 2013 08:54:25 +0300, Thomas Hallgren <thomas@xxxxxxxx>
>> wrote:
>>
>>> On 2013-05-01 19:02, Sakis Kotisis wrote:
>>>> Hi,
>>>>
>>>> I'm running headless Buckminster to build an update site with the
>>>> following script as argument:
>>>>
>>>> importtargetdefinition -A
>>>> 'F:/_Workspaces/bucky-pg/c.s.p.site/mirror.target'
>>>> import 'C:/Users/tkotisis/workspace4/c.s.p.site/site.cquery'
>>>> build -c
>>>> perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 -D
>>>> cbi.include.source=false c.s.p.site#site.p2
>>>>
>>>> Build action is called, the bundles are being built and some build
>>>> errors and warnings appear in stderr.
>>>>
>>>> But then Buckminster stops (!), not calling the 'perform' action.
>>>>
>>>> There's no indication as to why in the Buckminster .log or in the
>>>> console.
>>>>
>>>> Am i correct in the assumption that if
>>>> org.eclipse.buckminster.core.commands.Build finds any error markers,
>>>> the
>>>> script execution is stopped?
>>>>
>>> That is correct. It's assumed that an error should terminate the
>>> script.
>>>
>>>> If so, is there a way to avoid this, without removing the code causing
>>>> the errors?
>>>>
>>> The only way to work around this is to invoke the perform in another
>>> script.
>>>
>>> Why would you continue and build a p2 site when the build is in error?
>>>
>>> - thomas
>>>
>>>
>>
>>
>
--
Sakis Kotisis
Senior Software Engineer
SciGen Technologies, S.A.
|
|
|
Re: Buckminster script execution stops after 'build -c' [message #1057990 is a reply to message #1057915] |
Fri, 10 May 2013 11:13 |
Henrik Lindberg Messages: 2509 Registered: July 2009 |
Senior Member |
|
|
We build Geppetto using current platform when doing this from within the
IDE (for the purpose of testing what you have in the workspace). On our
Jenkins we have a buildjob that builds for all platforms - it produces a
p2 repo and ready-to-run zips, one per supported platform.
- henrik
On 2013-09-05 20:25, Sakis Kotisis wrote:
> I took a second look at how the geppetto project is being built.
> If my understanding is correct, the project build occurs within the
> bmscript.
>
> Namely, the following script line:
> build --thorough
>
> Upon receiving this command Buckminster executes a PDE build __ for the
> platform it currently runs on __.
>
> In my case a separate PDE build is required for the different platforms
> being built.
> When building with headless PDE from Ant scripts this is achieved by
> configuring the different platforms:
>
> configs=win32, win32, x86 & \
> macosx, cocoa, x86_64 & \
> macosx, cocoa, x86 & \
> linux, gtk, x86
>
> Scouring the newsgroup I found the following thread more or less talking
> about the same issue:
> http://www.eclipse.org/forums/index.php/m/555879/
>
> The solution outlined there is to include the environment within the
> target definition.
> This means importing one target definition per platform, which is time
> consuming.
>
> Is there really no other way to define a cross-build?
>
> On Wed, 08 May 2013 20:15:58 +0300, Henrik Lindberg
> <henrik.lindberg@xxxxxxxx> wrote:
>
>> You can look at how we do things in the project cloudsmith/geppetto
>> @github - we build an RCP (an IDE) for multiple platforms using
>> Buckminster. (Buckminster setup by Thomas Hallgren ;-))
>>
>> There are some special stuff in there since we build certain parts for
>> non OSGi environments as well.
>>
>> Regards
>> - henrik
>>
>> On 2013-08-05 17:21, Sakis Kotisis wrote:
>>> Thanks for the help Thomas.
>>>
>>> You are right of course, i need this bundle built to have a working RCP
>>> app.
>>>
>>> Let me explain the situation fully.
>>>
>>> My product has to be built for several platforms.
>>>
>>> To this date it is being built cross-platform on win32 through the PDE
>>> ant scripts using the delta pack.
>>> I.e. PDE is able to build for platforms different from the one where the
>>> build is executed.
>>>
>>> It's the equivalent of choosing "Export for multiple platforms" when
>>> exporting from the IDE.
>>>
>>> Now, a single plug-in "c.s.p.p.macosx" in the product, is importing code
>>> from the fragment "org.eclipse.swt.cocoa.macosx".
>>> Naturally, this causes an error when building this particular plug-in
>>> for any other platform.
>>> However, this plug-in is included in it's feature "c.s.p.cl" with
>>> os="macosx",ws="cocoa".
>>>
>>> Is there a way to perform a multi-platform cross-build using
>>> Buckminster?
>>>
>>> On Thu, 02 May 2013 08:54:25 +0300, Thomas Hallgren <thomas@xxxxxxxx>
>>> wrote:
>>>
>>>> On 2013-05-01 19:02, Sakis Kotisis wrote:
>>>>> Hi,
>>>>>
>>>>> I'm running headless Buckminster to build an update site with the
>>>>> following script as argument:
>>>>>
>>>>> importtargetdefinition -A
>>>>> 'F:/_Workspaces/bucky-pg/c.s.p.site/mirror.target'
>>>>> import 'C:/Users/tkotisis/workspace4/c.s.p.site/site.cquery'
>>>>> build -c
>>>>> perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 -D
>>>>> cbi.include.source=false c.s.p.site#site.p2
>>>>>
>>>>> Build action is called, the bundles are being built and some build
>>>>> errors and warnings appear in stderr.
>>>>>
>>>>> But then Buckminster stops (!), not calling the 'perform' action.
>>>>>
>>>>> There's no indication as to why in the Buckminster .log or in the
>>>>> console.
>>>>>
>>>>> Am i correct in the assumption that if
>>>>> org.eclipse.buckminster.core.commands.Build finds any error
>>>>> markers, the
>>>>> script execution is stopped?
>>>>>
>>>> That is correct. It's assumed that an error should terminate the
>>>> script.
>>>>
>>>>> If so, is there a way to avoid this, without removing the code causing
>>>>> the errors?
>>>>>
>>>> The only way to work around this is to invoke the perform in another
>>>> script.
>>>>
>>>> Why would you continue and build a p2 site when the build is in error?
>>>>
>>>> - thomas
>>>>
>>>>
>>>
>>>
>>
>
>
|
|
|
Re: Buckminster script execution stops after 'build -c' [message #1058056 is a reply to message #1057990] |
Fri, 10 May 2013 16:40 |
Sakis Kotisis Messages: 33 Registered: July 2009 Location: Belgium |
Member |
|
|
That i understand.
However, in the case of Geppetto there is no need for a platform specific
PDE build.
I.e., you don't have any source importing classes from (for example)
org.eclipse.swt.internal.cocoa.*
On Fri, 10 May 2013 14:13:43 +0300, Henrik Lindberg
<henrik.lindberg@xxxxxxxx> wrote:
> We build Geppetto using current platform when doing this from within the
> IDE (for the purpose of testing what you have in the workspace). On our
> Jenkins we have a buildjob that builds for all platforms - it produces a
> p2 repo and ready-to-run zips, one per supported platform.
>
> - henrik
>
> On 2013-09-05 20:25, Sakis Kotisis wrote:
>> I took a second look at how the geppetto project is being built.
>> If my understanding is correct, the project build occurs within the
>> bmscript.
>>
>> Namely, the following script line:
>> build --thorough
>>
>> Upon receiving this command Buckminster executes a PDE build __ for the
>> platform it currently runs on __.
>>
>> In my case a separate PDE build is required for the different platforms
>> being built.
>> When building with headless PDE from Ant scripts this is achieved by
>> configuring the different platforms:
>>
>> configs=win32, win32, x86 & \
>> macosx, cocoa, x86_64 & \
>> macosx, cocoa, x86 & \
>> linux, gtk, x86
>>
>> Scouring the newsgroup I found the following thread more or less talking
>> about the same issue:
>> http://www.eclipse.org/forums/index.php/m/555879/
>>
>> The solution outlined there is to include the environment within the
>> target definition.
>> This means importing one target definition per platform, which is time
>> consuming.
>>
>> Is there really no other way to define a cross-build?
>>
>> On Wed, 08 May 2013 20:15:58 +0300, Henrik Lindberg
>> <henrik.lindberg@xxxxxxxx> wrote:
>>
>>> You can look at how we do things in the project cloudsmith/geppetto
>>> @github - we build an RCP (an IDE) for multiple platforms using
>>> Buckminster. (Buckminster setup by Thomas Hallgren ;-))
>>>
>>> There are some special stuff in there since we build certain parts for
>>> non OSGi environments as well.
>>>
>>> Regards
>>> - henrik
>>>
>>> On 2013-08-05 17:21, Sakis Kotisis wrote:
>>>> Thanks for the help Thomas.
>>>>
>>>> You are right of course, i need this bundle built to have a working
>>>> RCP
>>>> app.
>>>>
>>>> Let me explain the situation fully.
>>>>
>>>> My product has to be built for several platforms.
>>>>
>>>> To this date it is being built cross-platform on win32 through the PDE
>>>> ant scripts using the delta pack.
>>>> I.e. PDE is able to build for platforms different from the one where
>>>> the
>>>> build is executed.
>>>>
>>>> It's the equivalent of choosing "Export for multiple platforms" when
>>>> exporting from the IDE.
>>>>
>>>> Now, a single plug-in "c.s.p.p.macosx" in the product, is importing
>>>> code
>>>> from the fragment "org.eclipse.swt.cocoa.macosx".
>>>> Naturally, this causes an error when building this particular plug-in
>>>> for any other platform.
>>>> However, this plug-in is included in it's feature "c.s.p.cl" with
>>>> os="macosx",ws="cocoa".
>>>>
>>>> Is there a way to perform a multi-platform cross-build using
>>>> Buckminster?
>>>>
>>>> On Thu, 02 May 2013 08:54:25 +0300, Thomas Hallgren <thomas@xxxxxxxx>
>>>> wrote:
>>>>
>>>>> On 2013-05-01 19:02, Sakis Kotisis wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I'm running headless Buckminster to build an update site with the
>>>>>> following script as argument:
>>>>>>
>>>>>> importtargetdefinition -A
>>>>>> 'F:/_Workspaces/bucky-pg/c.s.p.site/mirror.target'
>>>>>> import 'C:/Users/tkotisis/workspace4/c.s.p.site/site.cquery'
>>>>>> build -c
>>>>>> perform -D target.os=win32 -D target.ws=win32 -D target.arch=x86 -D
>>>>>> cbi.include.source=false c.s.p.site#site.p2
>>>>>>
>>>>>> Build action is called, the bundles are being built and some build
>>>>>> errors and warnings appear in stderr.
>>>>>>
>>>>>> But then Buckminster stops (!), not calling the 'perform' action.
>>>>>>
>>>>>> There's no indication as to why in the Buckminster .log or in the
>>>>>> console.
>>>>>>
>>>>>> Am i correct in the assumption that if
>>>>>> org.eclipse.buckminster.core.commands.Build finds any error
>>>>>> markers, the
>>>>>> script execution is stopped?
>>>>>>
>>>>> That is correct. It's assumed that an error should terminate the
>>>>> script.
>>>>>
>>>>>> If so, is there a way to avoid this, without removing the code
>>>>>> causing
>>>>>> the errors?
>>>>>>
>>>>> The only way to work around this is to invoke the perform in another
>>>>> script.
>>>>>
>>>>> Why would you continue and build a p2 site when the build is in
>>>>> error?
>>>>>
>>>>> - thomas
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
--
Sakis Kotisis
Senior Software Engineer
SciGen Technologies, S.A.
|
|
|
Goto Forum:
Current Time: Sat Nov 09 01:16:23 GMT 2024
Powered by FUDForum. Page generated in 0.04184 seconds
|