Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Buckminster 3.7 materialize doesn't materialize for other platforms (it did in 3.6)
icon9.gif  Buckminster 3.7 materialize doesn't materialize for other platforms (it did in 3.6) [message #756620] Mon, 14 November 2011 14:24 Go to next message
Matthew Webber is currently offline Matthew Webber
Messages: 198
Registered: December 2010
Senior Member
I use buckminster to materialize a CQuery which includes the following:
<cq:property key="target.arch" value="*"/>
<cq:property key="target.os" value="*"/>
<cq:property key="target.ws" value="*"/>


This is into a fresh workspace with an empty target platform. What's supposed to happen is that the target platform is populated with plugins for all architectures. However, in 3.7, it only gets the plugins for the platform doing the materialize. In 3.6, it correctly fetches for all architectures.

The problem in 3.7 seems to be there for both IDE and command line materialize. For command line materialize, I checked some earlier 3.7 releases, and the problem was still there.

Here's what 3.7 materializes:
$ find tp/ -name "org.eclipse.swt*"
tp/plugins/org.eclipse.swt_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.linux.x86_3.7.1.v3738a.jar
$ find tp/ -name "org.eclipse.equinox.launcher*"
tp/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505
tp/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar


Here's what 3.6 materializes:
$ find tp/ -name "org.eclipse.swt*"
tp/plugins/org.eclipse.swt.gtk.solaris.sparc_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.linux.ppc64_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.aix.ppc_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.carbon.macosx_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.solaris.x86_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.linux.s390_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.win32.win32.x86_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.win32.win32.x86_64_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.hpux.ia64_32_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.cocoa.macosx_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.linux.x86_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.linux.s390x_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.aix.ppc64_3.7.1.v3738a.jar
tp/plugins/org.eclipse.swt.gtk.linux.x86_64_3.7.1.v3738a.jar
$ find tp/ -name "org.eclipse.equinox.launcher*"
tp/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
tp/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505
tp/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
tp/plugins/org.eclipse.equinox.launcher.gtk.linux.s390x_1.1.100.v20110505
tp/plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.100.v20110502
tp/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
tp/plugins/org.eclipse.equinox.launcher.gtk.solaris.x86_1.1.100.v20110505
tp/plugins/org.eclipse.equinox.launcher.gtk.hpux.ia64_32_1.0.0.v20110502
tp/plugins/org.eclipse.equinox.launcher.carbon.macosx_1.1.100.v20110502
tp/plugins/org.eclipse.equinox.launcher.gtk.linux.ppc64_1.0.100.v20110505
tp/plugins/org.eclipse.equinox.launcher.gtk.aix.ppc64_1.1.0.v20110530
tp/plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
tp/plugins/org.eclipse.equinox.launcher.gtk.solaris.sparc_1.1.100.v20110505
tp/plugins/org.eclipse.equinox.launcher.gtk.aix.ppc_1.1.0.v20110530
tp/plugins/org.eclipse.equinox.launcher.gtk.linux.s390_1.1.100.v20110505
tp/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.100.v20110502


Note that when I refer to 3.7 and 3.6, that's the Eclipse/Buckminster version doing the materialize. As it happens, the CQuery I used uses a target platform from 3.7 (Indigo). As a test, I switched back to using a target platform from 3.6 (Helios). The problem persisted.

