Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Wiki page describing eclipse.org Teneo build setup using Buckminster
Wiki page describing eclipse.org Teneo build setup using Buckminster [message #517787] Tue, 02 March 2010 01:19 Go to next message
Martin Taal is currently offline Martin Taal
Messages: 5301
Registered: July 2009
Senior Member
Hi,
I wrote a fairly detailed wiki page on the build setup of Teneo using Buckminster.

I hope it is of interest/help for other people to:
http://wiki.eclipse.org/Teneo/Teneo_Build_Setup

--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: Wiki page describing eclipse.org Teneo build setup using Buckminster [message #518062 is a reply to message #517787] Tue, 02 March 2010 16:50 Go to previous messageGo to next message
Achim Demelt is currently offline Achim Demelt
Messages: 160
Registered: July 2009
Senior Member
Hi Martin,

That's a great resource for anyone trying to adopt Buckminster for their own
projects. Cool!

I noticed that you're running multiple emma calls, but Hudson (and most
other CI servers) only accepts one coverage output result, which loses most
of your coverage output. Well, there's a remedy for that if you can perform
all "emma" invocations in a row inside a script. You'll have to pass the "-
m" parameter (for merge) to all but the first emma call. The last call to
emma should have the --xml option to actually produce the overall coverage
output.

As I said, you have to perform all emma calls inside a script, because the
coverage state gets lost when the VM shuts down.

HTH,
Achim

Martin Taal wrote:

> Hi,
> I wrote a fairly detailed wiki page on the build setup of Teneo using
> Buckminster.
>
> I hope it is of interest/help for other people to:
> http://wiki.eclipse.org/Teneo/Teneo_Build_Setup
>
Re: Wiki page describing eclipse.org Teneo build setup using Buckminster [message #518083 is a reply to message #518062] Tue, 02 March 2010 18:26 Go to previous messageGo to next message
Martin Taal is currently offline Martin Taal
Messages: 5301
Registered: July 2009
Senior Member
Hi Achim,
Thanks, with script, you mean ant script? So if one ant script/target does several 'emma' calls then it should work?

gr. Martin

Achim Demelt wrote:
> Hi Martin,
>
> That's a great resource for anyone trying to adopt Buckminster for their own
> projects. Cool!
>
> I noticed that you're running multiple emma calls, but Hudson (and most
> other CI servers) only accepts one coverage output result, which loses most
> of your coverage output. Well, there's a remedy for that if you can perform
> all "emma" invocations in a row inside a script. You'll have to pass the "-
> m" parameter (for merge) to all but the first emma call. The last call to
> emma should have the --xml option to actually produce the overall coverage
> output.
>
> As I said, you have to perform all emma calls inside a script, because the
> coverage state gets lost when the VM shuts down.
>
> HTH,
> Achim
>
> Martin Taal wrote:
>
>> Hi,
>> I wrote a fairly detailed wiki page on the build setup of Teneo using
>> Buckminster.
>>
>> I hope it is of interest/help for other people to:
>> http://wiki.eclipse.org/Teneo/Teneo_Build_Setup
>>
>


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: Wiki page describing eclipse.org Teneo build setup using Buckminster [message #518345 is a reply to message #518083] Wed, 03 March 2010 15:28 Go to previous messageGo to next message
Achim Demelt is currently offline Achim Demelt
Messages: 160
Registered: July 2009
Senior Member
No, I mean Buckminster script. That's just a file that contains multiple
Buckminster commands. It can be passed to Buckminster via the "--scriptfile"
argument. For example, my script looks like this:

import config/tests.cquery
build
emma -l test.engine.all/engine.all.launch -o ${out.dir}/TEST-engine.all.xml
emma -m -l test.engine.all/engine.all.plugin.launch -o ${out.dir}/TEST-
engine.all.plugin.xml --html ${out.dir}/coverage/coverage.html --xml
${out.dir}/coverage/coverage.xml

Note the "-m" argument for the second "emma" call. It merges the coverage
results with those from the preceding "emma" call.

HTH,
Achim

Martin Taal wrote:

> Hi Achim,
> Thanks, with script, you mean ant script? So if one ant script/target does
> several 'emma' calls then it should work?
>
> gr. Martin
>
> Achim Demelt wrote:
>> Hi Martin,
>>
>> That's a great resource for anyone trying to adopt Buckminster for their
>> own projects. Cool!
>>
>> I noticed that you're running multiple emma calls, but Hudson (and most
>> other CI servers) only accepts one coverage output result, which loses
>> most of your coverage output. Well, there's a remedy for that if you can
>> perform all "emma" invocations in a row inside a script. You'll have to
>> pass the "- m" parameter (for merge) to all but the first emma call. The
>> last call to emma should have the --xml option to actually produce the
>> overall coverage output.
>>
>> As I said, you have to perform all emma calls inside a script, because
>> the coverage state gets lost when the VM shuts down.
>>
>> HTH,
>> Achim
>>
>> Martin Taal wrote:
>>
>>> Hi,
>>> I wrote a fairly detailed wiki page on the build setup of Teneo using
>>> Buckminster.
>>>
>>> I hope it is of interest/help for other people to:
>>> http://wiki.eclipse.org/Teneo/Teneo_Build_Setup
>>>
>>
>
>
Re: Wiki page describing eclipse.org Teneo build setup using Buckminster [message #518363 is a reply to message #518345] Wed, 03 March 2010 16:10 Go to previous messageGo to next message
Martin Taal is currently offline Martin Taal
Messages: 5301
Registered: July 2009
Senior Member
Thanks Achim, clear now, I have made a note of this in the wiki doc also.

In Teneo's case the code coverage is less usefull at the moment (but maybe you know a solution :-). Teneo uses a two
step build process:
1) build the core plugins and create an update site with them
2) create a new workspace and target platform for the test plugins. The plugins/update site from step 1 are included in
the target platform, then build the test plugins and run tests

