<!DOCTYPE html>
<html>

  <head>
	<meta charset="UTF-8">
	<title>Xtext - Continuous Integration (with Maven)</title>
	
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="description"
		content="The website of Eclipse Xtext, an open-source framework for development of programming languages and domain-specific languages">
	<meta name="author" content="Sven Efftinge">
	<meta name="author" content="Miro Spoenemann">
	<!--  styles -->
	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
	<!--[if lt IE 9]>
	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
	
	<!-- Le fav and touch icons -->
	<link rel="shortcut icon" href="/Xtext/images/favicon.png">
	
	<link href="/Xtext/css/bootstrap.css" rel="stylesheet" type='text/css'>
	<link href="/Xtext/css/bootstrap-responsive.css" rel="stylesheet" type='text/css'>
	<link href="/Xtext/css/shield-responsive.css" rel="stylesheet" type='text/css'>
	<link href='/Xtext/css/fonts.css' rel='stylesheet' type='text/css'>
	<link href="/Xtext/css/prettyPhoto.css" rel="stylesheet" media="screen" type='text/css'>
	<link href="/Xtext/css/prettify.css" type="text/css" rel="stylesheet"/>
	<link href="/Xtext/css/style.css" rel="stylesheet" type='text/css'>
	<!-- cover flow -->
	<link href="/Xtext/css/coverflow.css" rel="stylesheet" type='text/css'>
	<!--[if lt IE 9]>
	  <link href="/css/iebugs.css" rel="stylesheet" type='text/css'>
	<![endif]-->

	<!-- BEGIN Cookie Consent
	<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css" />
	<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
	<script>
	window.addEventListener("load", function(){
	window.cookieconsent.initialise({
		"palette": {
		"popup": {
		  "background": "#000"
		},
		"button": {
		  "background": "#f1d600"
		}
		},
		"theme": "edgeless",
		"type": "opt-in",
		onInitialise: function (status) {
		  var type = this.options.type;
		  var didConsent = this.hasConsented();
		  if (type == 'opt-in' && didConsent) {
		    // TODO: enable cookies
		  }
		  if (type == 'opt-out' && !didConsent) {
		    // TODO: disable cookies
		  }
		},
		onStatusChange: function(status, chosenBefore) {
		  var type = this.options.type;
		  var didConsent = this.hasConsented();
		  if (type == 'opt-in' && didConsent) {
		    // TODO: enable cookies
		  }
		  if (type == 'opt-out' && !didConsent) {
		    // TODO: disable cookies
		  }
		}, 
		onRevokeChoice: function() {
		  var type = this.options.type;
		  if (type == 'opt-in') {
		    // TODO: disable cookies
		  }
		  if (type == 'opt-out') {
		    // TODO: enable cookies
		  }
		},
		"content": {
		"href": "http://www.eclipse.org/legal/privacy.php"
		}
	})});
	</script>
	END Cookie Consent -->
</head>


  <body>
  
    <header class="site-header">

  <!-- Navbar -->
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-navbar" data-toggle="collapse"
          data-target=".nav-collapse"> <span class="icon-bar"></span> <span
          class="icon-bar"></span> <span class="icon-bar"></span>
        </a> <a class="brand" href="/Xtext/index.html"></a>
        <div class="nav-collapse collapse" style="height: 0px;">
          <ul class="nav">
            <!--li ><a href="/Xtext/news.html">News</a></li-->
            <li ><a href="/Xtext/download.html">Download</a></li>
            <li ><a href="/Xtext/documentation/index.html">Documentation</a></li>
            <li ><a href="/Xtext/community.html">Community</a></li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Support &amp; Trainings<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="https://www.itemis.com/en/xtext/support-and-team/" target="_blank">itemis</a></li>
                <li><a href="https://typefox.io/trainings-2" target="_blank">TypeFox</a></li>
              </ul>
            </li>
            <li ><a href="http://xtend-lang.org">Xtend</a></li>
          </ul>
          <!--div class="nav pull-right">
            <li ><a><iframe src="https://ghbtns.com/github-btn.html?user=eclipse&repo=xtext&type=star&count=true" frameborder="0" scrolling="0" width="170px" height="20px"></iframe></a></li>
          </div-->
        </div>
        <!--/.nav-collapse -->
      </div>
    </div>
  </div>
  <!-- Navbar End -->

