There are three ways you can set up a workspace to either develop WTP or
develop on the WTP base:
Install WTP and check-out only the plug-ins you are interested in, from the Branch you are interested in.
This method is useful if you are only working with a subset of
WTP functionality or extending WTP. For a quick connection, paste
:pserver:anonymous@dev.eclipse.org:/cvsroot/webtools into your CVS Repositories view.
Download and install the WTP build you want to work with
from the WTP downloads page.
Create a new workspace using your installed version of WTP.
Check-out any plug-ins you need to modify from the WTP CVS repository.
Check-out the latest version of all the WTP plug-ins using the WTP project set. (This will extract
all of the WTP plug-ins from the HEAD branch.) This method is useful if you want the
most up-to-date version of the WTP plug-ins.
In your Eclipse workbench, select File->Import->Team Project Set. Select the WTP
team project set file you downloaded and click Finish.
*note: It may take a while for
all the WTP plug-ins to be checked-out into your workspace.
Check-out WTP plug-in Versions from a specific build. This method is useful
if you want to extend or test a specific version of WTP.
*note: this method requires that you have the Eclipse Releng plug-in installed. For information
about this plug-in see the FAQ entry Is there a tool for releasing changes?.
Launch Eclipse and create a simple project in your workspace.
On the WTP downloads page,
select the WTP build for which you want to check-out all the plug-ins. On the
top of the page for the specific download, select map files and save the
file as wtp.map in your simple project.
*note: you may need to refresh your workspace for the file to be visible in it.
Right click on the map file and select Team > Load Map projects. The plug-in versions from the
build will be checked-out into your workspace.
*note: It may take a while for all of the WTP plug-ins to be downloaded to your workspace.
All three options require compiling some or all of WTP within your workspace, so your Plug-in Development Target
Platform should contain the corresponding WTP prerequisites.
Although this is somewhat of a judgement call, you should use the standard
definitions found here.
Component owners should double check open Blocker/Critical/Major bugs to
make sure they are accurately described.
Although a user may feel strongly about their favourite bug, we should still
classify it correctly. We do have some leeway in assigning it a priority,
i.e. if we feel that a bug should be fixed, we can up its priority. P1 should
be reserved for release-defining functions, .i.e we stop ship if P1's are not
fixed.
When users assign a WTP bug to the wrong component, you should
assign it to the correct component and paste in the following
message as a comment:
Thank you for reporting this bug. I have assigned to the correct component.
For guidance on how to select the correct component in future bug reports, please refer to:
https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Web+Tools
Your Bugzilla Preferences link (see the bottom of any Bugzilla page once logged in) allows you
to specify a 'watch list' of user emails to be copied on. Most components have an inbox address
that you can watch. You can also query Bugzilla with the correct inbox address as the Assignee and
subscribe to the results as an RSS feed from the results page using the 'Feed' link at the bottom.
On your plug-in project select Team->Share Project... context menu.
Choose existing repository location (or create a new one if you haven't) for
dev.eclipse.org:/cvsroot/webtools
On the next page, if you know exactly where the plug-in should be located in the
repository, then select the "Use specified module name" radio button and
type in the full path. However, to be safe, it's recommended browsing the repository
to obtain the correct path, and then adding the module name. Here is an example:
Select the "Use an existing module".
Browse and then select the folder where you want your new plug-in to reside.
Notice that the text field is filled in with the path. Reselect the "Use
specified module name:" radio button, and append your plug-in's name.
Yes. The releng tool plug-in is available from the Eclipse Project download page. Each version
of Eclipse contains its own releng tool plug-in. Select the version of Eclipse you're
using. The releng tool plug-in is found at the bottom of the page.
Commit your changes to the CVS repository. (For information about
CVS and committing see the FAQ entry Where can I find more information about CVS?).
Commits for bug fixes should contain the bug number and summary for future reference, e.g. "[269600] Improve Code Folding performance".
Check-out the appropriate releng project using the correct branch from the CVS repository. Each WTP subproject has its own releng project,
containing the map files for its features and bundles.
*note: It is strongly recommended that you use the releng tool to release
your changes.
You now have to tag your source files and update the corresponding map entries.
Although you can do this manually, it is much easier and less error prone to use
the releng tool. (See FAQ entry Is there a tool for releasing
changes?)
Select the plug-in you want to release. Right click on it and select Team->Release as shown below.
Select the releng project as the map project. Click Next.
If not already selected, select the plug-ins you want to release. Click Next.
The page displays the changes between the last released version of the plug-in
and what is currently in your workspace. Anything that is changed locally and not checked into the
CVS branch will not be properly tagged. Review the changes. If everything is correct, click Next.
Enter the tag you want to use to release the changes. WTP uses tags of the form
vYYYYMMDDHHMM, based on the tagging time as expressed in
Universal Coordinated Time.
Click Next.
The page displays the changes to the map files. Review the changes. If everything
is correct, click Next.
Enter a comment for the release operation and click Finish. The comment used
will be displayed with the map file as part of the build output, so it's suggested
to use a combination of the commit comments for the fixes being released.
It depends. If you're releasing an isolated fix, you're probably safe to run the
JUnit tests for the plug-in and, if all pass, release your fix. If you're making
a breaking provisional API change (remember, you cannot make breaking API changes)
you should announce the change to the WTP dev list advising
what has changed, why, and how existing consumers of the provisional API can
adapt their plug-ins to the change.
It is also good practice to use a current WTP development build when making
changes so as prevent compilation failures. Catching compilation or unit test
failures is a poor use of the build system's processing time.
Add your plug-in to the appropriate feature. Features are located under the
subproject's assembly component. For example, for WST you can find features
at wst/components/assembly/features.
After updating the map file commit it to the repository.
Your plug-in is now in the repository, included in a feature, and included
in a map. Now release your plug-in.
Send a note to the WTP release engineering mailing list mentioning the plug-in's addition. It is possible that the build process itself may require updates to accommodate the addition, such as touchups to releng-specific BVTs.
First of all, folders should not normally be deleted from the CVS repository. The
repository is meant to contain the history of WTP development. That said, you may
have reason to delete a folder such as you committed a folder with the incorrect name,
or committed to the wrong location. In these cases:
Delete the content from the folder. The content will show up in the Web view
under the attic folder.
Commit an obsolete.txt file in the folder. The file should contain the reasons
why the folder is obsolete.
Request that the Eclipse webmaster delete the folder. Requests can be made by sending
the webmaster an e-mail to webmaster@eclipse.org.
The copyright statement takes one of these two forms, differing only in the year stated on the first line of text.
IBM copyrights below are examples only and won't apply to everyone in the community. New files you commit should be
attributed to yourself or your employer according to your Committer Agreement and any employment agreements you may operate
under.
If the file's year of invention and last year of modification are the same.
Example:
/*******************************************************************************
* Copyright (c) 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
If the file's year of invention and most recent year of modification are
different...
Example:
/*******************************************************************************
* Copyright (c) 2001,2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
The following comment should be placed in each provisional API class description:
* <p>
* <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
* change significantly before reaching stability. It is being made available at this early stage to solicit feedback
* from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
* (repeatedly) as the API evolves.
* </p>
Check-out the whole website (www/webtools), make your changes, and run
the website build script (build.xml) in the webtools folder. This will
build the whole site and is useful if you need to make changes in more than
one module (see below). The downside is the website is big and can take
a while to download.
The website is broken up into self contained modules such as community, faq, people,
and plans. Check-out the module you want to make changes to (such as www/webtools/plans), make your changes,
run the build script (build.xml) included in the module, and commit your changes.
More recently, the switch to a Phoenix-enabled site has made much of this unnecessary.