Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Building an update site for multiple OS/WS/Arch combinations

Hola Juan,

 

Well, after removing the filters for both ‘x86’ and ‘x86_64’, I got my example working.

So for the filters, I now only filter on the OS and the WS, no longer on the Architecture.

 

That got my example working J

I’m still working on getting out product working…

 

Gracias,

 

Marcel

 

 

From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Juan Antonio Gonzalez Cano
Sent: Friday, July 31, 2015 14:02 PM
To: Tycho user list <tycho-user@xxxxxxxxxxx>
Subject: Re: [tycho-user] Building an update site for multiple OS/WS/Arch combinations

 

Hello, I recommend you use the opcion -X, ie mvn clean install -X, so you can see that feature or plugin has problem, surely there is a feature some fragment o plugin has not specified its enviroment.


Un saludo

 

 

2015-07-31 11:13 GMT+01:00 Marcel Romijn <mromijn@xxxxxxxxxxxxxxxxxx>:

Hi Daniel,

Thanks for thinking along!

I tried what you proposed: in the itp04-rcp example remove the tycho-p2-director from the eclipse-repository plugin, but that has no effect on the generated repository. It still contains 8 features and 114 plugins.
The only difference appears to be that the /eclipse-repository/target/products folder is no longer created.

Regarding the two questions:
1) In our aggregator build, we have indeed everything mentioned. All plugins and features are available in the reactor at the time the update site is built.
2) We have a parent POM that enumerates all environments in the target-platform-configuration plugin. Plugins and features that are platform independent do not have the environments specified. And plugins and features which are platform specific have the appropriate environments set in the target-platform-configuration plugin.

As an experiment, I tried the following in the itp04-rcp example:
- I created two new bundles: 'example-bundle-linux' and 'example-bundle-win32'.
- I gave these plugins a platform filter of " (& (osgi.os=linux) (osgi.ws=gtk) (osgi.arch=x86_64)) " and " (& (osgi.os=win32) (osgi.ws=win32) (osgi.arch=x86_64)) " respectively.
- In their POMs, I added the target-platform-configuration plugin and set the environments to os=linux, ws=gtk, arch=x86_64 and os=win32, ws=win32, arch=x86_64 respectively.
- I added the plugins to the example-feature and in there specified the environments on the 'Plug-ins' tab.
- I added the plugins to the aggregate POM.

I expected this to give the same problem as we had, but it didn't...!

When looking at the differences, I noticed that we specified 5 environments:
- win32 32-bit and win32 64-bit
- linux 32-bit and linux 64-bit
- macosx 64-bit
Where the itp04-rcp example specifies 3 environments:
- win32 win32 64-bit
- linux 64-bit
- macosx 64-bit

After removing all architecture filters in our examples, it also worked!
The update site now includes all plugins, even the platform specific ones. And the Tycho build no longer complains about missing requirements on platform specific plugins.

So:
- This does not work:(& (osgi.os=win32) (osgi.ws=win32) (| (osgi.arch=x86) (osgi.arch=x86_64)))
- This works:(& (osgi.os=win32) (osgi.ws=win32) (osgi.arch=x86_64))
- This works:(& (osgi.os=win32) (osgi.ws=win32))

I'm going to use this knowledge to try and get the Tycho build of our product to work as well...


Kind regards,

Marcel

-----Original Message-----
From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Daniel Johnson (danijoh2)
Sent: Thursday, July 30, 2015 17:58 PM
To: Tycho user list <tycho-user@xxxxxxxxxxx>
Subject: Re: [tycho-user] Building an update site for multiple OS/WS/Arch combinations

Hi Marcel,

As for the RCP example, I believe if you remove the tycho-p2-director-plugin from the example update site project that it would build a repository just with the plugins and features that are defined inthe category.xml. I believe it is the materialize-products goal that downloads all the extra dependencies into target/repository that are required for the RCP to run.

Two other things that may be causing issues:
1) Are you building your update site in an aggregator build along with your plugins and features? It needs to be, otherwise the update site project won’t know where to find the features/plugins.
2) Does your target-platform-configuration in your POM declare all three environments (see the parent POM of the RCP example)?

Regards,
Daniel


On 7/30/15, 4:12 AM, "tycho-user-bounces@xxxxxxxxxxx on behalf of Marcel Romijn" <tycho-user-bounces@xxxxxxxxxxx on behalf of mromijn@xxxxxxxxxxxxxxxxxx> wrote:

