Jump to: navigation, search

Difference between revisions of "Orbit/Bundle Checklist"

(Create a Source Bundle)
Line 19: Line 19:
 
* Modify the bundle manifest to add the line to say that your source bundle is attached to the main bundle.
 
* Modify the bundle manifest to add the line to say that your source bundle is attached to the main bundle.
 
<pre>
 
<pre>
 +
...
 +
Bundle-SymbolicName: my.bundle.id.source
 
Eclipse-SourceBundle: my.bundle.id;version="1.0.0.qualifier"
 
Eclipse-SourceBundle: my.bundle.id;version="1.0.0.qualifier"
 +
...
 
</pre>
 
</pre>
* Extract the source.
+
* Extract the source to the root of the directory.
* Modify the <code>build.properties</code> to ensure the root of the source is included in the build. (in the case
+
* Modify the <code>build.properties</code> to ensure the root of the source is included in the build.  
below, the <code>my/</code> directory is the root of the source since it is for the bundle <code>my.bundle.id</code>.
+
 
 +
In the example below, the <code>my/</code> directory is the root of the source since it is for the bundle <code>my.bundle.id</code>. The bundle also contains legal files in an <code>about_files</code> directory so it is included here.
 +
 
 
<pre>
 
<pre>
 
bin.includes = about.html,\
 
bin.includes = about.html,\

Revision as of 15:44, 27 February 2008

Here are the steps for adding a new bundle to Orbit. Please use them as a checklist to ensure that you have done everything correctly when you have a new bundle to add.

CQs

A CQ is a Contribution Questionnaire and it basically refers to legal approval to use a third party bundle in Eclipse. Every bundle in Orbit needs to have at least 2 CQs, one for the bundle being in the Eclipse repository (being a part of Orbit), and then one for each of the projects which are going to be using the Orbit bundle. These subsequent CQs can be created as "piggy-back" CQs which are commonly easier to clear legal since the code has already been approved and you just want permission to re-use it.

Add the Bundle to CVS

In Orbit we store bundle versions in branches in CVS. Look at our Adding Bundles to Orbit document for instructions on how to initially put your bundle into Orbit.

Create a Source Bundle

If you have source for your bundle, then follow these steps for getting your bundle into the right format to be consumed by the build.

  • In your bundle root, create a directory called source-bundle
  • Add the appropriate about.html file and an about_files directory with the licenses.
  • Modify the bundle manifest to add the line to say that your source bundle is attached to the main bundle.
...
Bundle-SymbolicName: my.bundle.id.source
Eclipse-SourceBundle: my.bundle.id;version="1.0.0.qualifier"
...
  • Extract the source to the root of the directory.
  • Modify the build.properties to ensure the root of the source is included in the build.

In the example below, the my/ directory is the root of the source since it is for the bundle my.bundle.id. The bundle also contains legal files in an about_files directory so it is included here.

bin.includes = about.html,\
               about_files/,\
               plugin.properties,\
               META-INF/,\
               my/

Update the Feature

In Eclipse we build features so when we add a new bundle to Orbit, we must add it to the feature so the builder is aware that we should build it. Please update org.eclipse.orbit.build.feature.set1/feature.xml with an entry for your new bundle. (you don't need one for the source bundle) Changes to the Orbit feature are done in HEAD in CVS.

<plugin
	id="my.bundle.id"
	download-size="0"
	install-size="0"
	version="1.0.0.qualifier"
	unpack="false"/>

Update the Map File

In Eclipse, the build contributions are driven from map files which specify your bundle, version, and location in the repository. In Orbit our map file is stored in org.eclipse.orbit.releng/maps/bundles.map in HEAD in CVS. When you add a new bundle to the build, you must add an entry for your bundle to the bundles.map file. Don't forget to add an entry for the source bundle if you created one.

plugin@my.bundle.id,1.0.0=v200802271055,:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,,org.eclipse.orbit/my.bundle.id
plugin@my.bundle.id.source,1.0.0=v200802271055,:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,,org.eclipse.orbit/my.bundle.id/source-bundle

Update the Project Set File

<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/tools,org.eclipse.orbit/my.bundle.id,my.bundle.id_v1.0.0,v1_0_0"/>

Update the IP Log