-
Notifications
You must be signed in to change notification settings - Fork 17
Build
This page details the different steps required to build locally NeoEMF. When built and installed in your local maven repository, you can import it in your project using the following maven dependency:
<dependency>
<groupId>fr.inria.atlanmod.neoemf</groupId>
<artifactId>neoemf-core</artifactId>
<version>latest</version>
</dependency>
<dependency>
<groupId>fr.inria.atlanmod.neoemf</groupId>
<artifactId>neoemf-io</artifactId>
<version>latest</version>
</dependency>
Alternatively, the local build embeds a zipped update site in the plugins/fr.inria.atlanmod.neoemf.eclipse.update/1.0.2-SNAPSHOT
folder you can install in your Eclipse application.
You can download the source code of the latest release here or clone the master
branch using the following git command:
git clone -b master --single-branch https://github.com/atlanmod/NeoEMF.git
Configure Maven's JDK to allocate more memory:
export MAVEN_OPTS="-XX:PermSize=256m -XX:MaxPermSize=512m -XstartOnFirstThread"
NeoEMF core components are bundled as a set of Jar files that can be imported using the maven dependency mechanism. You can build NeoEMF core components by going to the root of the source directory and run the following command:
mvn clean install
(optional) You can also run the tests by using :
mvn test (-pl <neoemf-core|neoemf-data|neoemf-io|...>)
Note that building the core components does not create Eclipse plugins and an local version of the update site. To generate these additional artifacts see the next section.
NeoEMF Eclipse integration plugins provide Eclipse compatible plugins and update site. To build these artifacts, you need to run the following command:
mvn clean install -f plugins/eclipse
NeoEMF plugins and update-site are built and stored in your local maven repository at plugins/fr.inria.atlanmod.neoemf.eclipse.update/1.0.2-SNAPSHOT
.
You can alternatively build NeoEMF directly in Eclipse using the Eclipse Git and Maven integrations plugin.
In order to import NeoEMF Git repository in Eclipse, you will need the following plugins in your installation (installable from the software repository of your Eclipse release):
- EGit : v3.4.2 or later
- m2e : v1.5.1 or later
And the following m2e connectors (installable through Preferences → Maven → Discovery / m2e Marketplace
):
- Maven SCM Handler for EGit (m2e-egit) : v0.14 or later
- Tycho Project Configurators (Tycho configurator) : v0.8.0 or later
Note that additional m2e connectors can be required denpending of your specific installation.
They can be installed using Eclipse quick fixes available in the pom
files.
- Import the project using
File → Import → Maven → Check out Maven Projects from SCM
- Select "git" in the SCM URL field and paste the repository address (https://github.com/atlanmod/NeoEMF.git)
- Choose your workspace and working sets setting and finish
The projects project, parent, core, graph, graph.blueprints and map will be imported and built.
If you want to import the projects generating Eclipse specific plugins (features, update-site), you have to import them by
hand using File → Import → Maven → Existing Maven Projects
, and select the projects under the "plugins" folder in your local repository.
Note that building NeoEMF in Eclipse can take a long time (and a large disk space) because the default SCM connector fetches all the branches of the remote git repository.
If you experience issues installing or using NeoEMF, you can submit an issue on github or contact us at [email protected]
- Only Luna plugins are fetched (the compatibility is not ensured for previous Eclipse versions)
- The Eclipse plugins can not be built if maven can not access internet (it is needed to fetch Luna p2 repositories)
- Sometimes the plugin build crashes and/or freezes during p2 index fetching from Luna repositories. It is generally sufficient to cancel the build (
ctrl-c
) and to relaunch it.