As my main plugins are in the target platform emma does not include them in the code coverage part. Is there a way to
tell emma to also include part of the target platform into the code coverage analysis?
For example by specifying package names or plugin id's or anything else.

I choose this build setup because then the tests are run against the exact binaries/jar files/plugins downloaded by users.

gr. Martin

Achim Demelt wrote:
> No, I mean Buckminster script. That's just a file that contains multiple
> Buckminster commands. It can be passed to Buckminster via the "--scriptfile"
> argument. For example, my script looks like this:
>
> import config/tests.cquery
> build
> emma -l test.engine.all/engine.all.launch -o ${out.dir}/TEST-engine.all.xml
> emma -m -l test.engine.all/engine.all.plugin.launch -o ${out.dir}/TEST-
> engine.all.plugin.xml --html ${out.dir}/coverage/coverage.html --xml
> ${out.dir}/coverage/coverage.xml
>
> Note the "-m" argument for the second "emma" call. It merges the coverage
> results with those from the preceding "emma" call.
>
> HTH,
> Achim
>
> Martin Taal wrote:
>
>> Hi Achim,
>> Thanks, with script, you mean ant script? So if one ant script/target does
>> several 'emma' calls then it should work?
>>
>> gr. Martin
>>
>> Achim Demelt wrote:
>>> Hi Martin,
>>>
>>> That's a great resource for anyone trying to adopt Buckminster for their
>>> own projects. Cool!
>>>
>>> I noticed that you're running multiple emma calls, but Hudson (and most
>>> other CI servers) only accepts one coverage output result, which loses
>>> most of your coverage output. Well, there's a remedy for that if you can
>>> perform all "emma" invocations in a row inside a script. You'll have to
>>> pass the "- m" parameter (for merge) to all but the first emma call. The
>>> last call to emma should have the --xml option to actually produce the
>>> overall coverage output.
>>>
>>> As I said, you have to perform all emma calls inside a script, because
>>> the coverage state gets lost when the VM shuts down.
>>>
>>> HTH,
>>> Achim
>>>
>>> Martin Taal wrote:
>>>
>>>> Hi,
>>>> I wrote a fairly detailed wiki page on the build setup of Teneo using
>>>> Buckminster.
>>>>
>>>> I hope it is of interest/help for other people to:
>>>> http://wiki.eclipse.org/Teneo/Teneo_Build_Setup
>>>>
>>
>


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: Wiki page describing eclipse.org Teneo build setup using Buckminster [message #518695 is a reply to message #518363] Thu, 04 March 2010 09:04 Go to previous messageGo to next message
Achim Demelt is currently offline Achim Demelt
Messages: 160
Registered: July 2009
Senior Member
Hi Martin,

I haven't tried this myself, but you may want to take a look at the
"Coverage" tab in the launch configuration in the IDE. You should have a
workspace similar to the one you're using for your headless tests, i.e. only
test bundles as source, and the actual bundles to test as binaries in your
TP. I think you can then select the binary bundles for coverage analysis.
But, as I said, I haven't tried this myself.

Cheers,
Achim

Martin Taal wrote:

> Thanks Achim, clear now, I have made a note of this in the wiki doc also.
>
> In Teneo's case the code coverage is less usefull at the moment (but maybe
> you know a solution :-). Teneo uses a two step build process:
> 1) build the core plugins and create an update site with them
> 2) create a new workspace and target platform for the test plugins. The
> plugins/update site from step 1 are included in the target platform, then
> build the test plugins and run tests
>
> As my main plugins are in the target platform emma does not include them
> in the code coverage part. Is there a way to tell emma to also include
> part of the target platform into the code coverage analysis? For example
> by specifying package names or plugin id's or anything else.
>
> I choose this build setup because then the tests are run against the exact
> binaries/jar files/plugins downloaded by users.
>
> gr. Martin
>
> Achim Demelt wrote:
>> No, I mean Buckminster script. That's just a file that contains multiple
>> Buckminster commands. It can be passed to Buckminster via the
>> "--scriptfile" argument. For example, my script looks like this:
>>
>> import config/tests.cquery
>> build
>> emma -l test.engine.all/engine.all.launch -o
>> ${out.dir}/TEST-engine.all.xml emma -m -l
>> test.engine.all/engine.all.plugin.launch -o ${out.dir}/TEST-
>> engine.all.plugin.xml --html ${out.dir}/coverage/coverage.html --xml
>> ${out.dir}/coverage/coverage.xml
>>
>> Note the "-m" argument for the second "emma" call. It merges the coverage
>> results with those from the preceding "emma" call.
>>
>> HTH,
>> Achim
>>
>> Martin Taal wrote:
>>
>>> Hi Achim,
>>> Thanks, with script, you mean ant script? So if one ant script/target
>>> does several 'emma' calls then it should work?
>>>
>>> gr. Martin
>>>
>>> Achim Demelt wrote:
>>>> Hi Martin,
>>>>
>>>> That's a great resource for anyone trying to adopt Buckminster for
>>>> their own projects. Cool!
>>>>
>>>> I noticed that you're running multiple emma calls, but Hudson (and most
>>>> other CI servers) only accepts one coverage output result, which loses
>>>> most of your coverage output. Well, there's a remedy for that if you
>>>> can perform all "emma" invocations in a row inside a script. You'll
>>>> have to pass the "- m" parameter (for merge) to all but the first emma
>>>> call. The last call to emma should have the --xml option to actually
>>>> produce the overall coverage output.
>>>>
>>>> As I said, you have to perform all emma calls inside a script, because
>>>> the coverage state gets lost when the VM shuts down.
>>>>
>>>> HTH,
>>>> Achim
>>>>
>>>> Martin Taal wrote:
>>>>
>>>>> Hi,
>>>>> I wrote a fairly detailed wiki page on the build setup of Teneo using
>>>>> Buckminster.
>>>>>
>>>>> I hope it is of interest/help for other people to:
>>>>> http://wiki.eclipse.org/Teneo/Teneo_Build_Setup
>>>>>
>>>
>>
>
>
Re: Wiki page describing eclipse.org Teneo build setup using Buckminster [message #518730 is a reply to message #518695] Thu, 04 March 2010 15:23 Go to previous message
Martin Taal is currently offline Martin Taal
Messages: 5301
Registered: July 2009
Senior Member
Hi Achim,
Okay thanks, I will check it out.

gr. Martin

Achim Demelt wrote:
> Hi Martin,
>
> I haven't tried this myself, but you may want to take a look at the
> "Coverage" tab in the launch configuration in the IDE. You should have a
> workspace similar to the one you're using for your headless tests, i.e. only
> test bundles as source, and the actual bundles to test as binaries in your
> TP. I think you can then select the binary bundles for coverage analysis.
> But, as I said, I haven't tried this myself.
>
> Cheers,
> Achim
>
> Martin Taal wrote:
>
>> Thanks Achim, clear now, I have made a note of this in the wiki doc also.
>>
>> In Teneo's case the code coverage is less usefull at the moment (but maybe
>> you know a solution :-). Teneo uses a two step build process:
>> 1) build the core plugins and create an update site with them
>> 2) create a new workspace and target platform for the test plugins. The
>> plugins/update site from step 1 are included in the target platform, then
>> build the test plugins and run tests
>>
>> As my main plugins are in the target platform emma does not include them
>> in the code coverage part. Is there a way to tell emma to also include
>> part of the target platform into the code coverage analysis? For example
>> by specifying package names or plugin id's or anything else.
>>
>> I choose this build setup because then the tests are run against the exact
>> binaries/jar files/plugins downloaded by users.
>>
>> gr. Martin
>>
>> Achim Demelt wrote:
>>> No, I mean Buckminster script. That's just a file that contains multiple
>>> Buckminster commands. It can be passed to Buckminster via the
>>> "--scriptfile" argument. For example, my script looks like this:
>>>
>>> import config/tests.cquery
>>> build
>>> emma -l test.engine.all/engine.all.launch -o
>>> ${out.dir}/TEST-engine.all.xml emma -m -l
>>> test.engine.all/engine.all.plugin.launch -o ${out.dir}/TEST-
>>> engine.all.plugin.xml --html ${out.dir}/coverage/coverage.html --xml
>>> ${out.dir}/coverage/coverage.xml
>>>
>>> Note the "-m" argument for the second "emma" call. It merges the coverage
>>> results with those from the preceding "emma" call.
>>>
>>> HTH,
>>> Achim
>>>
>>> Martin Taal wrote:
>>>
>>>> Hi Achim,
>>>> Thanks, with script, you mean ant script? So if one ant script/target
>>>> does several 'emma' calls then it should work?
>>>>
>>>> gr. Martin
>>>>
>>>> Achim Demelt wrote:
>>>>> Hi Martin,
>>>>>
>>>>> That's a great resource for anyone trying to adopt Buckminster for
>>>>> their own projects. Cool!
>>>>>
>>>>> I noticed that you're running multiple emma calls, but Hudson (and most
>>>>> other CI servers) only accepts one coverage output result, which loses
>>>>> most of your coverage output. Well, there's a remedy for that if you
>>>>> can perform all "emma" invocations in a row inside a script. You'll
>>>>> have to pass the "- m" parameter (for merge) to all but the first emma
>>>>> call. The last call to emma should have the --xml option to actually
>>>>> produce the overall coverage output.
>>>>>
>>>>> As I said, you have to perform all emma calls inside a script, because
>>>>> the coverage state gets lost when the VM shuts down.
>>>>>
>>>>> HTH,
>>>>> Achim
>>>>>
>>>>> Martin Taal wrote:
>>>>>
>>>>>> Hi,
>>>>>> I wrote a fairly detailed wiki page on the build setup of Teneo using
>>>>>> Buckminster.
>>>>>>
>>>>>> I hope it is of interest/help for other people to:
>>>>>> http://wiki.eclipse.org/Teneo/Teneo_Build_Setup
>>>>>>
>>
>


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Previous Topic:[hudson] exported empty packages cause compiler errors
Next Topic:Building for Windows on Linux
Goto Forum:
  


Current Time: Thu Apr 24 01:53:11 EDT 2014

Powered by FUDForum. Page generated in 0.02488 seconds