| <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;"> |