blob: b5d78396a88262eaff92643ed0dd06fee9a46f93 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<faq xmlns="http://www.eclipse.org/webtools/faq"
xmlns:faq="http://www.eclipse.org/webtools/faq"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.eclipse.org/webtools/faq schemas/faq.xsd"
name="wtp committer faq">
<category name="General"/>
<category name="Build/CVS"/>
<category name="Source Code"/>
<category name="Website"/>
<entry id="cvs_1" category="Build/CVS">
<question>What is the CVS info for the webtools project?</question>
<answer>
server : dev.eclipse.org<br/>
path : /cvsroot/webtools
</answer>
</entry>
<entry id="website_1" category="Website">
<question>Who maintains the WTP website?</question>
<answer>
The WTP website is maintained by the WTP committers.<br/>
<br/>
Problems and requests should be submitted by opening a <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Web%20Tools&amp;component=website">bug report</a>.
</answer>
</entry>
<entry id="website_2" category="Website">
<question>How do I update the WTP website?</question>
<answer>
<p>
There are two ways:
<ol>
<li>
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.
</li>
<li>
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.
</li>
<li>
More recently, the switch to a Phoenix-enabled site has made much of this unnecessary.
</li>
</ol>
</p>
</answer>
</entry>
<entry id="website_3" category="Website">
<question>What is the CVS info for the webtools website?</question>
<answer>
The WTP website is located in the cvs root for the Eclipse website in
the www/webtools folder.<br /><br />
server : dev.eclipse.org<br/>
path : /cvsroot/org.eclipse
</answer>
</entry>
<entry id="website_4" category="Website">
<question>Why do I see a javax.net.ssl.SSLHandshakeException when building the website?</question>
<answer>
The WTP website requires access to Eclipse's bugzilla system in order to build the plans
section. If you see the following error:<br/>
<br/>
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
No trusted certificate found<br/>
<br/>
when building the site and using a Sun JRE you should update your JRE to at least
Sun JRE 1.4.2_09.
</answer>
</entry>
<entry id="general_1" category="General">
<question>Who do we contact in order to get commiter passwords reset?</question>
<answer>
You need to contact the Eclipse webmaster at <a href="mailto:webmaster@eclipse.org">webmaster@eclipse.org</a>.
</answer>
</entry>
<entry id="general_2" category="General">
<question>How do I change my dev.eclipse.org password?</question>
<answer>
You can change your password using the committer tools available at <a href="https://dev.eclipse.org/committers/">https://dev.eclipse.org/committers/</a>.
</answer>
</entry>
<entry id="general_3" category="General">
<question>How can I set up a workspace for WTP development/extension?</question>
<answer>
<p>
There are three ways you can set up a workspace to either develop WTP or
develop on the WTP base:
<ol>
<li>
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
<b>:pserver:anonymous@dev.eclipse.org:/cvsroot/webtools</b> into your CVS Repositories view.
<ol>
<li>
Download and install the WTP build you want to work with
from the <a href="http://download.eclipse.org/webtools/downloads/" target="_top">WTP downloads page</a>.
</li>
<li>
Create a new workspace using your installed version of WTP.
</li>
<li>
Check-out any plug-ins you need to modify from the WTP CVS repository.
</li>
</ol>
</li>
<li>
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.
<ol>
<li>
Download the WTP team project set file from <a href="http://www.eclipse.org/webtools/development/team_project_set/wtp.psf" target="_top">http://www.eclipse.org/webtools/development/team_project_set/wtp.psf</a>.
</li>
<li>
In your Eclipse workbench, select File->Import->Team Project Set. Select the WTP
team project set file you downloaded and click Finish.<br/>
<br/>
*note: It may take a while for
all the WTP plug-ins to be checked-out into your workspace.
</li>
</ol>
</li>
<li>
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.<br/>
<br/>
*note: this method requires that you have the Eclipse Releng plug-in installed. For information
about this plug-in see the FAQ entry <a href="#cvs_4">Is there a tool for releasing changes?</a>.
<ol>
<li>
Launch Eclipse and create a simple project in your workspace.
</li>
<li>
On the <a href="http://download.eclipse.org/webtools/downloads/" target="_top">WTP downloads page</a>,
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.<br/>
<br/>
*note: you may need to refresh your workspace for the file to be visible in it.
</li>
<li>
Right click on the map file and select <b>Team > Load Map projects</b>. The plug-in versions from the
build will be checked-out into your workspace.<br/><br/>
*note: It may take a while for all of the WTP plug-ins to be downloaded to your workspace.
</li>
</ol>
</li>
</ol>
<br/>
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.
</p>
</answer>
</entry>
<entry id="source_1" category="Source Code">
<question>What copyrights should we use? </question>
<answer>
<p>The copyright statement takes one of these two forms, differing only in the year stated on the first line of text.<br/>
IBM copyrights below are examples only and won't apply to everyone in the community. New files <b>you</b> commit should be
attributed to yourself or your employer according to your Committer Agreement and any employment agreements you may operate
under.</p>
<ul>
<li>If the file's year of invention and last year of modification are the same.<br/>
Example:<br/>
/*******************************************************************************<br/>
* Copyright (c) 2005 IBM Corporation and others.<br/>
* All rights reserved. This program and the accompanying materials<br/>
* are made available under the terms of the Eclipse Public License v1.0<br/>
* which accompanies this distribution, and is available at<br/>
* http://www.eclipse.org/legal/epl-v10.html<br/>
*<br/>
* Contributors:<br/>
* IBM Corporation - initial API and implementation<br/>
*******************************************************************************/
</li>
<li>If the file's year of invention and most recent year of modification are
different...<br/>
Example:<br/>
/*******************************************************************************<br/>
* Copyright (c) 2001,2005 IBM Corporation and others.<br/>
* All rights reserved. This program and the accompanying materials<br/>
* are made available under the terms of the Eclipse Public License v1.0<br/>
* which accompanies this distribution, and is available at<br/>
* http://www.eclipse.org/legal/epl-v10.html<br/>
* <br/>
* Contributors:<br/>
* IBM Corporation - initial API and implementation<br/>
*******************************************************************************/
</li>
Commits should always be covered under the EPL.
</ul>
</answer>
</entry>
<entry id="source_2" category="Source Code">
<question>Is there a tool to update the copyright?</question>
<answer>
<B>org.eclipse.releng.tools </B>plug-in from
<a href="http://www.eclipse.org/downloads/index.php">Eclipse download site</a>
allows you to fix copyrights.
</answer>
</entry>
<entry id="source_3" category="Source Code">
<question>What are the package naming conventions?</question>
<answer>
See the <a href="../development/guidelines/naming-conventions.html">WTP project naming
conventions</a>
</answer>
</entry>
<entry id="cvs_2" category="Build/CVS">
<question>How do I add my plug-in to the WTP CVS repository?</question>
<answer>
<ol>
<li>On your plug-in project select <B>Team-&gt;Share Project...</B> context menu.</li>
<li>Choose existing repository location (or create a new one if you haven't) for
<B>dev.eclipse.org:/cvsroot/webtools</B>
</li>
<li>On the next page, if you know exactly where the plug-in should be located in the
repository, then select the &quot;Use specified module name&quot; 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:<br/>
<br/>
Select the &quot;Use an existing module&quot;.<br/>
Browse and then select the folder where you want your new plug-in to reside.<br/>
<br/>
<img border="0" src="images/shareProject1.gif" width="485" height="602"/><br/>
<br/>
Notice that the text field is filled in with the path. Reselect the &quot;Use
specified module name:&quot; radio button, and append your plug-in's name.<br/>
<br/>
<img border="0" src="images/shareProject2.gif" width="486" height="602"/>
</li>
</ol>
</answer>
</entry>
<entry id="cvs_3" category="Build/CVS">
<question>Where can I find more information about CVS?</question>
<answer>
The <a href="http://dev.eclipse.org/viewcvs/index.cgi/?cvsroot=WebTools_Project">WTP
CVS respository page</a> contains links to useful CVS documentation including how to
use Eclipse with CVS.
</answer>
</entry>
<entry id="cvs_4" category="Build/CVS">
<question>Is there a tool for releasing changes?</question>
<answer>
Yes. The releng tool plug-in is available from the <a href="http://download.eclipse.org/eclipse/downloads" target="_top">Eclipse Project download page</a>. 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.
</answer>
</entry>
<entry id="cvs_5" category="Build/CVS">
<question>How do I release my changes?</question>
<answer>
<ol>
<li>
Commit your changes to the CVS repository. (For information about
CVS and committing see the FAQ entry <a href="#cvs_3">Where can I find more information about CVS?</a>).
Commits for bug fixes should contain the bug number and summary for future reference, e.g. "[269600] Improve Code Folding performance".
</li>
<li>
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.
</li>
<li>
<b>
*note: It is strongly recommended that you use the releng tool to release
your changes.
</b>
<p>
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 <a href="#cvs_4">Is there a tool for releasing
changes?</a>)
</p>
<ol>
<li>
Select the plug-in you want to release. Right click on it and select Team->Release as shown below.<br /><br />
<img src="images/releasemenu.gif"/>
</li>
<li>
Select the releng project as the map project. Click Next.
</li>
<li>
If not already selected, select the plug-ins you want to release. Click Next.
</li>
<li>
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.
</li>
<li>
Enter the tag you want to use to release the changes. WTP uses tags of the form
v<i>YYYYMMDDHHMM</i>, based on the tagging time as expressed in
<a href="http://time.gov/timezone.cgi?UTC/s/0">Universal Coordinated Time</a>.
Click Next.
</li>
<li>
The page displays the changes to the map files. Review the changes. If everything
is correct, click Next.
</li>
<li>
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.
</li>
</ol>
</li>
</ol>
</answer>
</entry>
<entry id="cvs_6" category="Build/CVS">
<question>What do I need to do before releasing changes?</question>
<answer>
<p>
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.
</p>
<p>
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.
</p>
</answer>
</entry>
<entry id="cvs_7" category="Build/CVS">
<question>How do I add a new plug-in to WTP?</question>
<answer>
<p>
<b>Follow this procedure closely. Mistakes will likely cause a build breakage.</b><br/>
There are three tasks to add a new plug-in to WTP:
<ol>
<li>
Commit your new plug-in to the CVS repository. See <a href="#cvs_2">How do I add my plug-in to the WTP CVS repository?</a>
</li>
<li>
<p>
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.
</p>
<p>
A feature entry will look like the following:<br />
<br />
&lt;plugin<br />
&#160;&#160;&#160;&#160;id="org.eclipse.wst.common.uriresolver"<br />
&#160;&#160;&#160;&#160;download-size="0"<br />
&#160;&#160;&#160;&#160;install-size="0"<br />
&#160;&#160;&#160;&#160;version="0.0.0"/&gt;<br />
</p>
<p>
After you've added your plug-in to the feature, commit the changes
and release the feature.
</p>
</li>
<li>
Add your plug-in to the appropriate map file. Map files are located in the
releng component. A map file entry will look like the following:<br />
<br/>
plugin@org.eclipse.wst=v20050718_2336,:pserver:anonymous@dev.eclipse.org:/home/webtools,,wst/components/assembly/plugins/org.eclipse.wst<br />
<br />
After updating the map file commit it to the repository.
</li>
<li>
<p>
Your plug-in is now in the repository, included in a feature, and included
in a map. Now release your plug-in.
</p>
</li>
<li><p>Send a note to the WTP <a href="mailto:wtp-releng@eclipse.org">release engineering</a> 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.</p>
</li>
</ol>
</p>
</answer>
</entry>
<entry id="cvs_8" category="Build/CVS">
<question>How do I jar my plug-in?</question>
<answer>
<p>
First of all, jarring is not an option for every plug-in. If your plug-in contains
multiple jars you can't jar your plug-in.
</p>
<p>
There are a three steps to jarring your plug-in:
<ol>
<li>
Update your plug-in's build.properties file to include the source.. and
output.. keys as well as "." for bin.includes and src.includes as follows:<br />
<br />
source.. = src/<br />
output.. = bin/<br />
bin.includes = plugin.xml,\<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;META-INF/,\<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;.,\<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;plugin.properties,\<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;about.html<br />
src.includes = exsd/,\<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;.,\<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;build.properties<br />
</li>
<li>
Update your plug-in's manifest (MANIFEST.MF) by removing the line beginning with "Bundle-ClassPath".
</li>
<li>
Update the feature entry for your plug-in to include the unpack=false attribute.<br />
<br />
&lt;plugin<br />
&#160;&#160;&#160;&#160;id="org.eclipse.wst.common.uriresolver"<br />
&#160;&#160;&#160;&#160;download-size="0"<br />
&#160;&#160;&#160;&#160;install-size="0"<br />
&#160;&#160;&#160;&#160;version="0.0.0"<br />
&#160;&#160;&#160;&#160;unpack="false"/&gt;
</li>
</ol>
</p>
</answer>
</entry>
<entry id="cvs_9" category="Build/CVS">
<question>How do I delete folders from the CVS repository?</question>
<answer>
<p>
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:
<ol>
<li>
Delete the content from the folder. The content will show up in the Web view
under the attic folder.
</li>
<li>
Commit an obsolete.txt file in the folder. The file should contain the reasons
why the folder is obsolete.
</li>
<li>
Request that the Eclipse webmaster delete the folder. Requests can be made by sending
the webmaster an e-mail to <a href="mailto:webmaster@eclipse.org">webmaster@eclipse.org</a>.
</li>
</ol>
</p>
</answer>
</entry>
<entry id="source_4" category="Source Code">
<question>What comment should I use when declaring public provisional API?</question>
<answer>
<p>
The following comment should be placed in each provisional API class description:<br />
<br />
* &lt;p&gt;<br />
* &lt;b&gt;Note:&lt;/b&gt; This class/interface is part of an interim API that is still under development and expected to<br />
* change significantly before reaching stability. It is being made available at this early stage to solicit feedback<br />
* from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken<br />
* (repeatedly) as the API evolves.<br />
* &lt;/p&gt;
</p>
<p>
See the WST <a href="http://dev.eclipse.org/viewcvs/index.cgi/wst/components/server/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IModule.java?rev=1.12&amp;cvsroot=WebTools_Project&amp;content-type=text/vnd.viewcvs-markup" target="_top">Server core plug-in</a> for an example.
</p>
</answer>
</entry>
<entry id="source_5" category="Source Code">
<question>What is the proper use of Javadoc @since tags?</question>
<answer>
<p>
When you add a package or class to the API, include a single package or class level @since tag, e.g. @since 1.0.
</p>
<p>
When you add a method to an existing API class, add a method level @since tag.
</p>
<p>
These rules minimize the number of @since tags you need to include. The
reference for the use of Javadoc in general is available
<a href="http://java.sun.com/j2se/javadoc/writingdoccomments/ " target="_top">here</a>.
</p>
</answer>
</entry>
<entry id="general_4" category="General">
<question>What is the correct usage of severity when opening a WTP bug?</question>
<answer>
<p>
Although this is somewhat of a judgement call, you should use the standard
definitions found <a href="https://bugs.eclipse.org/bugs/bug_status.html#bug_severity" target="_top">here</a>.
</p>
<p>
Component owners should double check open Blocker/Critical/Major bugs to
make sure they are accurately described.
</p>
<p>
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.
</p>
</answer>
</entry>
<entry id="general_components" category="General">
<question>
How do I help users assign WTP bugs to the correct component?
</question>
<answer>
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:
<pre>
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
</pre>
</answer>
</entry>
<entry id="general_targets" category="General">
<question>
What do I do if I don't see the right target milestone for a bug?
</question>
<answer>
Check with your subproject lead, as they usually have the Bugzilla edit privileges to add them.
</answer>
</entry>
<entry id="general_newbugs" category="General">
<question>
How do I know when new bugs are reported?
</question>
<answer>
Your Bugzilla <a href="https://bugs.eclipse.org/bugs/userprefs.cgi">Preferences</a> 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.
</answer>
</entry>
</faq>