[303878] Enable tagging.
diff --git a/plugins/org.eclipse.xsd.example.installer/buckminster.cspex b/plugins/org.eclipse.xsd.example.installer/buckminster.cspex
index c89ac8d..71f8891 100644
--- a/plugins/org.eclipse.xsd.example.installer/buckminster.cspex
+++ b/plugins/org.eclipse.xsd.example.installer/buckminster.cspex
@@ -1,19 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<cs:cspecExtension xmlns:com="http://www.eclipse.org/buckminster/Common-1.0" xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0">
<cs:dependencies>
- <cs:dependency name="org.eclipse.xsd.example.EXAMPLE" componentType="unknown" />
+ <!--
+ each of the example projects must be listed twice in the dependency list:
+ - once with a component type of "osgi.bunlde" - this copy of the example project is bound
+ to the workspace and associated with a team provider - this is necessary for the project
+ to be tagged when using the Buckminster tagging support to carry out the tagging operation
+ - once with a component type of "unknown" - this copy is NOT bound to the workspace (making
+ it unsuitable for tagging using the Buckminster tagging support, BUT) preventing it from
+ being modified (this is in contrast to the formerly described copy) by any of the builders
+ the project may define - which is what we want when inserting the example project's files
+ into the installer bundle
+ -->
+ <cs:dependency name="org.eclipse.xsd.example" componentType="osgi.bundle" />
+ <cs:dependency name="org.eclipse.xsd.example" componentType="unknown" />
</cs:dependencies>
<cs:actions>
- <cs:public name="buckminster.prebind" actor="ant">
+ <cs:private name="install.example.projects" actor="ant">
<cs:actorProperties>
<cs:property key="buildFile" value="install.ant" />
- <cs:property key="targets" value="install.example.projects" />
</cs:actorProperties>
<cs:prerequisites alias="example.projects">
- <cs:attribute component="org.eclipse.xsd.example.EXAMPLE" />
+ <cs:attribute name="example.projects" />
</cs:prerequisites>
- <cs:products alias="output" base="${buckminster.home}/examples/" />
- </cs:public>
+ <cs:products alias="output" base="${buckminster.temp}">
+ <cs:path path="examples/" />
+ </cs:products>
+ </cs:private>
</cs:actions>
+
+ <cs:groups>
+ <cs:private name="example.projects">
+ <cs:attribute component="org.eclipse.xsd.example" componentType="unknown" />
+ </cs:private>
+ </cs:groups>
+
+ <cs:alterGroups>
+ <cs:private name="jar.contents">
+ <cs:attribute name="install.example.projects" />
+ </cs:private>
+ </cs:alterGroups>
</cs:cspecExtension>
diff --git a/plugins/org.eclipse.xsd.example.installer/install.ant b/plugins/org.eclipse.xsd.example.installer/install.ant
index 0d6f4d8..8062078 100644
--- a/plugins/org.eclipse.xsd.example.installer/install.ant
+++ b/plugins/org.eclipse.xsd.example.installer/install.ant
@@ -1,17 +1,13 @@
<project name="Install">
<target name="install.example.projects">
- <!--
- call the "-install.single.example.project" target for each of the
- example projects
- -->
+ <!-- Call the "-install.single.example.project" target for each of the example projects. -->
<subant genericantfile="${ant.file}" target="-install.single.example.project" inheritall="true">
<buckminster.valuepath value="${fs:example.projects}" />
</subant>
</target>
<target name="-install.single.example.project">
- <basename property="EXAMPLE.project.name" file="${basedir}" />
- <buckminster.substitute property="project.name" pattern="^(.*)\.EXAMPLE$$" replacement="$$1" value="${EXAMPLE.project.name}" />
+ <basename property="project.name" file="${basedir}" />
<property name="target.directory" location="${sp:output}/${project.name}" />
<mkdir dir="${target.directory}" />