<br style="clear:both;height:1em;"> | |
<div id="leftcol"> | |
<div class="nav-logo"> | |
<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a> | |
</div> | |
<ul id="leftnav"> | |
<li class="partentry" > | |
Documentation | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none" /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="01-Introduction.php">Introduction</a></div> | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; " /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="02-GettingStarted.php">Getting Started</a></div> | |
<ul style="display: none;" id="subToc_02-GettingStarted.html"> | |
<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li> | |
<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li> | |
<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li> | |
</ul> | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; " /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="03-Components.php">Components</a></div> | |
<ul style="display: none;" id="subToc_03-Components.html"> | |
<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li> | |
<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li> | |
<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li> | |
<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li> | |
</ul> | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; " /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="04-Customization.php">Customization</a></div> | |
<ul style="display: none;" id="subToc_04-Customization.html"> | |
<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li> | |
<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li> | |
<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li> | |
<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li> | |
<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li> | |
<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li> | |
</ul> | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; " /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="05-DSL.php">EMF Parsley DSL</a></div> | |
<ul style="display: none;" id="subToc_05-DSL.html"> | |
<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li> | |
</ul> | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none" /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="06-AdvancedComponents.php">Advanced Components</a></div> | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; " /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="07-Eclipse4.php">Eclipse 4</a></div> | |
<ul style="display: none;" id="subToc_07-Eclipse4.html"> | |
<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li> | |
<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li> | |
<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li> | |
<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFParsley.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFParsley.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li> | |
<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li> | |
</ul> | |
</li> | |
<li class="partentry" > | |
Appendix | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none" /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="GettingSources.php">Getting Sources</a></div> | |
</li> | |
<li class="separator"><div class="separator"> | |
<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none" /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
<a href="Downloads.php">EMF Parsley - Downloads</a></div> | |
</li> | |
</ul> | |
</div> | |
<div id="midcolumn"> | |
<a name="GettingSources" ></a> | |
<h1>Getting Sources</h1> | |
<p> | |
If you want to get the sources of EMF Parsley, | |
for instance, to contribute new features and patches, you can get them | |
via Git. | |
</p> | |
<p> | |
Note that you need two different workspaces (and two different target platforms) | |
if you want to materialize also the workspace for developing the <a href="http://eclipse.org/rap/" >RAP</a> | |
version of Emf Parsley (see below). | |
</p> | |
<p> | |
In both cases, you need a <a href="http://www.eclipse.org/Xtext/download.html" >"Full eclipse"</a> | |
from Xtext website or use the <a href="http://www.eclipse.org/downloads/" >eclipse DSL Package</a> | |
(we use Xtend for many source files, and we do not put the generated files | |
in the repository). | |
</p> | |
<p> | |
We use <a href="http://www.eclipse.org/buckminster/" >Buckminster</a> as the | |
building and materialization infrastructure. | |
We provide an <a href="http://git.eclipse.org/c/emf-parsley/org.eclipse.emf-parsley.git/plain/devtools/org.eclipse.emf.parsley.contributor/workspace.ant" >ant script</a> which installs and runs Buckminster. | |
This will automatically materialize the sources in the workspace and setup | |
the target platform, so that you will have everything that is necessary | |
to have a working workspace with EMF Parsley sources. | |
</p> | |
<p> | |
What this ant script will do in detail: | |
</p> | |
<p> | |
<ul> | |
<li>installs Buckminster headless if not found; | |
default path: <em>${user.home}/buckminster.parsley</em>. | |
It can be changed by passing a path for the variable | |
<em>buckminster.home</em>.</li> | |
<li>creates an eclipse workspace; | |
default: <em>${user.home}/workspaces/emf-parsley-sources</em> | |
or <em>${user.home}/workspaces/emf-parsley-rap-sources</em> | |
for target <em>materialize.workspace.rap</em>. | |
It can be changed by passing a path for the | |
variable <em>WORKSPACE</em></li> | |
<li>clones the Emf Parsley git repository; | |
default: <em>${user.home}/git/org.eclipse.emf-parsley</em>. | |
It can be changed by passing a full path for the | |
variable <em>git.clone.dest</em>. Note that the repository will | |
be cloned only if it is not found in the given path.</li> | |
<li>creates and sets a target platform</li> | |
<li>imports necessary projects in the created workspace</li> | |
<li>runs the MWE2 workflow for generating Xtext language infrastructure for the DSL | |
(in this phase, you should ignore possible Java compilation errors you see in the | |
console)</li> | |
<li>sets some important workspace settings</li> | |
</ul> | |
</p> | |
<p> | |
Especially the first time (for cloning and materializing the target platform) | |
the script might take several minutes. (Target platform materialization | |
might also fail due to network problems; in that case, try and run the | |
script again). | |
</p> | |
<p> | |
Run the ant script located <a href="http://git.eclipse.org/c/emf-parsley/org.eclipse.emf-parsley.git/plain/devtools/org.eclipse.emf.parsley.contributor/workspace.ant" >here</a>. | |
In unix you can use following command: | |
</p> | |
<p> | |
<div class="literallayout"> | |
<div class="incode"> | |
<p class="code"> | |
wget -N http:<span class="comment">//git.eclipse.org/c/emf-parsley/org.eclipse.emf-parsley.git/plain/devtools/org.eclipse.emf.parsley.contributor/workspace.ant</span> | |
</p> | |
</div> | |
</div> | |
</p> | |
<p> | |
and then run the script: | |
</p> | |
<p> | |
<div class="literallayout"> | |
<div class="incode"> | |
<p class="code"> | |
ant -f workspace.ant | |
</p> | |
</div> | |
</div> | |
</p> | |
<p> | |
If you want the workspace for RAP version of Emf Parsley, run the script as | |
follows: | |
</p> | |
<p> | |
<div class="literallayout"> | |
<div class="incode"> | |
<p class="code"> | |
ant -f workspace.ant materialize.workspace.rap | |
</p> | |
</div> | |
</div> | |
</p> | |
<p> | |
You can pass custom path using the variables defined above; for instance | |
</p> | |
<p> | |
<div class="literallayout"> | |
<div class="incode"> | |
<p class="code"> | |
ant -Dgit.clone.dest=/myrepos/emf-parsley -DWORKSPACE=/myworkspaces/parsley -f workspace.ant | |
</p> | |
</div> | |
</div> | |
</p> | |
<p> | |
After the script terminates successfully, you can open the materialized | |
workspace with Eclipse (an automatic build will also start for compiling | |
Xtend files). The workspace is already setup with the correct target platform. | |
</p> | |
<div id="disqus_thread"></div> | |
<script type="text/javascript" src="documentationRoot.js"></script> | |
<script type="text/javascript"> | |
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ | |
var disqus_shortname = 'xtext'; // required: replace example with your forum shortname | |
// The following are highly recommended additional parameters. Remove the slashes in front to use. | |
var disqus_identifier = 'GettingSources'; | |
var disqus_url = documentationRoot+'GettingSources.php'; | |
/* * * DON'T EDIT BELOW THIS LINE * * */ | |
(function() { | |
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; | |
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; | |
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); | |
})(); | |
</script> | |
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> | |
</div> | |
<br style="clear:both;height:1em;"> |