</header>


    <div class="page-content">
  <script>
    function startSearch(event) {
        if (event.keyCode == 13) {
            var q = 'site:eclipse.org/Xtext/documentation+' + event.target.value;
            window.open('https://www.google.com/search?q=' + q, "_self");
        }
    }
  </script>
  <div class="wrapper">
  	<div id="page">  
      <div class="inner">
        <div id="maincontainer" class="container">
          <span class="edit-on-github pull-right">
            <a href="https://github.com/eclipse/xtext/edit/website-published/xtext-website/documentation/350_continuous_integration.md">Edit on Github</a>
          </span>
          <div class="span3" style="margin-left: 0px;">
            <div class="search-bar">
              <img src="/Xtext/images/search-gray.png"/>
              <input type="search" id="google-search" onkeyup="startSearch(event);"/>
            </div>
            <ul id="nav-outline" style="margin-left: 0px;">
	<li class="nav-part">Getting Started</li>
	<li><a href="102_domainmodelwalkthrough.html">15 Minutes Tutorial</a></li>
	<li><a href="103_domainmodelnextsteps.html">15 Minutes Tutorial - Extended</a></li>
	<li><a href="104_jvmdomainmodel.html">Five simple steps to your JVM language</a></li>
		
	<li class="nav-part">Reference Documentation</li>
	<li><a href="301_grammarlanguage.html">The Grammar Language</a></li>
	<li><a href="302_configuration.html">Configuration</a></li>
	<li><a href="303_runtime_concepts.html">Language Implementation</a></li>
	<li><a href="305_xbase.html">Integration with Java</a></li>
	<li><a href="307_special_languages.html">Typical Language Configurations</a></li>
	<li><a href="308_emf_integration.html">Integration with EMF</a></li>
	<li><a href="310_eclipse_support.html">Eclipse Support</a></li>
	<li><a href="330_web_support.html">Web Editor Support</a></li>
	<li><a href="340_lsp_support.html">LSP Support</a></li>
	<li><a href="350_continuous_integration.html">Continuous Integration</a></li>
</ul>
          </div>
          <div class="span8 doc-contents">
            <h1 id="continuous-integration">Continuous Integration (with Maven)</h1>

<p>There are two aspects to consider when it comes to continuous integration. Firstly you may want to have a continuous build of your language that runs all tests and creates an Eclipse update site and other needed artifacts, and secondly you may want to have your language and its corresponding code generator integrated in your application builds. We will discuss both cases in this section along with a set of example projects, which you can clone, inspect or download from <a href="https://github.com/xtext/maven-xtext-example">github.com/xtext/maven-xtext-example</a>.</p>

<p>To follow this section you need a basic understanding of how Maven works. Please read a tutorial on Maven if you don’t know anything about it.</p>

<h2 id="an-overview-of-the-example-projects">An overview of the example projects</h2>

<p>If you have a look at the example, you’ll find seven different projects of which six are for the various aspects of the language and its build. First we have the language’s runtime project, UI project and test project. In addition we need a feature project, an update site project and a project where we put the parent pom. The seventh project is called <code>example-project</code> and is really a small application project that uses the built language and triggers the code generator through a dedicated maven plug-in. Let’s first have a look at how to build the language.</p>

<h2 id="tycho-build">Building an Xtext language with Maven and Tycho</h2>

<p>Although the runtime aspects of an Xtext language is not dependent on Eclipse or its OSGi container, an Xtext language is developed in the form of OSGi bundles. For this kind of builds most people rely on <a href="http://eclipse.org/tycho/">Tycho</a>, which is an OSGi/P2 adapter plug-in for Maven builds. Tycho obtains much information from the OSGi bundle’s manifest. Additionally needed information is configured through the pom.xml file which sits at the root of each project.</p>

<h3 id="the-parent-project-mymavenizedherolanguageparent">The parent project (my.mavenized.herolanguage.parent)</h3>

