Jump to: navigation, search

Difference between revisions of "Extending or Contributing to Buckminster"

 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Backlink|Buckminster Project}}
 
{{Backlink|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 [[Installing Buckminster]].
+
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 [http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/doc/BuckyBook.pdf 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.
  
=Installation for Buckminster contributors=
+
==Initial clone of the repository==
In addition to a regular install of Eclipse, and Buckminster, you will also need to install the RCP Delta Pack. Once the delta pack is in place, you can use Buckminster to get all of the source for Buckminster itself.
+
#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 <pre>git://git.eclipse.org/gitroot/buckminster/buckminster.git</pre>
 +
#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"''
  
When resolving this query you MUST ensure that your Eclipse installation is 3.4 and contains the RCP delta pack.
+
===Prepare an empty target platform===
#Go to [http://download.eclipse.org/eclipse/downloads/ http://download.eclipse.org/eclipse/downloads/].
+
#Create a new general project named '''TP''' (or some name of your preference)
#Select the latest release.
+
#Open ''"Window"'' => ''"Preferences"'' and expand ''"Plug-in Development"''
#Navigate to the '''''RCP SDK''''' section where you will find a download link for the ''"RCP delta pack"'' zip.
+
#Select ''"Target Platform"''
#Download and unpack into your Eclipse installation directory. (unzip it in the eclipse install-directory that holds "plugins" and "features")
+
#Click ''"Add..."''
#Restart Eclipse and execute one of the following component queries - (Select "File" > "Open a Component Query", and paste in out of these URL's depending on which version you want:
+
#Click ''"Next>"'' (i.e. start with nothing)
:* For '''head development''' [http://www.eclipse.org/buckminster/samples/queries/buckminster-dev.cquery http://www.eclipse.org/buckminster/samples/queries/buckminster-dev.cquery]
+
#Enter '''TP''' in the ''Name:'' field
:* For '''eclipse 3.4.x''' [http://www.eclipse.org/buckminster/samples/queries/buckminster.cquery http://www.eclipse.org/buckminster/samples/queries/buckminster.cquery]
+
#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
 
# Press "Resolve & Materialize" in the CQUERY editor that appears
 
# Buckminster will now fetch and build Buckminster from source.
 
# Buckminster will now fetch and build Buckminster from source.
=More elaborate patches to Buckminster=
+
 
If you are going to contribute code to Buckminster in the form of patches, you may want to look at some of the coding policies and conventions used by Buckminster Committers.
+
==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 [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Buckminster Bugzilla]
 
[[Category:Buckminster]]
 
[[Category:Buckminster]]

Latest revision as of 01:25, 14 September 2012

< 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

  1. Ensure that the Git Repositories view is visible. You should be able to find it under "Window" => "Show View" => "Other..." => "Git" if its not.
  2. Click on "Clone a Git repository"
  3. Paste the following URL into the URI field in the wizard that pops up
    git://git.eclipse.org/gitroot/buckminster/buckminster.git
  4. Click "Next>" twice, then "Finish"

Populating the workspace

Create the local clone and check out the releng project

  1. Expand "buckminster" => "Working Directory" in the Git Repositories view.
  2. Select "org.eclipse.buckminster.releng", right click, and then select "Import projects..."
  3. Click "Next>" in the list of projects. A page where only the selected project is visible shows up.
  4. Click "Finish"

Prepare an empty target platform

  1. Create a new general project named TP (or some name of your preference)
  2. Open "Window" => "Preferences" and expand "Plug-in Development"
  3. Select "Target Platform"
  4. Click "Add..."
  5. Click "Next>" (i.e. start with nothing)
  6. Enter TP in the Name: field
  7. Click "Add..."
  8. Select "Directory" and click "Next"
  9. Click on "Variables..."
  10. Scroll down and select "workspace_loc" and then type TP in the Argument: field.
  11. Click "OK" and then "Finish" and then "Finish" again.
  12. 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

  1. Expand the org.eclipse.buckminster.releng project and open the build.cquery file. It should open using the Buckminster cquery editor.
  2. Press "Resolve & Materialize" in the CQUERY editor that appears
  3. Buckminster will now fetch and build Buckminster from source.

Submitting a patch

  1. Make necessary changes
  2. Ideally, write a JUnit test case that test your change and add it to the set of JUnit tests in the corresponding test project
  3. Commit your changes to your local Buckminster clone
  4. 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..."
  5. Submit this patch as an attachment to a bug in our Bugzilla