Jump to: navigation, search

Difference between revisions of "Tigerstripe Buckminster Integration Tutorial"

(Overview)
(Installation)
 
(23 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
==Overview==
 
==Overview==
This tutorial will use the sample presented at the Eclipse Summit 2008. For information about this project, including content, hierarchy, and additional dependencies (including Tigerstripe generators) please see the [http://wiki.eclipse.org/TigerstripeAtEclipseSummit08#Content|Tigerstripe At Eclipse Summit 08, Contents] entry.
+
This tutorial will use the sample presented at the Eclipse Summit 2008. For information about this project, including content, hierarchy, and additional dependencies (including Tigerstripe generators) please see the [http://wiki.eclipse.org/TigerstripeAtEclipseSummit08#Content Tigerstripe At Eclipse Summit 08, Contents] entry.
  
 
==Installation==
 
==Installation==
 
This section will walk through the installation of the Tigerstripe Buckminster Integration plug-in.
 
This section will walk through the installation of the Tigerstripe Buckminster Integration plug-in.
 +
 +
# Download [[Media:TigerstripeBuckminsterFeature.zip | TigerstripeBuckminsterFeature.zip]] and unzip the bundle into the Eclipse installation directory. Restart Eclipse, if necessary.
 +
 
==Example==
 
==Example==
 
This section will describe how to materialize your Tigerstripe workspace and provide a description of the required Buckminster configuration files.
 
This section will describe how to materialize your Tigerstripe workspace and provide a description of the required Buckminster configuration files.
 
====Running the Example====
 
====Running the Example====
 
#Open Eclipse. Create a new workspace for this tutorial.
 
#Open Eclipse. Create a new workspace for this tutorial.
#Navigate to the File -> Open a Component Query... dialog and paste the CQUERY's URL (below) into the dialog's "URL for query" text box.<br> [http://www.eclipse.org/tigerstripe/queries/tutorial.cquery http://www.eclipse.org/tigerstripe/queries/tutorial.cquery]
+
#Navigate to the File -> Open a Component Query... dialog and paste the CQUERY's URL (below) into the dialog's "URL for query" text box.<br> [http://www.eclipse.org/tigerstripe/queries/eclipse-summit-08.cquery http://www.eclipse.org/tigerstripe/queries/eclipse-summit-08.cquery]
 
#Click "OK". This will open the Buckminster CQUERY Editor.
 
#Click "OK". This will open the Buckminster CQUERY Editor.
 
#Click "Resolve and Materialize" in the CQUERY Editor. This will materialize the project's components from this example into your workspace.
 
#Click "Resolve and Materialize" in the CQUERY Editor. This will materialize the project's components from this example into your workspace.
  
If you are using the Tigerstripe perspective in Eclipse you will see the CoreModel, ReferencedModel, and VersionedModel projects. If you are in the Java perspective (or other) you will see the model projects noted above along with the ProjectDefinition project.
+
If you are using the Tigerstripe perspective in Eclipse you will see the ClassLevel-Generator, common-model, and Equipment-model projects. If you see errors in any of the projects, simple clean and rebuild the workspace.
  
 
====RMAP====
 
====RMAP====
The RMAP used in this tutorial is presented below. This is a standard RMAP file, with the exception of the "tigerstripe" component type. This component type is made available when the optional Tigerstripe Buckminster plug-in is installed.
+
The RMAP used in this tutorial is presented below. This is a standard RMAP file, with the exception of the "tigerstripe" and "tigerstripe.generator" component types. These component types are made available when the optional Tigerstripe Buckminster plug-in is installed.
  
 
For more information on RMAP files see the [[Introduction_to_Buckminster#Resource_Maps_.28RMAPs.29|Resource Maps]] section of the Buckminster Introduction.
 
For more information on RMAP files see the [[Introduction_to_Buckminster#Resource_Maps_.28RMAPs.29|Resource Maps]] section of the Buckminster Introduction.
Line 26: Line 29:
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
  <rmap
+
<rmap
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
+
  xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
    xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
+
  xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0">
    xmlns:mp="http://www.eclipse.org/buckminster/MavenProvider-1.0"
+
    xmlns:pp="http://www.eclipse.org/buckminster/PDEMapProvider-1.0">
+
  <searchPath name="default">
    <searchPath name="default">
+
    <provider readerType="cvs" componentTypes="buckminster,tigerstripe,tigerstripe.generator" source="true">
      <provider readerType="cvs" componentTypes="tigerstripe,buckminster" source="true">
+
      <uri format=":pserver:anonymous@dev.eclipse.org:/cvsroot/technology,org.eclipse.tigerstripe/samples/EclipseSummit08/{0}">
        <uri format=":pserver:anonymous@dev.eclipse.org:/cvsroot/technology,org.eclipse.tigerstripe/samples/Buckminster/{0}">
+
        <bc:propertyRef key="buckminster.component" />
  <bc:propertyRef key="buckminster.component" />
+
      </uri>
        </uri>
+
    </provider>
      </provider>
+
  </searchPath>
    </searchPath>
+
    <locator searchPathRef="default" pattern=".*" />
+
  <locator searchPathRef="default" pattern=".*" />
 +
 
</rmap>
 
</rmap>
 
</pre>
 
</pre>
  
====CSPEC====
+
==== Component Versioning ====
The CSPEC, found in the ProjectDefinition meta project, is show below. This is a standard CSPEC file with the exception of the "tigerstripe" component type definitions found in the dependencies section. This component type is made available when the optional Tigerstripe Buckminster plug-in is installed. Note the version specification.
+
Tigerstripe components that are discovered via the project reference definition will not currently support versioning without "hints" supplied in a .cspec file. In order to resolve a specific version of a "referenced" Tigerstripe component a user will need to define a .cspec in the primary model project (or in a separate "meta" project) and explicitly define the dependency and version in the cspec. See the example below.
 
+
For more information on CSPECs see the [[Introduction_to_Buckminster#Component_Specifications_.28CSPECs.29|Component Specification]] section of the Buckminster Introduction.
+
  
 +
This .cspec would reside in the Equipment-model project.
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
<cs:cspec xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0"  
+
<cs:cspec xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0" name="Equipment-model" componentType="buckminster" version="1.0.0" versionType="OSGi">
  name="ProjectDefinition"  
+
    <cs:dependencies>
  componentType="buckminster"  
+
        <cs:dependency name="common-model" componentType="tigerstripe" versionDesignator="[3.0.0,3.0.0]" versionType="OSGi"/>/>
  version="1.0.0" versionType="OSGi">
+
    </cs:dependencies>
  <cs:dependencies>
+
    <cs:dependency name="CoreModel" componentType="tigerstripe"/>
+
    <cs:dependency name="VersionedModel" componentType="tigerstripe" versionDesignator="[3.0.0,3.0.0]" versionType="OSGi"/>
+
  </cs:dependencies>
+
 
</cs:cspec>
 
</cs:cspec>
 
</pre>
 
</pre>
 +
 +
For more information on CSPEC files see the [[Introduction_to_Buckminster#Component_Specifications_.28CSPECs.29|Component Specifications]] section of the Buckminster Introduction.

Latest revision as of 16:22, 17 November 2008

< To: Tigerstripe_Tutorials

Prerequisites

  • This tutorial will assume a working knowledge and installation of the Tigerstripe Workbench [1] and the Buckminster [2] Eclipse plug-ins.

Overview

This tutorial will use the sample presented at the Eclipse Summit 2008. For information about this project, including content, hierarchy, and additional dependencies (including Tigerstripe generators) please see the Tigerstripe At Eclipse Summit 08, Contents entry.

Installation

This section will walk through the installation of the Tigerstripe Buckminster Integration plug-in.

  1. Download TigerstripeBuckminsterFeature.zip and unzip the bundle into the Eclipse installation directory. Restart Eclipse, if necessary.

Example

This section will describe how to materialize your Tigerstripe workspace and provide a description of the required Buckminster configuration files.

Running the Example

  1. Open Eclipse. Create a new workspace for this tutorial.
  2. Navigate to the File -> Open a Component Query... dialog and paste the CQUERY's URL (below) into the dialog's "URL for query" text box.
    http://www.eclipse.org/tigerstripe/queries/eclipse-summit-08.cquery
  3. Click "OK". This will open the Buckminster CQUERY Editor.
  4. Click "Resolve and Materialize" in the CQUERY Editor. This will materialize the project's components from this example into your workspace.

If you are using the Tigerstripe perspective in Eclipse you will see the ClassLevel-Generator, common-model, and Equipment-model projects. If you see errors in any of the projects, simple clean and rebuild the workspace.

RMAP

The RMAP used in this tutorial is presented below. This is a standard RMAP file, with the exception of the "tigerstripe" and "tigerstripe.generator" component types. These component types are made available when the optional Tigerstripe Buckminster plug-in is installed.

For more information on RMAP files see the Resource Maps section of the Buckminster Introduction.

<?xml version="1.0" encoding="UTF-8"?>
<rmap
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
  xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0">
	
  <searchPath name="default">
    <provider readerType="cvs" componentTypes="buckminster,tigerstripe,tigerstripe.generator" source="true">
      <uri format=":pserver:anonymous@dev.eclipse.org:/cvsroot/technology,org.eclipse.tigerstripe/samples/EclipseSummit08/{0}">
        <bc:propertyRef key="buckminster.component" />
      </uri>
    </provider>
  </searchPath>
	
  <locator searchPathRef="default" pattern=".*" />
	
</rmap>

Component Versioning

Tigerstripe components that are discovered via the project reference definition will not currently support versioning without "hints" supplied in a .cspec file. In order to resolve a specific version of a "referenced" Tigerstripe component a user will need to define a .cspec in the primary model project (or in a separate "meta" project) and explicitly define the dependency and version in the cspec. See the example below.

This .cspec would reside in the Equipment-model project.

<?xml version="1.0" encoding="UTF-8"?>
<cs:cspec xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0" name="Equipment-model" componentType="buckminster" version="1.0.0" versionType="OSGi">
    <cs:dependencies>
        <cs:dependency name="common-model" componentType="tigerstripe" versionDesignator="[3.0.0,3.0.0]" versionType="OSGi"/>/>
    </cs:dependencies>
</cs:cspec>

For more information on CSPEC files see the Component Specifications section of the Buckminster Introduction.