<p>All of the projects are aggregated in a parent pom in the root directory. If you import the projects into Eclipse the imported project is called <code>my.mavenized.herolanguage.parent</code>. Information defined in the parent pom is automatically inherited by the aggregated child projects, so you don’t need to reconfigure the same information over and over again. Here we have configured two additional plug-ins:</p>

<ul>
  <li>
    <p>The Xtend compiler plug-in will generate the Java source code for any Xtend files during the ‘generate-sources’ phase</p>

    <pre><code class="language-xml">&lt;pluginManagement&gt;
  &lt;plugins&gt;
    &lt;!-- xtend-maven-plugin is in pluginManagement instead of in plugins
       so that it doesn't run before the exec-maven-plugin's *.mwe2 gen;
       this way we can list it after. 
      --&gt;
          
    &lt;plugin&gt;
      &lt;groupId&gt;org.eclipse.xtend&lt;/groupId&gt;
      &lt;artifactId&gt;xtend-maven-plugin&lt;/artifactId&gt;
      &lt;version&gt;${xtext.version}&lt;/version&gt;
      &lt;executions&gt;
        &lt;execution&gt;
          &lt;goals&gt;
            &lt;goal&gt;compile&lt;/goal&gt;
            &lt;goal&gt;xtend-install-debug-info&lt;/goal&gt;
            &lt;goal&gt;testCompile&lt;/goal&gt;
            &lt;goal&gt;xtend-test-install-debug-info&lt;/goal&gt;
          &lt;/goals&gt;
        &lt;/execution&gt;
      &lt;/executions&gt;
      &lt;configuration&gt;
        &lt;outputDirectory&gt;xtend-gen&lt;/outputDirectory&gt;
      &lt;/configuration&gt;
    &lt;/plugin&gt;
  &lt;/plugins&gt;
&lt;/pluginManagement&gt;
</code></pre>
  </li>
  <li>
    <p>The Tycho plug-in will pick up and use Eclipse plug-in specific configuration data from the projects in order to build Eclipse conformant OSGi bundles, features and an update site.</p>

    <pre><code class="language-xml">&lt;plugins&gt;
  &lt;plugin&gt;
    &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
    &lt;artifactId&gt;tycho-maven-plugin&lt;/artifactId&gt;
    &lt;version&gt;${tycho-version}&lt;/version&gt;
    &lt;extensions&gt;true&lt;/extensions&gt;
  &lt;/plugin&gt;
&lt;/plugins&gt;
</code></pre>
  </li>
</ul>

<p>To build the entire project you have to run your maven build with this pom file.</p>

<h3 id="the-update-site-project-mymavenizedherolanguageupdatesite">The update site project (my.mavenized.herolanguage.updatesite)</h3>

<p>The project <code>my.mavenized.herolanguage.updatesite</code> denotes the updatesite project and only contains a pom.xml and a file called category.xml. The latter includes information about which features are contained in the update site. As you can see, the <code>category.xml</code> file points to the single feature, which is defined in the project <code>my.mavenized.herolanguage.sdk</code>.</p>

<h3 id="the-feature-project-mymavenizedherolanguagesdk">The feature project (my.mavenized.herolanguage.sdk)</h3>

<p>This is another project made up on configuration data solely. It contains the <code>feature.xml</code> file which points to the Eclipse plug-ins (bundles) included in this feature.</p>

<h3 id="the-core-language-project-mymavenizedherolanguage">The core language project (my.mavenized.herolanguage)</h3>

<p>The <code>pom.xml</code> for the language project contains information about how Maven should run the Xtext’s code generator. The first plug-in invokes the MWE2 file through a standard Java process:</p>

