Skip to main content
Jump to: navigation, search

Difference between revisions of "Xtext/Contributor Guide"

m
 
(28 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Xtext}} {{:DocumentationGuidelines/DraftHeader}}
+
{{Xtext}}
== Prerequisites ==
+
=== User Account ===
+
We use eclipse  [https://git.eclipse.org/r/ eclipse gerrit review server] to review and manage new contributions. Hence, you need to perform the following few steps to be able to use the Gerrit server:
+
* Register an Eclipse.org account at [https://dev.eclipse.org/site_login/createaccount.php dev.eclipse.org]. The same account is used for [https://bugs.eclipse.org/bugs Bugzilla] and [https://git.eclipse.org/r Gerrit]. If you are an Eclipse committer you already have one.
+
* [https://git.eclipse.org/r/#settings,http-password Define a username]
+
* [https://git.eclipse.org/r/#settings,ssh-keys Upload your public ssh-key] for authentication. For more information about ssh authenticatoin and how to generate an ssh key, refer to [https://help.github.com/articles/generating-ssh-keys this site].
+
=== Eclipse Distribution ===
+
Download "Full eclipse" from [http://www.eclipse.org/Xtext/download.html Xtext website] or use the [http://www.eclipse.org/downloads/ eclipse DSL Package]
+
<br><br>
+
  
== Let Buckminster setup your Xcontributor environment ==
+
The Xtext Contributor Guide is now maintained in the [https://github.com/eclipse/xtext/blob/master/CONTRIBUTING.md Xtext GitHub repository].
 
+
We provide an [http://ant.apache.org/manual/install.html ant] script which installs and runs [[Buckminster]]. Buckminster will do the most off necessary steps to crete a contributor workspace for you.
+
 
+
What does [[Buckminster|buckminster]] do in detail:
+
 
+
*creates an eclipse workspace
+
*clones the Xtext git repository
+
*imports necessary projects in created workspace
+
*creates and sets [http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Ftasks%2Fapi_tooling_baseline.htm api baseline]
+
*creates and sets a [http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fconcepts%2Ftarget.htm target platform]
+
*sets some important workspace settings
+
*performs gerrit setup
+
 
+
=== Run the script  ===
+
 
+
Run the ant script located [http://git.eclipse.org/c/tmf/org.eclipse.xtext.git/plain/devtools/org.eclipse.xtext.contributor/workspace.ant here]. In unix you can use following commands:
+
<source lang="bash">
+
wget -N http://git.eclipse.org/c/tmf/org.eclipse.xtext.git/plain/devtools/org.eclipse.xtext.contributor/workspace.ant
+
ant -f workspace.ant
+
</source>
+
If it's the first time you are cloning Xtext repository, the script will ask you to input your bugzilla/gerrit [[Xtext/Contributor_Guide#User_Account|username]] in order to create the necessary entries in the git configuration file, so you can push to gerrit review server. You can also skip this step by leaving your input empty and manually set up your local git repository. [[Gerrit|Here]] you can find a good description.
+
 
+
=== Start eclipse ===
+
Start your eclipse and choose ${user.home}/workspaces/xtext-sources as eclipse workspace
+
=== Setup working sets ===
+
* In "Package Explorer" - view,  select "Top level elements -> Working sets"
+
* Select File -> Import -> Team -> Team Project Set.
+
* Point to the following URL http://git.eclipse.org/c/tmf/org.eclipse.xtext.git/plain/devtools/org.eclipse.xtext.contributor/projectSet.psf
+
* Perform import
+
<br> <br>
+
== Using git  ==
+
 
+
As git client you may use whatever you want, the important thing is that after setup your git configuration looks similar to this:
+
 
+
<br>
+
 
+
<code>
+
[core]
+
      repositoryformatversion = 0
+
      filemode = true
+
      logallrefupdates = true
+
[remote "origin"]
+
        url = git://git.eclipse.org/gitroot/tmf/org.eclipse.xtext.git
+
        pushurl = ssh://<your account id>@git.eclipse.org:29418/tmf/org.eclipse.xtext.git
+
        fetch = +refs/heads/*:refs/remotes/origin/*
+
        push = HEAD:refs/for/master
+
[branch "master"]
+
        remote = origin
+
        merge = refs/heads/master
+
</code>
+
 
+
 
+
=== Pulling changes from server  ===
+
 
+
<code>git pull origin master</code>
+
 
+
=== Pushing to review server  ===
+
 
+
<code>git push origin master</code>
+
 
+
=== Helpful sites  ===
+
 
+
[[Gerrit|Using Gerrit hosted at eclipse]]
+
 
+
== Contribution monitoring ==
+
After you pushed your first commit to gerrit, it will be reviewed on the [https://hudson.eclipse.org/sandbox/job/xtext.gerrit/ hudson review server].
+
If all tests pass a manuel review will be done by one of the Xtext committers. If all looks good, your contribution will be pushed to the master repository and you can install it from the regular [https://hudson.eclipse.org/hudson/job/Xtext-nightly-HEAD/ eclipse hudson server].
+
 
+
== Browse Sources Online  ==
+
Xtext and Xtend are hosted in Git. You can browse the repository in cgit here [http://git.eclipse.org/c/tmf/org.eclipse.xtext.git/ Xtext/Xtend repository].  
+
<br>
+

Latest revision as of 02:42, 21 July 2016

The Xtext Contributor Guide is now maintained in the Xtext GitHub repository.

Back to the top