Getting Sources

If you want to get the sources of EMF Parsley, for instance, to contribute new features and patches, you can get them via Git.

Note that you need two different workspaces (and two different target platforms) if you want to materialize also the workspace for developing the RAP version of Emf Parsley (see below).

In both cases, you need a "Full eclipse" from Xtext website or use the eclipse DSL Package (we use Xtend for many source files, and we do not put the generated files in the repository).

We use Buckminster as the building and materialization infrastructure. We provide an ant script 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.

What this ant script will do in detail:

  • installs Buckminster headless if not found; default path: ${user.home}/buckminster.parsley. It can be changed by passing a path for the variable buckminster.home.
  • creates an eclipse workspace; default: ${user.home}/workspaces/emf-parsley-sources or ${user.home}/workspaces/emf-parsley-rap-sources for target materialize.workspace.rap. It can be changed by passing a path for the variable WORKSPACE
  • clones the Emf Parsley git repository; default: ${user.home}/git/org.eclipse.emf-parsley. It can be changed by passing a full path for the variable git.clone.dest. Note that the repository will be cloned only if it is not found in the given path.
  • creates and sets a target platform
  • imports necessary projects in the created workspace
  • 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)
  • sets some important workspace settings

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).

Run the ant script located here. In unix you can use following command:

wget -N

and then run the script:

ant -f workspace.ant

If you want the workspace for RAP version of Emf Parsley, run the script as follows:

ant -f workspace.ant materialize.workspace.rap

You can pass custom path using the variables defined above; for instance

ant -Dgit.clone.dest=/myrepos/emf-parsley -DWORKSPACE=/myworkspaces/parsley -f workspace.ant

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.