Developer Guide
This guide explains the necessary steps to set up your local development environment which will enable you to develop on the Subversive project.
Installing Eclipse IDE for Committers
For developing on the Subversive project, we recommend using the "Eclipse IDE for Eclipse Committers". Just go to the download page where you can download the mentioned package and install it.
Checkout Subversive's sources
Now, let's fetch Subversive's sources. We recommend the following steps:
- Create a new and empty workspace folder.
- Go to the workspace folder and fetch the sources:
git clone https://gitlab.eclipse.org/eclipse/subversive/subversive.git subversive svn co https://osspit.org/svn/subversive-connectors/ connectors
- Open the Eclipse IDE (for Committers)
- Import the source projects in Eclipse.
Close certain projects
If you imported all projects, you might need to close some in the Eclipse IDE to get rid of errors:
- Close all discovery projects but the newest one.
- Close all SVN Kit projects but the newest one.
- Close the SubveriveCommitIntegration project.
- Linux/Mac users: Close all Windows-specific projects (ending with ".win*").
Launching Subversive
Create a new run/debug configuration of the type "Eclipse Application" with the following settings:
- In the tab "Plugins" under "Launch": Make sure that the option "All workspace and enabled target plug-ins" is activated
Running jUnit tests
In order to run jUnit tests, please follow the subsequent steps:
- In the project org.eclipse.team.svn.tests: Open the plugin.properties file and make sure it contains a Subversion repository for testing purposes and valid credentials with write access (adjust the properties Repository.URL and Repository.Username and Repository.Password accordingly).
- Create a new "jUnit Plug-in Test" launcher:
- Select "org.eclipse.team.svn.tests" as project
- Select a valid test class, e. g. AllTests or ParameterizedWorkflowTest
- Select "jUnit 4" as test runner
- In the main tab: Under "Workspace Data" choose a location which is outside of Eclipse's workspace, e. g. "/../test_data" (otherwise Eclipse would try to compile class files which would interfere with some jUnit tests)
- Make sure "Clear" is NOT checked
Jenkins
Our Jenkins instance: https://ci.eclipse.org/subversive/
Further reading: https://wiki.eclipse.org/Jenkins
FAQ/Troubleshooting
Why are the connectors located in a different Subversion repository?
Due to license issues. For example SVN Kit is incompatible with the EPL.
Error: Bundle 'org.eclipse.mylyn.tasks.bugs' cannot be resolved
The solution is to install Mylyn completely: Search for "Mylyn" via Eclipse's Marketplace. It should be listed as "installed". Click on "Change" and select "Mylyn Context Connector: Eclipse IDE", too, and proceed with the installation.
Error "import org.eclipse... cannot be resolved"
If you get the tenacious error "import org.eclipse... cannot be resolved": Please check whether it is about the project "test_data/org.eclipse.team.svn.test". If yes, then you'll have to remove the project from the workspace.