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 "WTP Release 1.5 Patches"

(added dreprecated note)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== What is an "official patch"? ==  
+
{| border="1" style="background:white; color:red" 
 +
| Deprecated. This page has been superseded by [[WTP Release 1.5.5 Patches]]
 +
|}
 +
== What is an "official patch"? ==
 +
 
  
 
Under some circumstance the WTP project may find it desirable to produce a "feature patch" which typically includes exactly one jar, that has a fix for exactly one bug. These are done for bugs which happen to be considered extremely severe or blocking -- but may not even apply to all installs, or all users. (So, as a general rule, they are not to be installed by everyone ... but any bugs fixed by patches will be fixed in the next maintenance release ... though the exact fix might be different).  
 
Under some circumstance the WTP project may find it desirable to produce a "feature patch" which typically includes exactly one jar, that has a fix for exactly one bug. These are done for bugs which happen to be considered extremely severe or blocking -- but may not even apply to all installs, or all users. (So, as a general rule, they are not to be installed by everyone ... but any bugs fixed by patches will be fixed in the next maintenance release ... though the exact fix might be different).  
  
 
While few, it is important to create and apply these in a controlled, repeatable process in order to maintain product level professional quality. For example, it is important to compile with exactly the same compiler, and exactly the same "pre-reqs" that was used to create the original build.  
 
While few, it is important to create and apply these in a controlled, repeatable process in order to maintain product level professional quality. For example, it is important to compile with exactly the same compiler, and exactly the same "pre-reqs" that was used to create the original build.  
 +
  
 
== Technical Notes ==  
 
== Technical Notes ==  
Line 24: Line 29:
 
  patches.build
 
  patches.build
 
  patches.site
 
  patches.site
patches.tests
 
 
  patches.upload
 
  patches.upload
  
that produce <b>patch features</b> that contains a special feature to "host" the plugin. (See Eclipse Help for details).  
+
that produce <b>patch features</b> that contains a special feature to "host" the plugin. See Eclipse Help for details, but remember, the patch feature must say "requires" the feature that it is patching, '''including all 4 fields of the version''' -- the 'qualifier' field is not computed automatically.  
  
 
The end-result is  
 
The end-result is  
 
* a compressed archive on http://download.eclipse.org/webtools/patches/
 
* a compressed archive on http://download.eclipse.org/webtools/patches/
* a feature and plugin suitable for an update site. These update jars are actually in the same directory as the zip download, but normally not visible from the web. It is assumed they will be put in the right place by a release engineer, where the
+
* a feature and plugin suitable for an update site. These update jars are actually in the same directory as the zip download, but normally not visible from the web.  
  
# the site.xml needs to be updated,
+
If it desired to be generally available to all WTP users (by them simply use the Eclipse update feature to get updates to existing installed features), then the update features and plugins have to be copied to the downloads/webtools/updates directory. Also, remember to
# the digest needs to be re-created, and  
+
# pack200 re-ran.
+
  
Currently, there are a few "manual" updates needed to tweak the build, to create a feature patch.  
+
# update the site.xml
 +
# recreate the digest
 +
# run pack200
  
# In the <code>wtp-patches</code> component, the <code>build.properties</code> has a field, <code>patchFeature</code> that needs to be updated for the particular patch feature that is being created. Additionally, there is one target name in <code>customTargest.xml</code> file that needs to be updated. It is the one that starts with <code>assemble</code> (who knew ant target's can not contain variables?).
+
== Updates required in wtpBuilder ==
  
# In the <code>config.xml</code> file that is in the <code>releng.control</code> project, the <code>buildId</code> property of the <code>tp-P-1.5</code> build project target needs to be update to be what ever nifty name you pick for the zip file (usually the bug number).
+
Currently, the wtpBuilder project needs to be modified to build the patch feature:
  
# And, of course, everything needs to be versioned and updated <b>and</b> the CruiseControl server needs to be re-started to get the buildId to apply.  
+
# In the <code>wtp-patches</code> component, the <code>build.properties</code> has a field, <code>patchFeature</code> that needs to be updated for the particular patch feature that is being created. Additionally, there is one target name in <code>customTargest.xml</code> file that needs to be updated. It is the one that starts with <code>assemble</code> (who knew ant target's can not contain variables?).
  
Feel free to ask questions on <code>wtp-releng@eclipse.org</code> if there are questions.
+
== Questions ==
  
~ David ~
+
Feel free to ask questions on <code>wtp-releng@eclipse.org</code> if there are questions.
  
  
 
;[[WTP Build Process and Procedures | Back to WTP Build Process and Procedures]]
 
;[[WTP Build Process and Procedures | Back to WTP Build Process and Procedures]]
 
;[[Web_Tools_Project | Back to Web Tools Wiki Home]]
 
;[[Web_Tools_Project | Back to Web Tools Wiki Home]]

Latest revision as of 00:10, 23 September 2007

Deprecated. This page has been superseded by WTP Release 1.5.5 Patches

What is an "official patch"?

Under some circumstance the WTP project may find it desirable to produce a "feature patch" which typically includes exactly one jar, that has a fix for exactly one bug. These are done for bugs which happen to be considered extremely severe or blocking -- but may not even apply to all installs, or all users. (So, as a general rule, they are not to be installed by everyone ... but any bugs fixed by patches will be fixed in the next maintenance release ... though the exact fix might be different).

While few, it is important to create and apply these in a controlled, repeatable process in order to maintain product level professional quality. For example, it is important to compile with exactly the same compiler, and exactly the same "pre-reqs" that was used to create the original build.


Technical Notes

Normally, only the "releng team" (ok ... me and Naci :) need to mess with patches. There should be very few, very special purpose, handled and produced on a case-by-case bases.

There is a special stream to that contains code related to these patches:

R1_5_maintenance_patches

There is a special component

wtp-patches

in the releng.wtpbuilder cvs project that along with special distribution targets

patches.build
patches.site
patches.upload

that produce patch features that contains a special feature to "host" the plugin. See Eclipse Help for details, but remember, the patch feature must say "requires" the feature that it is patching, including all 4 fields of the version -- the 'qualifier' field is not computed automatically.

The end-result is

  • a compressed archive on http://download.eclipse.org/webtools/patches/
  • a feature and plugin suitable for an update site. These update jars are actually in the same directory as the zip download, but normally not visible from the web.

If it desired to be generally available to all WTP users (by them simply use the Eclipse update feature to get updates to existing installed features), then the update features and plugins have to be copied to the downloads/webtools/updates directory. Also, remember to

  1. update the site.xml
  2. recreate the digest
  3. run pack200

Updates required in wtpBuilder

Currently, the wtpBuilder project needs to be modified to build the patch feature:

  1. In the wtp-patches component, the build.properties has a field, patchFeature that needs to be updated for the particular patch feature that is being created. Additionally, there is one target name in customTargest.xml file that needs to be updated. It is the one that starts with assemble (who knew ant target's can not contain variables?).

Questions

Feel free to ask questions on wtp-releng@eclipse.org if there are questions.


Back to WTP Build Process and Procedures
Back to Web Tools Wiki Home

Back to the top