Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Sphinx/environment"

(Add a new section)
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page aims at providing a procedure to get Sphinx sources and settle a development environment.
+
This page explains how to setup an environment required for developing Sphinx. It consists of a minimal Eclipse IDE, an appropriate target platform and the source code of Sphinx.
  
==Setting the Eclipse environment==
+
==Setting up an Eclipse IDE==
Before getting Sphinx, the first step consists in setting the required Eclipse environment. The principle consists in using a minimal environment for the edition, and an adapted target platform to compile and run Sphinx.
+
  
===Install Eclipse===
+
[http://eclipse.org/downloads Download] and [http://wiki.eclipse.org/Eclipse/Installation install] the latest '''Eclipse Modeling Tools''' package.
No comments.
+
  
===Install a Subversion client===
+
==Getting the source code==
We recommend the use of Subversive. Subversive may be installed from the following update sites:
+
* http://download.eclipse.org/technology/subversive/0.7/update-site/
+
* http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
+
  
Install the following feature groups:
+
===Git repository access===
* Subversive SVN Team Provider Plugin (Incubation)
+
* Subversive SVN Connectors
+
  
==SVN checkout==
+
The source code of Sphinx is managed in a [http://git-scm.com Git] repository that can be accessed in one of the following ways:  
===SVN repository configuration===
+
Create a new SVN repository with the following attributes:
+
* URL: https://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.sphinx (caution: https, not http)
+
* User: ''<empty>''
+
* Password: ''<empty>''
+
  
===Import the project set===
+
Read-only access:
Sphinx provides a project set that lists all the Sphinx plug-ins/projects.
+
* URL: git://git.eclipse.org/gitroot/sphinx/org.eclipse.sphinx.git
* Browse the SVN repository
+
* User name: ''<leave empty>''
* Check-out the project ''trunk/tools/org.eclipse.sphinx.psf''
+
* Password: ''<leave empty>''
  
===Import the sources===
+
TODO list other access options
Once the project set is downloaded, it is easy to check-out the whole Sphinx project sources.
+
* Browse the org.eclipse.sphinx.psf project in your workspace
+
* Right-click on file all-subversive.psf
+
* Click on ''Import Project Set...''
+
  
All the projects of Sphinx are then checked out in your workspace. They are automatically organized into several working sets.
+
===Cloning and importing the source code with EGit===
 +
 
 +
The recommended way to clone and import the source code of Sphinx is to use [http://eclipse.org/egit EGit] - the Eclipse Team provider for Git:
 +
* Open the ''Git Repository Exploring'' perspective
 +
* Click on the ''Clone a Git Repository and add the clone to this view'' button
 +
* Enter the Git repository access data using one of the options indicated above, and then click on ''Next''
 +
* Select the relevant Git repository branches (e.g. ''master''), and then click on ''Next''
 +
* Make sure that ''Import all existing projects after clone finishes'' is checked and then click on ''Finish''
 +
* Wait until the cloning process has been completed and go back to the ''Plug-in Development'' perspective
  
 
==Setting the target platform==
 
==Setting the target platform==
Sphinx provides target platform definition for the two last versions of Sphinx. These target definitions are in project ''org.eclipse.sphinx.targetdefs'', in working set ''Tools''.
 
 
These target definitions suppose that a directory containing the target platform exists in the local file system.
 
Our issue consists now in the recreation of this directory.
 
 
The current solution is inherited from Artop. A discussion is opened to find a better solution to provide the Sphinx target platform (cf. https://bugs.eclipse.org/bugs/show_bug.cgi?id=340589)
 
 
For the moment, we propose the following procedure (only for Eclipse 3.6).
 
 
===Getting the target platform===
 
* Download this file: [[Media:3.6 by sites.zip|3.6_by_sites.zip]];
 
* Unzip its content in project ''org.eclipse.sphinx.targetdefs'';
 
* Open the file ''3.6_by_sites.target'';
 
* Wait for the completion of the ''Resolving Target Definition'' task;
 
* Click on link ''Set as Target Platform'' (upper right corner of the target editor).
 
  
===Optimizing the target platform===
+
Sphinx provides target platform definitions for the two latest Eclipse releases. These target definitions are in the project ''org.eclipse.sphinx.targetdefs'' which is part of the ''Tools'' working set.
The previous solution works but has drawbacks. For each workspace it downloads in cache a new full target platform.
+
* Open the target definition file ''xxx.target'' that corresponds to the Eclipse release you want to work with;
The solution consists in recreating a local target platform, as initially intended.
+
* Wait for the completion of the ''Resolving Target Definition'' operation. This may take a while, in particular at the first time, because all directly and indirectly required target platform plug-ins and features are being downloaded or updated as necessary during that operation. If errors occur, try to close and reopen the target definition file so as to re-trigger the target platform resolution;
* Create a directory in your local file system;
+
* Click on link ''Set as Target Platform'' (in the upper right corner of the target editor).
* Create an environment variable called ''SPHINX_TARGETS'' that refers to this directory;
+
* Create a subdirectory ''target-3.6'';
+
* Copy the content of ''<workspace>/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool'' in ''target-3.6'';
+
* Open preferences by clicking on menu ''Window/Preferences'' and select ''Plug-in Development/Target Platform'';
+
* Click on ''Add...'' to create a new target platform definition;
+
* Start with ''Nothing'', that is an empty target definition and click ''Next >'';
+
* Give a name: ''Sphinx Eclipse 3.6 local'';
+
* Select the ''Locations'' tab and click ''Add...'';
+
* Select ''Directory'' and click ''Next >'';
+
* Provide the location: ''${env_var:SPHINX_TARGETS}/target-3.6'' and click ''Finish'';
+
* Click ''Finish'' to end the definition of the target;
+
* Select the new target definition and click ''Share...''
+
* Enter the parent folder ''org.eclipse.sphinx.targetdefs'' and the file name ''3.6_local'';
+
* Check the box in front of the target definition and click ''OK''.
+
Remark: The use of an environment variable is not mandatory. It is just cleaner for future management of target platforms.
+
  
 
==Creating an EMF example library model==
 
==Creating an EMF example library model==
 
The example project that is provided with Sphinx makes use of the library model coming from EMF. Thus, we have to get it to be able to compile everything.
 
The example project that is provided with Sphinx makes use of the library model coming from EMF. Thus, we have to get it to be able to compile everything.
This dependency should be removed in the future.
 
  
 
===Installing EMF SDK===
 
===Installing EMF SDK===
 
First, we have to install EMF SDK in the Eclipse environment.
 
First, we have to install EMF SDK in the Eclipse environment.
 
* Open menu ''Help/Install New Software...'';
 
* Open menu ''Help/Install New Software...'';
* Select work with ''Helios'';
+
* Select work with ''Juno'';
 
* Install ''EMF - Eclipse Modeling Framework SDK'' in ''Modeling'' category.
 
* Install ''EMF - Eclipse Modeling Framework SDK'' in ''Modeling'' category.
  
 
===Creating the library model projects===
 
===Creating the library model projects===
* Open menu ''File/New/Other...'';
+
* Open menu ''File/New/Example...'';
* Select ''Examples/Extended Library Model Example'';
+
* Select ''Eclipse Modeling Framework/Extended Library Model Example'';
* Finish the creation and rebuild if necessary the sources.
+
* Finish the creation and wait until the workspace has been rebuilt.

Revision as of 10:25, 31 July 2015

This page explains how to setup an environment required for developing Sphinx. It consists of a minimal Eclipse IDE, an appropriate target platform and the source code of Sphinx.

Setting up an Eclipse IDE

Download and install the latest Eclipse Modeling Tools package.

Getting the source code

Git repository access

The source code of Sphinx is managed in a Git repository that can be accessed in one of the following ways:

Read-only access:

TODO list other access options

Cloning and importing the source code with EGit

The recommended way to clone and import the source code of Sphinx is to use EGit - the Eclipse Team provider for Git:

  • Open the Git Repository Exploring perspective
  • Click on the Clone a Git Repository and add the clone to this view button
  • Enter the Git repository access data using one of the options indicated above, and then click on Next
  • Select the relevant Git repository branches (e.g. master), and then click on Next
  • Make sure that Import all existing projects after clone finishes is checked and then click on Finish
  • Wait until the cloning process has been completed and go back to the Plug-in Development perspective

Setting the target platform

Sphinx provides target platform definitions for the two latest Eclipse releases. These target definitions are in the project org.eclipse.sphinx.targetdefs which is part of the Tools working set.

  • Open the target definition file xxx.target that corresponds to the Eclipse release you want to work with;
  • Wait for the completion of the Resolving Target Definition operation. This may take a while, in particular at the first time, because all directly and indirectly required target platform plug-ins and features are being downloaded or updated as necessary during that operation. If errors occur, try to close and reopen the target definition file so as to re-trigger the target platform resolution;
  • Click on link Set as Target Platform (in the upper right corner of the target editor).

Creating an EMF example library model

The example project that is provided with Sphinx makes use of the library model coming from EMF. Thus, we have to get it to be able to compile everything.

Installing EMF SDK

First, we have to install EMF SDK in the Eclipse environment.

  • Open menu Help/Install New Software...;
  • Select work with Juno;
  • Install EMF - Eclipse Modeling Framework SDK in Modeling category.

Creating the library model projects

  • Open menu File/New/Example...;
  • Select Eclipse Modeling Framework/Extended Library Model Example;
  • Finish the creation and wait until the workspace has been rebuilt.

Back to the top