Extending or Contributing to Buckminster
< To: Buckminster Project
If you are going to be working with Buckminster itself, writing your own extensions, or provide patches, you should first install Buckminster as described in The Definitive Guide. As Buckminster source is stored in a Git repository, you need to install the EGit and JGit features from the release train.
Initial clone of the repository
- Ensure that the Git Repositories view is visible. You should be able to find it under "Window" => "Show View" => "Other..." => "Git" if its not.
- Click on "Clone a Git repository"
- Paste the following URL into the URI field in the wizard that pops up
- Click "Next>" twice, then "Finish"
Populating the workspace
Create the local clone and check out the releng project
- Expand "buckminster" => "Working Directory" in the Git Repositories view.
- Select "org.eclipse.buckminster.releng", right click, and then select "Import projects..."
- Click "Next>" in the list of projects. A page where only the selected project is visible shows up.
- Click "Finish"
Prepare an empty target platform
- Create a new general project named TP (or some name of your preference)
- Open "Window" => "Preferences" and expand "Plug-in Development"
- Select "Target Platform"
- Click "Add..."
- Click "Next>" (i.e. start with nothing)
- Enter TP in the Name: field
- Click "Add..."
- Select "Directory" and click "Next"
- Click on "Variables..."
- Scroll down and select "workspace_loc" and then type TP in the Argument: field.
- Click "OK" and then "Finish" and then "Finish" again.
- Set your new target definition active by checking it in the list of Target definitions: and click "OK"
Run the cquery to populate the workspace
- Expand the org.eclipse.buckminster.releng project and open the build.cquery file. It should open using the Buckminster cquery editor.
- Press "Resolve & Materialize" in the CQUERY editor that appears
- Buckminster will now fetch and build Buckminster from source.
Submitting a patch
- Make necessary changes
- Ideally, write a JUnit test case that test your change and add it to the set of JUnit tests in the corresponding test project
- Commit your changes to your local Buckminster clone
- Use EGit to create a patch for your commit. This can be done by viewing the repository history, right clicking a commit, and then select "Create Patch..."
- Submit this patch as an attachment to a bug in our Bugzilla