>Hello Jan,
>
>Thanks for the prompt reply!
>
>I have indeed seen that example.
>At the time, I have not looked deeply into it, because it seemed more geared towards building an RCP for multiple platforms, but the plugin and features themselves do not have platform filters.
>
>I just pulled itp04 from git an built it.
>When I see the built result, I see that the update site (folder /itp04-rcp/eclipse-repository/target/repository) not only contains the 'example-bundle', but also the whole Mars platform.
>
>The solution we're looking for is:
>- An update site with only our plugins and features
>- An example where the plugins and features have platform filters
>
>Also, the minimum version where our product is supposed to install on is Eclipse 4.2.2, so we're using Juno as target platform.
>
>How to best proceed?
>
>
>Many thanks and regards,
>
>Marcel
>
>
>-----Original Message-----
>From: tycho-user-bounces@xxxxxxxxxxx
>[mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Sievers, Jan
>Sent: Thursday, July 30, 2015 12:23 PM
>To: Tycho user list <tycho-user@xxxxxxxxxxx>
>Subject: Re: [tycho-user] Building an update site for multiple
>OS/WS/Arch combinations
>
>> Are there examples on how to accomplish that? (I looked, but I could
>> not find them)
>
>check demo project
>http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp04-rc
>p
>
>Regards
>Jan
>
>From: tycho-user-bounces@xxxxxxxxxxx
>[mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Marcel Romijn
>Sent: Donnerstag, 30. Juli 2015 12:08
>To: tycho-user@xxxxxxxxxxx
>Subject: [tycho-user] Building an update site for multiple OS/WS/Arch
>combinations
>
>Hello,
>
>We have a product, which consist of many plugins and features. This is available from an update site. Up till now, it has been built with Tycho on a Windows platform for win32 only.
>We want to gradually make the product available for non-win32 platforms as well. We want to create an update site where the product can be downloaded on win32, linux and macosx.
>
>The basic pattern that we use is to have one base plugin that defines an extension point. Then we have multiple plugins that contribute to that extension point, one for each supported platform.
>These contributing plugins have their platform filter set and their pom.xml also have their environments set appropriately.
>These platform specific plugins are referred in platform specific features. They also have their filter set and pom.xml configured.
>Finally, there is an update site definition which points to the respective platform specific features.
>
>To make it easier to test, I created a small set of plugins, features, etc… for only win32 and linux, just to get my head around how everything should be configured.
>But when I build that on a win32.win32.x86_64 platform, the update site part of the build produces this error:
>
>[INFO]
>-----------------------------------------------------------------------
>- [INFO] Building com.example.updatesite 1.0.0-SNAPSHOT [INFO]
>-----------------------------------------------------------------------
>-
>[INFO]
>[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @
>com.example.updatesite --- [INFO] Deleting
>D:\RMOB-1483\WorkspaceTestMultiplatform\com.example.updatesite\target
>[INFO]
>[INFO] --- tycho-packaging-plugin:0.20.0:build-qualifier-aggregator (default-build-qualifier-aggregator) @ com.example.updatesite --- [INFO] The project's OSGi version is 1.0.0.201507300932 [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean-1) @ com.example.updatesite --- [INFO] [INFO] --- tycho-p2-publisher-plugin:0.20.0:publish-products (default-publish-products) @ com.example.updatesite --- [INFO] Cannot complete the request.  Generating details.
>[INFO] Cannot complete the request.  Generating details.
>[INFO] {osgi.ws=gtk, osgi.os=linux, osgi.arch=x86,
>org.eclipse.update.install.features=true}
>[ERROR] Cannot resolve project dependencies:
>[ERROR]   Software being installed: com.example.updatesite raw:1.0.0.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):1.0.0-SNAPSHOT
>[ERROR]   Missing requirement: com.example.updatesite raw:1.0.0.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):1.0.0-SNAPSHOT requires 'com.example.feature.application.win32.feature.group [1.0.0,1.0.1)' but it could not be found [ERROR]
>
>
>So it looks like it cannot find a win32-specific feature when it is resolving for linux?
>
>My questions are:
>-          Is it possible what we want: have one Tycho build build one update site which can be used for multiple OS/WS/Arch combinations?
>-          Are there examples on how to accomplish that? (I looked, but I could not find them)
>
>If necessary, I can make my set of example plugins, features, etc… available.
>
>Thanks!
>
>Marcel Romijn
>Software Engineer
>Rocket Software
>Korte Parallelweg 1 • 3311 JN Dordrecht • Netherlands
>Tel: +31 78 6322800 • Fax: +31 78 6138134
>Email: mromijn@xxxxxxxxxxxxxxxxxx
>Web: seagull.rocketsoftware.com
>Twitter • Facebook • YouTube • LinkedIn
>
>
>================================
>Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA
>02451 ■ +1 800.966.3270 +1 781.577.4321 Unsubscribe From Commercial
>Email – unsubscribe@xxxxxxxxxxxxxxxxxx Manage Your Subscription
>Preferences -
>http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_
>SubscriptionCenter.html Privacy Policy -
>http://www.rocketsoftware.com/company/legal/privacy-policy
>================================
>
>This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you.
>_______________________________________________
>tycho-user mailing list
>tycho-user@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>from this list, visit
>https://dev.eclipse.org/mailman/listinfo/tycho-user
>================================
>Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA
>02451 ■ +1 800.966.3270 +1 781.577.4321 Unsubscribe From Commercial
>Email – unsubscribe@xxxxxxxxxxxxxxxxxx Manage Your Subscription
>Preferences -
>http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_
>SubscriptionCenter.html Privacy Policy -
>http://www.rocketsoftware.com/company/legal/privacy-policy
>================================
>
>This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you.
>_______________________________________________
>tycho-user mailing list
>tycho-user@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>from this list, visit
>https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/tycho-user
================================
Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ +1 800.966.3270+1 781.577.4321
Unsubscribe From Commercial Email – unsubscribe@xxxxxxxxxxxxxxxxxx
Manage Your Subscription Preferences - http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_SubscriptionCenter.html
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy
================================

This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you.
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user

 

================================
Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ +1 800.966.3270 ■ +1 781.577.4321
Unsubscribe From Commercial Email – unsubscribe@xxxxxxxxxxxxxxxxxx
Manage Your Subscription Preferences - http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_SubscriptionCenter.html
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy
================================


Back to the top