-
Notifications
You must be signed in to change notification settings - Fork 120
Development
Assumption is you will do your development in Eclipse, and use EGit to clone repository etc. Documentation for EGit is available here: https://wiki.eclipse.org/EGit/User_Guide
Subclipse requires Eclipse 4.2+ and Java 6+. It is OK, and probably recommended, to use the latest Eclipse release but keep in mind we are supporting older Eclipse and Java versions when you write your code.
After you have cloned the repository, the next step is to import the projects into your workspace. You can do this by right-clicking on the repository and choosing Import Projects:

This will launch a wizard. You want to choose the option to Import Existing Projects:

There are many projects in the repository. You only need to import the ones you want to work on, which would likely be the subclipse.core and subclipse.ui projects.

Once you have your projects imported into Eclipse, you should be able to make code changes and test then using the Eclipse runtime workspace. This lets you launch an instance of Eclipse with the plugins from your workspace loaded. You can launch this in run or debug mode if you want to set breakpoints and debug the changes. Generally, you only need to have the plugins in your workspace that you are making changes to and the rest will come from the base Eclipse install.
Subclipse uses Maven/Tycho for builds. Doing a full build using Maven can be done from the root of the repository:
mvnw clean package
This will result in a p2 repository at releng/update-site/target/repository
Every commit to master initiates a CI process as Travis-CI which posts the new p2 repository to Bintray. Installation of these snapshot builds can be done via this update site URL: https://subclipse.github.io/snapshots/
You can skip the CI build by including [skip ci] in your commit message. Useful when updating this README or other files that do not need to trigger a new build.
Currently, we are only using SNAPSHOT versioning on the main core and ui plugins. If the less frequently changed plugins are modified be sure to update the version information in the pom.xml and manifest as needed.