<pre><code class="language-xml">&lt;plugin&gt;
  &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
  &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt;
  &lt;version&gt;1.4.0&lt;/version&gt;
  &lt;executions&gt;
    &lt;execution&gt;
      &lt;id&gt;mwe2Launcher&lt;/id&gt;
      &lt;phase&gt;generate-sources&lt;/phase&gt;
      &lt;goals&gt;
        &lt;goal&gt;java&lt;/goal&gt;
      &lt;/goals&gt;
    &lt;/execution&gt;
  &lt;/executions&gt;
  &lt;configuration&gt;
    &lt;mainClass&gt;org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher&lt;/mainClass&gt;
    &lt;arguments&gt;
      &lt;argument&gt;/${project.basedir}/src/my/mavenized/GenerateHeroLanguage.mwe2&lt;/argument&gt;
      &lt;argument&gt;-p&lt;/argument&gt;
      &lt;argument&gt;rootPath=/${project.basedir}/..&lt;/argument&gt;
    &lt;/arguments&gt;
    &lt;classpathScope&gt;compile&lt;/classpathScope&gt;
    &lt;includePluginDependencies&gt;true&lt;/includePluginDependencies&gt;
    &lt;cleanupDaemonThreads&gt;false&lt;/cleanupDaemonThreads&gt;&lt;!-- see https://bugs.eclipse.org/bugs/show_bug.cgi?id=475098#c3 --&gt;
  &lt;/configuration&gt;
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.emf&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.emf.mwe2.launch&lt;/artifactId&gt;
      &lt;version&gt;2.12.1&lt;/version&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.xtext&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.xtext.common.types&lt;/artifactId&gt;
      &lt;version&gt;${xtext.version}&lt;/version&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.xtext&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.xtext.xtext.generator&lt;/artifactId&gt;
      &lt;version&gt;${xtext.version}&lt;/version&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.xtext&lt;/groupId&gt;
      &lt;artifactId&gt;org.eclipse.xtext.xbase&lt;/artifactId&gt;
      &lt;version&gt;${xtext.version}&lt;/version&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.eclipse.xtext&lt;/groupId&gt;
      &lt;artifactId&gt;xtext-antlr-generator&lt;/artifactId&gt;
      &lt;version&gt;[2.1.1, 3)&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;
&lt;/plugin&gt;
</code></pre>

<p>The second used plug-in cleans the directories containing generated resources during the clean phase:</p>

