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 pages "WTP Build Process and Procedures" and "Callisto Build and Update Tips and Tricks"

(Difference between pages)
m (Build mechanics)
 
 
Line 1: Line 1:
This page is to collect general information and references about the WTP build process and procedures. The idea is that any WTP committer can update it, pretty much "on the fly" or "as you go", or "as needed", so that there will often be a bit of a disorganized, stream of consciousness flavor to it. Hopefully, occasionally, some kind-hearted committer will stop and organize all the miscellaneous notes and tips and references that are provided, into fun-to-read treasure that you  just can't put down.  
+
On this page, please add any little tidbits that help with the versioning, site management, etc., that are not part of other documents.  
  
Note: since only committers can edit these pages, if anyone from the community has contributions or suggestions for additions, please open a [[https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Web%20Tools;component=releng feature request]] on our releng component.
 
  
Thanks, [[User:David williams|David Williams]] 01:42, 2 February 2006 (EST)
+
=== Automatically versioning features appropriately ===
  
== Build Schedules ==
+
I haven't tried it yet, but in
 +
[[https://bugs.eclipse.org/bugs/show_bug.cgi?id=125801#c9 | bug 125801]
 +
Andrew Niefer mentions that
  
As of February 1, 2006
+
<p><cite>
 +
When using ".qualifier", the resulting feature version can take the form of
 +
1.2.3.qualifier_suffix, where qualifier will come from the cvs tag, or date the
 +
same as for plugins.  suffix will be generated based on the qualifiers of the
 +
contained plugins.
 +
<br /><br />
 +
Whether or not to append the _suffix to the version is controlled by the
 +
property "generateFeatureVersionSuffix" in the builder's build.properties.  The
 +
default value is false.
 +
</cite>
 +
</p>
  
Our WTP 1.0.1 contributions are due by EOD on Monday's, we smoke test that build on Tuesday's, and plan to declare it by Wednesday's at noon (eastern time).  
+
I personally feel that <code>generateFeatureVersionSuffix</code> should be the default, but since it isn't, thought I'd document here.  
  
Our WTP 1.5 contributions are due by EOD Wednesday's, we smoke test that build on Thursday's, and plan to declare it by Friday's at noon (eastern time).  
+
This is important since a feature's qualifier needs to not just change accourding to its own changes, but also needs to reflect the "most changed" plugin it contains.
  
 +
=== Do not use underscore in version qualifiers ===
  
== Build mechanics ==
+
I think this will all work better post M5, but certainly on 3.1.x streams, and underscore is converted to a hyphen in some places, and will at first seeem to work, but then there's problems associating source with its code, etc., so ... use with care, if not outright avoid. See [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=89428 | bug 89428]] for some dicussions.
  
The platform's releng tool should be used to "release" projects to the map files.
+
=== Use the platform releng tool ===
Be sure to have the appropriate branch of releng project (which has the map files)
+
loaded in your workspace.
+
R1_0_maintenance for 1.0.x builds, and HEAD for 1.5 builds.
+
  
As projects are versioned, please use the "standard" format, in UTC time, following
+
To update your map files automatically while releasing your plug-ins, the releng tool found as a download way at the bottom of the platform download page is quite helpful.  The instructions are sparse, but it's fairly straightforward (right-click a project and select Team -> Release...).
vYYYYMMDDHHMM.
+
This is important as these cvs tags become the qualifier field of the plugin's version.
+
  
Note: do NOT use underscores in the CVS version, as there are some issues with Eclispe tooling when it finds an underscore in a plugin or version qualifier, see [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=89428 89428]].
+
When using .qualifier at the end of your Bundle-Version manifest entries, your plug-ins will be versioned according to the tags entered in your map files automatically when using the release engineering tool with the PDE basebuilder.
  
== Background and Further Reading References ==
+
=== Guide to understanding versioning ===
  
We in WTP following the basic process and recommendations for versioning as the base Eclipse platform.
+
Just because this page cannot be linked enough, look here for detailed information on when and how to apply new version numbers to your plug-ins and features: [[http://www.eclipse.org/eclipse/platform-core/documents/plugin-versioning.html Plug-in Versioning]]
[http://www.eclipse.org/equinox/documents/plugin-versioning.html Plugin Versioning]
+
 
+
Very helpful guide to builds and automatic testing.
+
[http://www.eclipse.org/articles/Article-PDE-Automation/automation.html Build and Test Automation for plug-ins and features]
+
 
+
Good step-by-step on how to do updates. [http://www.eclipse.org/articles/Article-Update/keeping-up-to-date.html How To Keep Up To Date]
+
 
+
We base our builds on the Eclipse platform's "basebuilder".
+
[http://wiki.eclipse.org/index.php/Platform-releng Platform-releng]
+
 
+
With our WTP specific needs addressed in the WTP project called releng.wtpbuilder.
+
While slightly out of date, see the [[https://bugs.eclipse.org/bugs/attachment.cgi?id=26584 attachment]] to [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=108259 bug 108259]]
+
 
+
Our basic server configuration and cruise control triggers is handled by the WTP project called releng.builder (see especially the tools/cruise directory in that project).
+
 
+
And ... never forget [http://help.eclipse.org/help31/index.jsp Eclipse Help] ... search for things related to update manager, PDE, features, site.xml, etc.
+

Revision as of 12:37, 24 February 2006

On this page, please add any little tidbits that help with the versioning, site management, etc., that are not part of other documents.


Automatically versioning features appropriately

I haven't tried it yet, but in [| bug 125801 Andrew Niefer mentions that

When using ".qualifier", the resulting feature version can take the form of 1.2.3.qualifier_suffix, where qualifier will come from the cvs tag, or date the same as for plugins. suffix will be generated based on the qualifiers of the contained plugins.

Whether or not to append the _suffix to the version is controlled by the property "generateFeatureVersionSuffix" in the builder's build.properties. The default value is false.

I personally feel that generateFeatureVersionSuffix should be the default, but since it isn't, thought I'd document here.

This is important since a feature's qualifier needs to not just change accourding to its own changes, but also needs to reflect the "most changed" plugin it contains.

Do not use underscore in version qualifiers

I think this will all work better post M5, but certainly on 3.1.x streams, and underscore is converted to a hyphen in some places, and will at first seeem to work, but then there's problems associating source with its code, etc., so ... use with care, if not outright avoid. See [| bug 89428] for some dicussions.

Use the platform releng tool

To update your map files automatically while releasing your plug-ins, the releng tool found as a download way at the bottom of the platform download page is quite helpful. The instructions are sparse, but it's fairly straightforward (right-click a project and select Team -> Release...).

When using .qualifier at the end of your Bundle-Version manifest entries, your plug-ins will be versioned according to the tags entered in your map files automatically when using the release engineering tool with the PDE basebuilder.

Guide to understanding versioning

Just because this page cannot be linked enough, look here for detailed information on when and how to apply new version numbers to your plug-ins and features: [Plug-in Versioning]

Back to the top