Guide to Developing for Subclipse
This is a guide to help new developers get started with developing for the Subclipse project. This page will focus on an overview of the process and our policies and contains links to details in things like checking out the code.
The most important aspects of any open source development project are communication and community. This project relies on its mailing lists for communication among developers and with our community of users. You can subscribe to mailing lists and access their archives here. The lists are moderated so they do not contain SPAM, and traffic is low enough that you should not hesitate to subscribe to them. There are four main lists to consider:
dev@ - Exists for discussions between developers about developing for Subclipse. Traffic is very low on this list.
users@ - Exists for questions about using Subclipse from our community of users. This is a good place to engage our users for their opinion on things you might want to work on. Given that traffic on dev@ is fairly low, this often becomes a place for development discussions too.
- issues@ - Receives emails for all changes that occur in the issue tracker. So if you want to be aware of every change to every issue in the tracker, subscribe to this list. You never post emails to this list.
- commits@ - Received emails for all commits that occur within our SVN repository.
There is also a #subclipse IRC channel on irc.freenode.net. Again, traffic is very low and generally consists of users with questions, but this is another avenue for discussions amongst the developers as well. Please use the mailing lists or IRC to ask questions and generally make other developers aware of what you intend to work on.
We try to encourage users to use our mailing list before posting to the issue tracker. This is not meant to deter users from reporting bugs, but mainly to help our limited development resources focus on one place to engage users. It also increases the visibility of issues within our user community and offers the users additional opportunities to get involved in the project by helping other Subclipse users.
CollabNet provides a Mylyn connector for the issue tracker used by this project. It is part of the CollabNet Desktop - Eclipse Edition and can be downloaded and used for free. All projects on tigris.org (as well as java.net and several other sites), use this same issue tracker.
We do not require that every commit have an issue associated with it, but since starting the development process for the 1.4 release we have tried a lot harder to do this as much as possible. It makes the change log more valuable and it also makes it easier to publish a roadmap for the project. We would encourage you to enter an issue for anything you are working on and to set the appropriate milestone. See the roadmap page for how we use this.
We still officially support Eclipse 3.2. You do not have to use this version for your development environment, but you do need to make your code compatible with Eclipse 3.2. We will maintain compatibility with this version for as long as possible, or until all of the major commercial IDE's have moved on to a newer version.
All code is developed in "trunk" or in a feature-branch created by copying trunk. We have release branches that are used to support our official releases. However, we only selectively back-port changes from trunk to the release branch. We never do development on the branch itself.
We maintain a change log for each release. This is currently maintained manually by the release manager, but it would always be welcome to have a developer add information about their changes.
Checkout the code
The easiest way to checkout the code is to download the Team Project Set File: subclipse.psf. This file contains references to all of the major Subclipse projects you will typically want to checkout. You might want to edit the file in a text editor before you proceed to the next step. If you are not on Windows, then you will want to remove the line that references the JavaHL Win32 project. This project just contains Windows binaries and is of no value on other platforms. There is also reference to a Mylyn integration project and you can remove that if you do not have Mylyn installed.
After you download and optionally edit the file, you need to run an Eclipse wizard to checkout the projects. Go to the File menu and choose the Import option. This launches the Eclipse import wizard. Expand the Team grouping and choose Team Project Set and then click Next. Then point the wizard at the file you downloaded and let the wizard do its thing. The wizard will checkout all of the projects in the file.