Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Tigerstripe Buckminster Integration Tutorial"

(Example Overview)
(Installation)
 
(85 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{backlink|Tigerstripe_Tutorials}}
 
{{backlink|Tigerstripe_Tutorials}}
  
=Prerequisites=  
+
==Prerequisites==
*The tutorial will use CVS for the example projects source repository.
+
*This tutorial will assume a working knowledge and installation of the Tigerstripe Workbench [http://www.eclipse.org/tigerstripe] and the Buckminster [http://www.eclipse.org/buckminster] Eclipse plug-ins.
*This tutorial will assume general knowledge and installation of both the Tigerstripe Workbench [http://www.eclipse.org/tigerstripe] and the Buckminster [http://www.eclipse.org/buckminster] Eclipse plug-ins.
+
  
=Example Overview=
+
==Overview==
The following is an overview of the Tigerstripe project that will be used in this tutorial. This project will materialize several components, including the following:
+
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.
*'''CoreModel''' - This is the primary Tigerstripe model project. This model project will internally reference the ReferencedModel project.
+
*'''ReferencedModel''' - This is a Tigerstripe model project this is referenced by the CoreModel project described above. The presence of this model is required in an Eclipse workspace for the CoreModel project to build.
+
*'''VersionedModel''' - This is a Tigerstripe model project, as well. It will be included in the workspace via a CSPEC definition in the CoreModel project. This is currently the only mechanism for defining a version based inclusion for a Tigerstripe project. ''Phase II will allow specific versions to be defined in the Tigerstripe model project.''
+
  
=Materialization=
+
==Installation==
 +
This section will walk through the installation of the Tigerstripe Buckminster Integration plug-in.
  
This section will describe the Tigerstripe workspace materialization process. This description will include an overview of required components, and a walk-through using sample configuration files and projects available from the Tigerstripe CVS repository.
+
# Download [[Media:TigerstripeBuckminsterFeature.zip | TigerstripeBuckminsterFeature.zip]] and unzip the bundle into the Eclipse installation directory. Restart Eclipse, if necessary.
  
==Components==
+
==Example==
===CQUERY===
+
This section will describe how to materialize your Tigerstripe workspace and provide a description of the required Buckminster configuration files.
A Component Query (CQUERY) is the file based input required by Buckminster to initiate the materialization process. For more information about the CQUERY see [[Buckminster_Component_Query | Buckminster Component Query]].
+
====Running the Example====
 +
#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/eclipse-summit-08.cquery http://www.eclipse.org/tigerstripe/queries/eclipse-summit-08.cquery]
 +
#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.
 +
 
 +
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 [[Introduction_to_Buckminster#Resource_Maps_.28RMAPs.29|Resource Maps]] section of the Buckminster Introduction.
  
Example CQUERY file:
 
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
<cq:componentQuery
+
<rmap
   xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0"  
+
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   resourceMap="http://www.eclipse.org/tigerstripe/queries/tutorial.rmap">
+
  xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
     <cq:rootRequest
+
   xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0">
       name="CoreReferencedProject"  
+
       componentType="tigerstripe" versionType="OSGi"/>
+
  <searchPath name="default">
</cq:componentQuery>
+
     <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>
 
</pre>
 
</pre>
  
This CQUERY file defines a base buckminster component. This particular component happens to be a Tigerstripe project with additional project references defined internally.
+
==== 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.
  
===RMAP===
+
This .cspec would reside in the Equipment-model project.
===CSPEC (Optional, but required for version support in Phase 1)===
+
<pre>
 +
<?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>
 +
</pre>
  
==Sample Project Materialization==
+
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.

Back to the top