| <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; " /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
| <a href="01-Introduction.php">Introduction</a></div> | |
| <ul style="display: none;" id="subToc_01-Introduction.html"> | |
| <li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li> | |
| <li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li> | |
| <li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</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="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 Components 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#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.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; " /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" /> | |
| <a href="GettingSources.php">Getting Sources</a></div> | |
| <ul style="display: none;" id="subToc_GettingSources.html"> | |
| <li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li> | |
| <li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li> | |
| <li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</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="samples.php">Xdoc Samples</a></div> | |
| <ul style="display: none;" id="subToc_samples.html"> | |
| <li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li> | |
| <li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li> | |
| <li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li> | |
| <li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li> | |
| <li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li> | |
| <li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </div> | |
| <div id="midcolumn"> | |
| <a name="GettingSources" ></a> | |
| <h1>Getting Sources</h1> | |
| <div class="toc"> | |
| <ul> | |
| <li><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li> | |
| <li><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li> | |
| <li><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li> | |
| </ul> | |
| </div> | |
| <p> | |
| If you want to get the sources of EMF Components, | |
| for instance, to contribute new features and patches, you can get them | |
| via Git. | |
| </p> | |
| <p> | |
| We use <a href="http://www.eclipse.org/buckminster/" >Buckminster</a> as the | |
| building and materialization infrastructure; this will let you | |
| 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 Components sources. | |
| </p> | |
| <p> | |
| For <a href="http://eclipse.org/rap/" >RAP</a> related project sources | |
| you will have to use a different workspace (and the materialized target | |
| platform will be different). The procedure is the same, you will just | |
| need to use a different URL for the materialization (as explained in the | |
| following). | |
| </p> | |
| <p> | |
| Some projects will be common to both RCP environment | |
| and RAP environment. | |
| </p> | |
| <a name="InstallBuckminster" ></a> | |
| <span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px; | |
| padding: 5px 0; | |
| padding-top: 5px;"></span><a style="float: right" href="#">Top</a> | |
| <br style="clear:both"></br> | |
| <h1>Install Buckminster in the IDE</h1> | |
| <p> | |
| First of all, you need to install Buckminster in your Eclipse; | |
| you can do that using the update site | |
| </p> | |
| <p> | |
| <em>http://download.eclipse.org/tools/buckminster/updates-4.2</em> | |
| </p> | |
| <p> | |
| You need to install the core, git and pde features. | |
| </p> | |
| <p> | |
| <div class="image" > | |
| <a class="gallery" rel="prettyPhoto[all]" title="Install Buckminster features" href="images/install-buckminster.png"> | |
| <img src="images/install-buckminster.png" | |
| width="600px" | |
| style="width:90%" | |
| /> | |
| </a> | |
| <div class="caption"> | |
| Install Buckminster features | |
| </div> | |
| </div> | |
| </p> | |
| <a name="PrepareTP" ></a> | |
| <span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px; | |
| padding: 5px 0; | |
| padding-top: 5px;"></span><a style="float: right" href="#">Top</a> | |
| <br style="clear:both"></br> | |
| <h1>Prepare an empty target platform</h1> | |
| <p> | |
| It is better to start with an empty target platform in your IDE | |
| (then Buckminster will materialize the required features and | |
| bundles starting from that empty target); | |
| you then need to create an empty target platform manually that contains | |
| one single and empty directory and set this target platform active. | |
| A subsequent resolution/materialization will use that platform. | |
| Here are the detailed steps: | |
| </p> | |
| <p> | |
| <ol> | |
| <li>Create a new general project named TP | |
| (or some name of your preference)</li> | |
| <li>Open "Window" => "Preferences" and expand "Plug-in Development"</li> | |
| <li>Select "Target Platform"</li> | |
| <li>Click "Add..."</li> | |
| <li>Click "Next>" (i.e. start with nothing)</li> | |
| <li>Enter TP in the Name: field</li> | |
| <li>Click "Add..."</li> | |
| <li>Select "Directory" and click "Next"</li> | |
| <li>Click on "Variables..."</li> | |
| <li>Scroll down and select "workspace_loc" and then type TP in the Argument: field.</li> | |
| <li>Click "OK" and then "Finish" and then "Finish" again.</li> | |
| <li>Set your new target definition active by checking it in the list of Target definitions: and click "OK"</li> | |
| </ol> | |
| </p> | |
| <a name="MaterializeWP" ></a> | |
| <span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px; | |
| padding: 5px 0; | |
| padding-top: 5px;"></span><a style="float: right" href="#">Top</a> | |
| <br style="clear:both"></br> | |
| <h1>Materialize the Workspace</h1> | |
| <div class="toc"> | |
| <ul> | |
| <li><a href="GettingSources.php#CustomizeProperties.php" >(Optional) Customize some Properties</a></li> | |
| <li><a href="GettingSources.php#StartMaterialization.php" >Start Materialization</a></li> | |
| </ul> | |
| </div> | |
| <p> | |
| From the File menu choose <em>Open a Component Query...</em> and | |
| use this URL | |
| </p> | |
| <p> | |
| <a href="http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.buckminster/build.cquery" >http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.buckminster/build.cquery</a> | |
| </p> | |
| <p> | |
| If you want to materialize a workspace with EMF Components RAP | |
| related projects use this URL instead | |
| </p> | |
| <p> | |
| <a href="http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.rap.buckminster/build.cquery" >http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.rap.buckminster/build.cquery</a> | |
| </p> | |
| <p> | |
| <div class="image" > | |
| <a class="gallery" rel="prettyPhoto[all]" title="The component query opened" href="images/open-cquery.png"> | |
| <img src="images/open-cquery.png" | |
| width="600px" | |
| style="width:90%" | |
| /> | |
| </a> | |
| <div class="caption"> | |
| The component query opened | |
| </div> | |
| </div> | |
| </p> | |
| <a name="CustomizeProperties" ></a> | |
| <h2>(Optional) Customize some Properties</h2> | |
| <p> | |
| Before starting the materialization, you might want to customize | |
| some properties; you can do that in the <em>Properties</em> tab of | |
| the opened component query: | |
| </p> | |
| <p> | |
| <div class="image" > | |
| <a class="gallery" rel="prettyPhoto[all]" title="The properties tab" href="images/open-cquery1.png"> | |
| <img src="images/open-cquery1.png" | |
| width="600px" | |
| style="width:90%" | |
| /> | |
| </a> | |
| <div class="caption"> | |
| The properties tab | |
| </div> | |
| </div> | |
| </p> | |
| <p> | |
| You can add a property by pressing | |
| the <em>New</em> button. | |
| </p> | |
| <p> | |
| For instance, you can customize the path in your system where | |
| the git repository will be cloned, which defaults to | |
| <em>${user.home}/git/emf-components</em>); for instance, you can change it | |
| to something else | |
| </p> | |
| <p> | |
| <div class="image" > | |
| <a class="gallery" rel="prettyPhoto[all]" title="Property customization" href="images/open-cquery-new-property1.png"> | |
| <img src="images/open-cquery-new-property1.png" | |
| width="600px" | |
| style="width:50%" | |
| /> | |
| </a> | |
| <div class="caption"> | |
| Property customization | |
| </div> | |
| </div> | |
| </p> | |
| <a name="StartMaterialization" ></a> | |
| <h2>Start Materialization</h2> | |
| <p> | |
| You can now press the button in the opened query <em>Resolve and Materialize</em>. | |
| This will start the materialization process which will consist of | |
| cloning the git repository, materialize the target platform and importing | |
| all the projects into the workspace. | |
| </p> | |
| <p> | |
| <div class="image" > | |
| <a class="gallery" rel="prettyPhoto[all]" title="Materialization..." href="images/resolving-cquery.png"> | |
| <img src="images/resolving-cquery.png" | |
| width="600px" | |
| style="width:70%" | |
| /> | |
| </a> | |
| <div class="caption"> | |
| Materialization... | |
| </div> | |
| </div> | |
| </p> | |
| <p> | |
| Materializing the target platform may take sometime (depending on your | |
| network connection), so you might want to go and get a coffee | |
| in the meantime ;) | |
| </p> | |
| <p> | |
| When the whole process terminates, you will have a working | |
| workspace with EMF Components projects and the needed target platform | |
| (thus, you should have no error!). | |
| </p> | |
| <p> | |
| <div class="image" > | |
| <a class="gallery" rel="prettyPhoto[all]" title="The final materialized workspace" href="images/materialized.png"> | |
| <img src="images/materialized.png" | |
| width="600px" | |
| style="width:90%" | |
| /> | |
| </a> | |
| <div class="caption"> | |
| The final materialized workspace | |
| </div> | |
| </div> | |
| </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;"> |