Community
Participate
Working Groups
Build Identifier: Version: Indigo Service Release 1 Build id: 20110916-0149, with Buckminster - Core 1.4.0.v20120125-1638 If an advisor node in a CQuery contains any properties, then all properties defined elsewhere (for example, on the CQuery properties tab) are ignored. Example: The 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. I have a test case that reproduces the bug, and shows why it is a problem: (1) Set up a workspace with an empty target platform (a simple way to do this to download and unzip http://www.opengda.org/buckminster/templates/template_workspace_v2.0.zip) (2) Open the Component Query at http://www.opengda.org/buckminster/base/buckminster-property-bug.cquery Notice that the CQuery has properties of target.arch=*, target.os=*, target.ws=* Notice that the CQuery has an advisor node for ^org\.eclipse\..+$ which has a property of buckminster.download.source=true (3) Resolve and Materialize the CQuery. Look in the dynamically provisioned target platform. You will see a just one platform-specific directory called org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505 (or whatever platform you materialized on) (4) Now repeat the experiment in a fresh workspace, but before materializing, edit the CQuery advisor node for org\.eclipse\..+$, and remove the property (so the advisor node does nothing) (5) Resolve and Materialize the CQuery. Look in the dynamically provisioned target platform. You will see see a platform-specific directory org.eclipse.equinox.launcher.* for every platform. You can see how the presence of the property in the advisor node meant that the target.x=* properies were not inherited. Reproducible: Always