<pre><code class="language-xml">&lt;plugin&gt;
  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
  &lt;artifactId&gt;maven-clean-plugin&lt;/artifactId&gt;
  &lt;version&gt;3.1.0&lt;/version&gt;
  &lt;configuration&gt;
    &lt;filesets&gt;
		&lt;fileset&gt;
			&lt;directory&gt;${basedir}/../my.mavenized.herolanguage/src-gen/&lt;/directory&gt;
			&lt;includes&gt;
				&lt;include&gt;**/*&lt;/include&gt;
			&lt;/includes&gt;
		&lt;/fileset&gt;
		&lt;fileset&gt;
			&lt;directory&gt;${basedir}/../my.mavenized.herolanguage.tests/src-gen/&lt;/directory&gt;
			&lt;includes&gt;
				&lt;include&gt;**/*&lt;/include&gt;
			&lt;/includes&gt;
		&lt;/fileset&gt;
		&lt;fileset&gt;
			&lt;directory&gt;${basedir}/../my.mavenized.herolanguage.ide/src-gen/&lt;/directory&gt;
			&lt;includes&gt;
				&lt;include&gt;**/*&lt;/include&gt;
			&lt;/includes&gt;
		&lt;/fileset&gt;
		&lt;fileset&gt;
			&lt;directory&gt;${basedir}/../my.mavenized.herolanguage.ui/src-gen/&lt;/directory&gt;
			&lt;includes&gt;
				&lt;include&gt;**/*&lt;/include&gt;
			&lt;/includes&gt;
		&lt;/fileset&gt;
		&lt;fileset&gt;
			&lt;directory&gt;${basedir}/../my.mavenized.herolanguage.ui.tests/src-gen/&lt;/directory&gt;
			&lt;includes&gt;
				&lt;include&gt;**/*&lt;/include&gt;
			&lt;/includes&gt;
		&lt;/fileset&gt;
		&lt;fileset&gt;
			&lt;directory&gt;${basedir}/model/generated/&lt;/directory&gt;
		&lt;/fileset&gt;
    &lt;/filesets&gt;
  &lt;/configuration&gt;
&lt;/plugin&gt;
</code></pre>

<h3 id="the-ui-language-project-mymavenizedherolanguageui">The ui language project (my.mavenized.herolanguage.ui)</h3>

<p>Here all code that is specific to Eclipse is located. All the additions that you place for the UI of the language, all editors, wizards and preferences, are to be placed inside this project. Regarding the maven build the <code>pom.xml</code> is not very special.</p>

<h3 id="the-tests-language-project-mymavenizedherolanguagetests">The tests language project (my.mavenized.herolanguage.tests)</h3>

<p>To separate the testing code from the application you should place all your unit tests into this project. The <code>pom.xml</code> includes the <code>tycho-surefire-plugin</code> for the testing but nothing special apart.</p>

<h2 id="standalone-build">Integration in Standard Maven Builds</h2>

<p>Now that we can build our language we need to be able to integrate our language compiler in the integration build of application projects. For this purpose a dedicated maven-plugin is available in Maven central. We now refer to the project <code>example-project</code>, which is a standard Java-project that shouldn’t contain any Eclipse plug-in specific information, nor should it be built with Tycho. Let’s have a look at the pom.xml and therein the Xtext plug-in.</p>

<pre><code class="language-xml">&lt;plugin&gt;
	&lt;groupId&gt;org.eclipse.xtext&lt;/groupId&gt;
	&lt;artifactId&gt;xtext-maven-plugin&lt;/artifactId&gt;
	&lt;version&gt;${xtext-version}&lt;/version&gt;
	&lt;executions&gt;
		&lt;execution&gt;
			&lt;goals&gt;
				&lt;goal&gt;generate&lt;/goal&gt;
			&lt;/goals&gt;
		&lt;/execution&gt;
	&lt;/executions&gt;
	&lt;configuration&gt;
		&lt;languages&gt;
			&lt;language&gt;
				&lt;setup&gt;my.mavenized.HeroLanguageStandaloneSetup&lt;/setup&gt;
				&lt;outputConfigurations&gt;
					&lt;outputConfiguration&gt;
						&lt;outputDirectory&gt;src/main/generated-sources/xtend/&lt;/outputDirectory&gt;
					&lt;/outputConfiguration&gt;
				&lt;/outputConfigurations&gt;
			&lt;/language&gt;
		&lt;/languages&gt;
	&lt;/configuration&gt;
	&lt;dependencies&gt;
		&lt;dependency&gt;
			&lt;groupId&gt;my.mavenized.herolanguage&lt;/groupId&gt;
			&lt;artifactId&gt;my.mavenized.herolanguage&lt;/artifactId&gt;
			&lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt;
		&lt;/dependency&gt;
	&lt;/dependencies&gt;
&lt;/plugin&gt;
</code></pre>

<p>You may add multiple languages in the languages section. A language will use the default outputConfiguration, but you can override the different properties just as you can do within Eclipse preferences.</p>

<h2 id="maven-tycho-hints">Maven Tycho Hints</h2>

<p>Tycho allows you to resolve project dependencies against existing p2 repositories. There are two ways to define target p2 repositories in a Tycho build. The first way is to define the repository URLs directly in the <code>pom.xml</code> using maven <code>&lt;repositories&gt;</code> section. The p2 repositories need to be marked with layout=p2.<br />
The second way is to use Eclipse <a href="https://wiki.eclipse.org/Tycho/Target_Platform#Target_files">target platform files</a>. This approach is much faster, because the target platform resolution is performed only once, while the repository look-ups have to be done for every module. Using the target platform will drastically reduce the build time, especially in bigger projects with a lot of modules.</p>

<p>To further speed up the p2 dependency resolution step, use the concrete build repository instead of a project’s repository or the huge <a href="http://download.eclipse.org/releases/photon/">eclipse common</a> composite repository. In the table below you can find p2 repository URLs for Xtext releases and their dependencies. Versions in parentheses represent the minimal required versions.</p>

<table>
  <thead>
    <tr>
      <th>Xtext</th>
      <th>EMF</th>
      <th>MWE2/MWE</th>
      <th>Xpand</th>
      <th>Eclipse</th>
      <th>All included in</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.25.0/">2.25.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.25">2.25.0</a> (2.20.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.12.1/">2.12.1</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2021-03">4.19.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2021-03">2021-03</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.24.0/">2.24.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.24">2.24.0</a> (2.20.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.12.0/">2.12.0</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2020-12">4.18.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2020-12">2020-12</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.23.0/">2.23.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.23">2.23.0</a> (2.20.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.11.3/">2.11.3</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2020-09">4.17.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2020-09">2020-09</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.22.0/">2.22.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.22">2.22.0</a> (2.20.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.11.3/">2.11.3</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2020-06">4.16.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2020-06">2020-06</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.21.0/">2.21.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.21">2.21.0</a> (2.20.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.11.2/">2.11.2</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2020-03">4.15.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2020-03">2020-03</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.20.0/">2.20.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.20">2.20.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.11.1/">2.11.1</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2019-12">4.14.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2019-12">2019-12</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.19.0/">2.19.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.19">2.19.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.11.0/">2.11.0</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2019-09">4.13.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2019-09">2019-09</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.18.0/">2.18.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.18">2.18.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.10.0/">2.10.0</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2019-06">4.12.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2019-06">2019-06</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.17.0/">2.17.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.17">2.17.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.10.0/">2.10.0</a> (2.9.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2019-03">4.11.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2019-03">2019-03</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.16.0/">2.16.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.16">2.16.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/">2.9.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2018-12/201812191000">4.10.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2018-12/201812191000">2018-12</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.15.0/">2.15.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.15">2.15.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/">2.9.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/2018-09/201809191002">4.9.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/2018-09/201809191002">2018-09</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.14.0/">2.14.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.14">2.14.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/">2.9.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/photon/201806271001">4.8.0</a> (4.7.3)</td>
      <td><a href="http://download.eclipse.org/releases/photon/201806271001">Photon</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.13.0/">2.13.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.13">2.13.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/">2.9.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/oxygen/201804111000">4.7.3</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/oxygen/201804111000">Oxygen</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.12.0/">2.12.0</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/builds/release/2.13">2.13.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/">2.9.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/releases/oxygen/201804111000">4.7.3</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/oxygen/201804111000">Oxygen</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.11.0/">2.11.0</a></td>
      <td><a href="http://download.eclipse.org/releases/neon/201606221000">2.12.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/">2.9.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/eclipse/updates/4.6/R-4.6-201606061100">4.6.0</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/neon/201606221000">Neon*</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.10.0/">2.10.0</a></td>
      <td><a href="http://download.eclipse.org/releases/neon/201606221000">2.12.0</a> (2.12.0)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/">2.9.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201605260315">2.2.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/eclipse/updates/4.6/R-4.6-201606061100">4.6.0</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/neon/201606221000">Neon</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.9.1/">2.9.1</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/updates/2.11.x/core/">2.11.1</a> (2.10.2)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.3/">2.8.3</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349">2.1.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/">4.5.2</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/mars/">Mars SR2*</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.4/">2.8.4</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/updates/2.11.x/core/">2.11.1</a> (2.10.2)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.1/">2.8.1</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349">2.1.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/eclipse/updates/4.5/R-4.5-201506032000/">4.5.1</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/mars/">Mars SR1</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.3/">2.8.3</a>, <a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.2/">2.8.2</a>, <a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.1/">2.8.1</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/updates/2.11/core/R201506010402/">2.11.0</a> (2.10.2)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/">2.8.0</a> (2.7.1)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349">2.1.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/eclipse/updates/4.5/R-4.5-201506032000/">4.5.0</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/mars/201506241002/">Mars R</a></td>
    </tr>
    <tr>
      <td><a href="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/maintenance/R201411190455/">2.7.3</a></td>
      <td><a href="http://download.eclipse.org/modeling/emf/emf/updates/2.10.x/core/S201501230452/">2.10.2</a> (2.10)</td>
      <td><a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/R201409021051/mwe2lang/">2.7.0</a> <a href="http://download.eclipse.org/modeling/emft/mwe/updates/releases/R201409021027/mwe">1.3.4</a> (2.7.0/1.2)</td>
      <td><a href="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201406030414">2.0.0</a> (1.4)</td>
      <td><a href="http://download.eclipse.org/eclipse/updates/4.4/R-4.4.2-201502041700">4.4.2</a> (3.6)</td>
      <td><a href="http://download.eclipse.org/releases/luna/201502271000/">Luna SR2</a></td>
    </tr>
  </tbody>
</table>

<p>The following is an example target platform definition for Xtext 2.25.0 and Eclipse 4.19 alias 2021-03.</p>

<pre><code class="language-xml">&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;?pde version="3.8"?&gt;
&lt;target name="org.xtext.myxtextlanguage.target" sequenceNumber="1"&gt;
&lt;locations&gt;
  &lt;location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit"&gt;
    &lt;unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/&gt;
    &lt;repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.25.0/"/&gt;
  &lt;/location&gt;
  &lt;location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit"&gt;
    &lt;unit id="org.eclipse.jdt.feature.group" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.platform.feature.group" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.pde.feature.group" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.draw2d.feature.group" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.xpand" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.xtend" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.xtend.typesystem.emf" version="0.0.0"/&gt;
    &lt;unit id="org.eclipse.emf.mwe2.launcher.feature.group" version="0.0.0"/&gt;
    &lt;repository location="http://download.eclipse.org/releases/2021-03/"/&gt;
  &lt;/location&gt;
&lt;/locations&gt;
&lt;/target&gt;
</code></pre>

          </div>
        </div>
      </div>
    </div>
  </div>
</div>
    
    <footer class="site-footer">
  <div id="extra">
    <div class="inner">
      <div class="container">
        <div class="row">
          <div class="span6">
            <h3 class="footer-links-header">Quick Links</h3>
            <ul class="footer-links clearfix">
              <li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
              <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
              <li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
              <li><a href="http://www.eclipse.org/legal/">Legal</a></li>
            </ul>
            <ul class="footer-links clearfix">
              <li><a href="http://www.eclipse.org">Eclipse Home</a></li>
              <li><a href="http://marketplace.eclipse.org/">Market Place</a></li>
              <li><a href="http://www.planeteclipse.org/">Eclipse Planet</a></li>
              <li><a href="https://www.eclipse.org/forums/index.php/f/27/">Xtext Forum</a></li>
            </ul>
          </div>
          <div class="span6">
            <!-- Social Media Links -->
            <h3 class="footer-links-header"">Social Media</h3>
            <ul class="footer-links clearfix">
              <li>
                <a href="https://twitter.com/xtext"><img src="/Xtext/images/Twitter-bird-darkgray.png" class="img-responsive" style="margin-right: 5px;height: 1em;" alt="Twitter icon">@xtext on Twitter</a>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </div>
  </div>
  <a href="#" class="scrollup fadeOutRight animated" style="display: none;">ScrollUp</a>
  <!-- Le javascript
      ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
  
  <script src="/Xtext/js/jquery-1.11.3.min.js"></script>
  <script src="/Xtext/js/bootstrap.min.js"></script>
  <script src="/Xtext/js/jquery.easing.1.3.js" type="text/javascript"></script>
  <script src="/Xtext/js/jquery.prettyPhoto.js" type="text/javascript"></script>
  <script src="/Xtext/js/prettify.js" type="text/javascript"></script>
  <script src="/Xtext/js/lang-xtend.js" type="text/javascript"></script>
  <script src="/Xtext/js/lang-common.js" type="text/javascript"></script>
  <script src="/Xtext/js/custom.js" type="text/javascript"></script>
  <!--script src="https://apis.google.com/js/platform.js" async defer></script-->
  <!--script type="text/javascript">
    var _gaq = _gaq || [];  
      _gaq.push([ '_setAccount', 'UA-2429174-3' ]);
    _gaq.push([ '_trackPageview' ]);
    (function() {
      var ga = document.createElement('script');
      ga.type = 'text/javascript';
      ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl'
          : 'http://www')
          + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0];
      s.parentNode.insertBefore(ga, s);
    })();
  </script-->
  <script src="/Xtext/js/coverflow.min.js" type="text/javascript"></script>
  <script>
      $(function() {
        $('#coverflow').coverflow({
          active : 1,
          visibleAside: 2,
          overlap : 0.5,
          scale : 0.9,
          angle : 20,
          trigger : {
            "itemfocus" : true,
            "swipe" : true,
            "mousewheel" : false
          }
        });
        $('#coverflow :hidden').toggle();
        $(window).resize(function() {
          $('#coverflow').coverflow();
        });
      });

  </script>
</footer>


  </body>

</html>