Is this a bug (in which case I'll open a bugzilla), or has something changed by design in Indigo?

Thanks
Matthew


Re: Buckminster 3.7 materialize doesn't materialize for other platforms (it did in 3.6) [message #756793 is a reply to message #756620] Tue, 15 November 2011 07:05 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
Hi Matthew,

We run multi platform materializations all the time with 3.7 without problems. We do this in several and very different
projects. What you encounter here must somehow be specific to your setup.

It would be helpful if you can provide a reproducible example in a bugzilla.

Kind Regards,
Thomas Hallgren


On 2011-11-14 15:24, Matthew Webber wrote:
> I use buckminster to materialize a CQuery which includes the following:
> <cq:property key="target.arch" value="*"/>
> <cq:property key="target.os" value="*"/>
> <cq:property key="target.ws" value="*"/>
>
> This is into a fresh workspace with an empty target platform. What's supposed to happen is that the target platform is
> populated with plugins for all architectures. However, in 3.7, it only gets the plugins for the platform doing the
> materialize. In 3.6, it correctly fetches for all architectures.
>
> The problem in 3.7 seems to be there for both IDE and command line materialize. For command line materialize, I checked
> some earlier 3.7 releases, and the problem was still there.
>
> Here's what 3.7 materializes:
> $ find tp/ -name "org.eclipse.swt*"
> tp/plugins/org.eclipse.swt_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.linux.x86_3.7.1.v3738a.jar
> $ find tp/ -name "org.eclipse.equinox.launcher*"
> tp/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
>
> Here's what 3.6 materializes:
> $ find tp/ -name "org.eclipse.swt*"
> tp/plugins/org.eclipse.swt.gtk.solaris.sparc_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.linux.ppc64_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.aix.ppc_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.carbon.macosx_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.solaris.x86_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.linux.s390_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.win32.win32.x86_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.win32.win32.x86_64_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.hpux.ia64_32_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.cocoa.macosx_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.linux.x86_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.linux.s390x_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.aix.ppc64_3.7.1.v3738a.jar
> tp/plugins/org.eclipse.swt.gtk.linux.x86_64_3.7.1.v3738a.jar
> $ find tp/ -name "org.eclipse.equinox.launcher*"
> tp/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
> tp/plugins/org.eclipse.equinox.launcher.gtk.linux.s390x_1.1.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.100.v20110502
> tp/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
> tp/plugins/org.eclipse.equinox.launcher.gtk.solaris.x86_1.1.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher.gtk.hpux.ia64_32_1.0.0.v20110502
> tp/plugins/org.eclipse.equinox.launcher.carbon.macosx_1.1.100.v20110502
> tp/plugins/org.eclipse.equinox.launcher.gtk.linux.ppc64_1.0.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher.gtk.aix.ppc64_1.1.0.v20110530
> tp/plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
> tp/plugins/org.eclipse.equinox.launcher.gtk.solaris.sparc_1.1.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher.gtk.aix.ppc_1.1.0.v20110530
> tp/plugins/org.eclipse.equinox.launcher.gtk.linux.s390_1.1.100.v20110505
> tp/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.100.v20110502
>
> Note that when I refer to 3.7 and 3.6, that's the Eclipse/Buckminster version doing the materialize. As it happens, the
> CQuery I used uses a target platform from 3.7 (Indigo). As a test, I switched back to using a target platform from 3.6
> (Helios). The problem persisted.
>
> Is this a bug (in which case I'll open a bugzilla), or has something changed by design in Indigo?
>
> Thanks
> Matthew
>
>
>
Re: Buckminster 3.7 materialize doesn't materialize for other platforms (it did in 3.6) [message #756870 is a reply to message #756793] Tue, 15 November 2011 11:56 Go to previous messageGo to next message
Matthew Webber is currently offline Matthew Webber
Messages: 198
Registered: December 2010
Senior Member
OK, I found the conditions that trigger this bug.

As I indicated, my CQuery set the following properties:
<cq:property key="target.arch" value="*"/>
<cq:property key="target.os" value="*"/>
<cq:property key="target.ws" value="*"/>


My CQuery also had an advisor node, which looks like this:
<cq:advisorNode namePattern=".*" branchTagPath="8.18">
<cq:documentation xmlns="http://www.w3.org/1999/xhtml">Specifies the branch of the subversion repository</cq:documentation>
<cq:property key="include_source" value="yes"/>
</cq:advisorNode>


If I remove the property key (which lucky for me isn't in fact used), then the materialize includes the plugins for all platforms, as it's supposed to. My guess is that something broke in the property inheritance logic from 3.6 to 3.7.

I'll create a test case and open a bugzilla for this.

Matthew



Re: Buckminster 3.7 materialize doesn't materialize for other platforms (it did in 3.6) [message #793605 is a reply to message #756870] Wed, 08 February 2012 10:39 Go to previous message
Matthew Webber is currently offline Matthew Webber
Messages: 198
Registered: December 2010
Senior Member
I have opened bugzilla https://bugs.eclipse.org/bugs/show_bug.cgi?id=370928 for this problem. The bugzilla includes a publically-visible CQuery and repository to reproduce the problem.

Summary of problem:
A CQuery properties tab defines properties "x=1" and "y=2". An Advisor node defines properties "y=100" and "z=3". Then for components that are selected by that advisor node, properties "x=1", "y=100", "z=3" should apply, with "x" inheritered and not overridden, "y" overidden, and "z" added.

That was how it worked in Buckminster 3.6. However, in Buckminster 3.7, for components that are selected by that advisor node, only properties "y=100", "z=3" applied, with "x" not inherited.

Thanks
Matthew
Previous Topic:Need help figuring out how to automate Subclipse build using Buckminster
Next Topic:How to I specify an ssh key passphrase when using headless Buckminster?
Goto Forum:
  


Current Time: Sat Oct 25 10:34:03 GMT 2014

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

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