Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Eclipse plugins not exported to target platform directory
Eclipse plugins not exported to target platform directory [message #1688772] Sat, 21 March 2015 17:38 Go to next message
Christian Stier is currently offline Christian StierFriend
Messages: 5
Registered: March 2015
Junior Member
Hi all,

recently I've been working on adding a product build job to our Jenkins CI server.
For this, I have set up the respective Buckminster infrastructure following the guide
www. lorenzobettini. it/2013/01/building-an-eclipse-rcp-product-with-buckminster/ .

When I build it in my local Eclipse, everything works out great. However, when I try to execute the same build job on our build server, the ant task called by Buckminster (p2.publish.featuresAndBundles) does not export the default Eclipse features and plugins (org.eclipse.*) to my target platform directory. Consequently, the build is not successful as the product cannot be created successfully due to unresolved dependencies.

I would really appreciate any pointers!

Thanks in advance,
Christian
Re: Eclipse plugins not exported to target platform directory [message #1689957 is a reply to message #1688772] Tue, 24 March 2015 18:15 Go to previous messageGo to next message
Christian Stier is currently offline Christian StierFriend
Messages: 5
Registered: March 2015
Junior Member
As I was stuck on this I started working on a materialization via a separate buckminster project for the target platform.
Now the platform-independent build and construction of the p2 repository succeeds, but when the product creation is started, I run into the following error:

[ant] Installing eu.cactosfp7.cactoscale.cdomodelgenerator.updater.product 1.0.0.
[ant] Installation failed.
[ant] Cannot complete the install because one or more required items could not be found.
[ant]  Software being installed: CDO Model Generator 1.0.0 (eu.cactosfp7.cactoscale.cdomodelgenerator.updater.product 1.0.0)
[ant]  Missing requirement: Core Runtime 3.10.0.v20140318-2214 (org.eclipse.core.runtime 3.10.0.v20140318-2214) requires 'bundle org.eclipse.equinox.common [3.6.100,4.0.0)' but it could not be found
[ant]  Cannot satisfy dependency:
[ant]   From: eu.cactosfp7.cactoscale.cdomodelgenerator.feature 1.0.0.201503241905 (eu.cactosfp7.cactoscale.cdomodelgenerator.feature.feature.group 1.0.0.201503241905)
[ant]   To: eu.cactosfp7.infrastructuremodels 1.0.0
[ant]  Cannot satisfy dependency:
[ant]   From: CDO Model Generator 1.0.0 (eu.cactosfp7.cactoscale.cdomodelgenerator.updater.product 1.0.0)
[ant]   To: eu.cactosfp7.cactoscale.cdomodelgenerator.feature.feature.group [1.0.0.201503241905]
[ant]  Cannot satisfy dependency:
[ant]   From: CACTOS Infrastructure Models 1.0.0.201503111454 (eu.cactosfp7.infrastructuremodels 1.0.0.201503111454)
[ant]   To: bundle org.eclipse.core.runtime [3.10.0,4.0.0)
[ant] Cannot complete the install because one or more required items could not be found.
[ant] Software being installed: CDO Model Generator 1.0.0 (eu.cactosfp7.cactoscale.cdomodelgenerator.updater.product 1.0.0)
[ant] Missing requirement: Core Runtime 3.10.0.v20140318-2214 (org.eclipse.core.runtime 3.10.0.v20140318-2214) requires 'bundle org.eclipse.equinox.common [3.6.100,4.0.0)' but it could not be found
[ant] Cannot satisfy dependency:
[ant] Cannot satisfy dependency:
[ant] Cannot satisfy dependency:


Oddly enough, org.eclipse.equinox.common is also missing from the plugin directory of the target platform - org.eclipse.equinox.common.source is, however, correctly materialized in the platform.
Re: Eclipse plugins not exported to target platform directory [message #1690103 is a reply to message #1688772] Wed, 25 March 2015 09:34 Go to previous messageGo to next message
Lorenzo Bettini is currently offline Lorenzo BettiniFriend
Messages: 1751
Registered: July 2009
Location: Firenze, Italy
Senior Member
On 23/03/2015 15:47, Christian Stier wrote:
> Hi all,
>
> recently I've been working on adding a product build job to our Jenkins
> CI server. For this, I have set up the respective Buckminster
> infrastructure following the guide www. lorenzobettini.
> it/2013/01/building-an-eclipse-rcp-product-with-buckminster/ .
>
> When I build it in my local Eclipse, everything works out great.
> However, when I try to execute the same build job on our build server,
> the ant task called by Buckminster (p2.publish.featuresAndBundles) does
> not export the default Eclipse features and plugins (org.eclipse.*) to
> my target platform directory. Consequently, the build is not successful
> as the product cannot be created successfully due to unresolved
> dependencies.
>

Hi

you say that in your Eclipse everything works: do you mean that you run
the ant script from your machine and it works?

Lorenzo

--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
Xtext Book:
http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book
Re: Eclipse plugins not exported to target platform directory [message #1690123 is a reply to message #1690103] Wed, 25 March 2015 12:14 Go to previous messageGo to next message
Christian Stier is currently offline Christian StierFriend
Messages: 5
Registered: March 2015
Junior Member
Hi Lorenzo,

yes, when I run it on my local machine starting from an empty target platform everything works fine, the binary is created and works.

However, when I execute the command on our build server, org.eclipse.equinox.common is for some reason not materialized in the target platform, while org.eclipse.equinox.common.source is.

Best regards,
Christian

[Updated on: Wed, 25 March 2015 12:16]

Report message to a moderator

Re: Eclipse plugins not exported to target platform directory [message #1690336 is a reply to message #1690123] Thu, 26 March 2015 16:17 Go to previous messageGo to next message
Lorenzo Bettini is currently offline Lorenzo BettiniFriend
Messages: 1751
Registered: July 2009
Location: Firenze, Italy
Senior Member
On 25/03/2015 13:14, Christian Stier wrote:
> Hi Lorenzo,
>
> yes, when I run it on my local machine starting from an empty target
> platform everything works fine, the binary is created and works.
>
> However, when I execute this on our build server,
> org.eclipse.equinox.common is for some reason not materialized in the
> target platform, while org.eclipse.equinox.common.source is.

mh... have you tried to wipe the whole Jenkins (or Hudson, I guess you
use one of them) workspace before the build?

In Jenkins do you use exactly the same ant file or do you use the
Jenkins Buckminster plugin?

cheers
Lorenzo

--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
Xtext Book:
http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book
Re: Eclipse plugins not exported to target platform directory [message #1690397 is a reply to message #1690336] Fri, 27 March 2015 07:34 Go to previous messageGo to next message
Christian Stier is currently offline Christian StierFriend
Messages: 5
Registered: March 2015
Junior Member
Lorenzo Bettini wrote on Thu, 26 March 2015 16:17

mh... have you tried to wipe the whole Jenkins (or Hudson, I guess you
use one of them) workspace before the build?

In Jenkins do you use exactly the same ant file or do you use the
Jenkins Buckminster plugin?

cheers
Lorenzo


Hi Lorenzo,

first of all: Thank you for your help!

I wiped the workspace multiple times - unfortunately that didn't help. However, I managed to finally find a solution.
As I am not sure if this is Buckminster's intended behavior for this case, I will try to outline what was the problem to my understanding.
One of the features I materialized to my target platform referenced (or contained) an older version of org.eclipse.equinox.common. In the process of materializing the platform, either
1) equinox.common was not materialized or
2) it was materialized, then uninstalled due to a higher version requirement, but no replacement was materialized.

I tried solving this by introducing an explicit version constraint at org.eclipse.equinox.common in the cspec of my target platform - to no avail. What did do the trick, however, was further restricting the target platform's cquery to not use workspace or target platform as a lookup path:
<cq:advisorNode namePattern="org.eclipse.equinox.common*" componentType="osgi.bundle" useMaterialization="false" useTargetPlatform="false" useWorkspace="false"/>


Best regards,
Christian
Re: Eclipse plugins not exported to target platform directory [message #1690419 is a reply to message #1690397] Fri, 27 March 2015 09:17 Go to previous message
Lorenzo Bettini is currently offline Lorenzo BettiniFriend
Messages: 1751
Registered: July 2009
Location: Firenze, Italy
Senior Member
On 27/03/2015 08:34, Christian Stier wrote:
> Lorenzo Bettini wrote on Thu, 26 March 2015 16:17
>> mh... have you tried to wipe the whole Jenkins (or Hudson, I guess you
>> use one of them) workspace before the build?
>>
>> In Jenkins do you use exactly the same ant file or do you use the
>> Jenkins Buckminster plugin?
>>
>> cheers
>> Lorenzo
>
>
> Hi Lorenzo,
>
> first of all: Thank you for your help!
>
> I wiped the workspace multiple times - unfortunately that didn't help.
> However, I managed to finally find a solution.
> As I am not sure if this is Buckminster's intended behavior for this
> case, I will try to outline what was the problem to my understanding.
> One of the features I materialized to my target platform referenced (or
> contained) an older version of org.eclipse.equinox.common. In the
> process of materializing the platform, either
> 1) equinox.common was not materialized or
> 2) it was materialized, then uninstalled due to a higher version
> requirement, but no replacement was materialized.
>
> I tried solving this by introducing an explicit version constraint at
> org.eclipse.equinox.common in the cspec of my target platform - to no
> avail. What did do the trick, however, was further restricting the
> target platform's cquery to not use workspace or target platform as a
> lookup path:
> <cq:advisorNode namePattern="org.eclipse.equinox.common*"
> componentType="osgi.bundle" useMaterialization="false"
> useTargetPlatform="false" useWorkspace="false"/>
>

Hi

anyway, it's strange it works locally and not in the build system :)

Lorenzo

--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
Xtext Book:
http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book
Previous Topic:materialize: p2 artifacts downloaded multiple times
Next Topic:Creating plug-in update sites
Goto Forum:
  


Current Time: Fri Oct 19 16:26:38 GMT 2018

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

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

Back to the top