<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.eclipse.epsilon</groupId>
  <artifactId>epsilon-plain-parent</artifactId>
  <version>2.1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Eclipse Epsilon Parent</name>
  <url>https://www.eclipse.org/epsilon/</url>
  <description>
    Epsilon is a family of languages and tools for code generation,
    model-to-model transformation, model validation, comparison, migration and
    refactoring that work out of the box with EMF, UML, Simulink, XML and other
    types of models.
  </description>

  <scm>
    <connection>scm:git:git://git.eclipse.org/gitroot/epsilon/org.eclipse.epsilon.git</connection>
    <developerConnection>scm:git:ssh://git.eclipse.org:29418/epsilon/org.eclipse.epsilon.git</developerConnection>
    <tag>HEAD</tag>
    <url>https://git.eclipse.org/c/epsilon/org.eclipse.epsilon.git/</url>
  </scm>

  <licenses>
    <license>
      <name>Eclipse Public License 2.0</name>
      <url>https://www.eclipse.org/legal/epl-2.0/</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>dkolovos</id>
      <name>Dimitris Kolovos</name>
      <url>https://www.cs.york.ac.uk/people/dkolovos</url>
      <roles><role>Lead</role></roles>
    </developer>
    <developer>
      <id>avega</id>
      <name>Alfonso de la Vega</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>agarciad</id>
      <name>Antonio Garcia Dominguez</name>
      <url>https://cs.aston.ac.uk/~garcia-a/</url>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>thanos</id>
      <name>Athanasios Zolotas</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>beatriz</id>
      <name>Beatriz Sanchez</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>hhoyos</id>
      <name>Horacio Hoyos</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>jonco</id>
      <name>Jonathan Co</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>jcooper</id>
      <name>Justin Cooper</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>mfrancis</id>
      <name>Martin Francis</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>qurat</id>
      <name>Qurat ul ain Ali</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>rwei</id>
      <name>Ran Wei</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>sgerasimou</id>
      <name>Simos Gerasimou</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>smadani</id>
      <name>Sina Madani</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>sjahanbin</id>
      <name>Sorour Jahanbin</name>
      <roles><role>Committer</role></roles>
    </developer>
    <developer>
      <id>mbezemer</id>
      <name>Martin Bezemer</name>
      <roles><role>Historical Committer</role></roles>
    </developer>
    <developer>
      <id>lrose</id>
      <name>Louis Rose</name>
      <roles><role>Historical Committer</role></roles>
    </developer>
  </developers>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <swt.version>3.114.0</swt.version>
  </properties>

  <modules>
    <!-- core component -->
    <module>plugins/org.eclipse.epsilon.common.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.common/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.ecl.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.egl.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.egl.traceability.fine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.composite/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.csv/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.plainxml/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eml.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eol.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eol.tools/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.epl.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.erl.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.etl.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eunit.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eunit.junit/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.evl.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.ewl.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.flock.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.profiling/pom-plain.xml</module>

    <!-- EMF component -->
    <module>plugins/org.eclipse.epsilon.emc.emf/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.flexmi/pom-plain.xml</module>

    <!-- UML component -->
    <module>plugins/org.eclipse.epsilon.emc.uml/pom-plain.xml</module>

    <!-- GraphML component -->
    <module>plugins/org.eclipse.epsilon.emc.muddle/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.graphml/pom-plain.xml</module>

    <!-- Simulink component -->
    <module>plugins/org.eclipse.epsilon.emc.simulink.common/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.simulink/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.simulink.dictionary/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.simulink.requirement/pom-plain.xml</module>

    <!-- HUTN component -->
    <module>plugins/org.eclipse.epsilon.emc.hutn/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.hutn.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.hutn.model/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.hutn.model.antlrAst/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.hutn.model.config/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.hutn.unparser/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.hutn.xmi/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.antlr.postprocessor/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.antlr.postprocessor.model/pom-plain.xml</module>

    <!-- Workflow component -->
    <module>plugins/org.eclipse.epsilon.ecl.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.egl.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eml.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eol.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.epl.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.erl.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.etl.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.evl.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.workflow/pom-plain.xml</module>

    <!-- Workflow EMF component -->
    <module>plugins/org.eclipse.epsilon.emf.dt/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.workflow.emf/pom-plain.xml</module>

    <!-- Spreadsheets component -->
    <module>plugins/org.eclipse.epsilon.emc.spreadsheets/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.spreadsheets.excel/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emc.spreadsheets.google/pom-plain.xml</module>

    <!-- CLI component -->
    <module>plugins/org.eclipse.epsilon.common.cli/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eol.cli/pom-plain.xml</module>
  </modules>

  <!--
      Eclipse POMs normally use version ranges for their dependencies, to mimic
      the Require-Bundle support for version ranges, unlike most Maven artifacts
      which depend on specific versions for reproducibility.

In order to have a reproducible build, we need to use dependencyManagement
so we decide on a specific version within those ranges, and we keep to the
same version of EMF / other bits always.
  -->
  <dependencyManagement>
    <dependencies>
      <!-- SWT / JFace -->
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.swt</artifactId>
        <version>${swt.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.jface</artifactId>
        <version>3.14.100</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.jface.databinding</artifactId>
        <version>1.11.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.jface.text</artifactId>
        <version>3.16.200</version>
      </dependency>

      <!-- Eclipse Core -->
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.commands</artifactId>
        <version>3.8.1</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.contenttype</artifactId>
        <version>3.7.600</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.databinding</artifactId>
        <version>1.8.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.databinding.observable</artifactId>
        <version>1.9.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.databinding.property</artifactId>
        <version>1.8.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.expressions</artifactId>
        <version>3.6.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.filebuffers</artifactId>
        <version>3.6.900</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.filesystem</artifactId>
        <version>1.7.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.jobs</artifactId>
        <version>3.10.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.resources</artifactId>
        <version>3.13.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.runtime</artifactId>
        <version>3.17.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.core.variables</artifactId>
        <version>3.4.800</version>
      </dependency>

      <!-- OSGi and Equinox -->
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.common</artifactId>
        <version>3.8.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.registry</artifactId>
        <version>3.8.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.app</artifactId>
        <version>1.4.400</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.ds</artifactId>
        <version>1.6.100</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.bidi</artifactId>
        <version>1.2.300</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.p2.core</artifactId>
        <version>2.6.300</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.p2.engine</artifactId>
        <version>2.6.600</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.p2.metadata</artifactId>
        <version>2.4.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.equinox.preferences</artifactId>
        <version>3.7.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.osgi</artifactId>
        <version>3.15.200</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.osgi.services</artifactId>
        <version>3.8.0</version>
      </dependency>

      <!-- Eclipse UI -->
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ant.core</artifactId>
        <version>3.5.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.compare.core</artifactId>
        <version>3.6.800</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.debug.core</artifactId>
        <version>3.15.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.debug.ui</artifactId>
        <version>3.14.400</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.help</artifactId>
        <version>3.8.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.text</artifactId>
        <version>3.10.100</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui</artifactId>
        <version>3.116.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui.console</artifactId>
        <version>3.9.100</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui.editors</artifactId>
        <version>3.13.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui.ide</artifactId>
        <version>3.17.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui.navigator</artifactId>
        <version>3.9.200</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui.views</artifactId>
        <version>3.10.200</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui.workbench</artifactId>
        <version>3.118.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
        <version>3.14.100</version>
      </dependency>

      <!-- e4 -->
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.core.commands</artifactId>
        <version>0.12.900</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.core.contexts</artifactId>
        <version>1.8.400</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.core.services</artifactId>
        <version>2.2.200</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.emf.xpath</artifactId>
        <version>0.2.600</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.bindings</artifactId>
        <version>0.12.800</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.css.core</artifactId>
        <version>0.12.1000</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.css.swt</artifactId>
        <version>0.13.900</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.css.swt.theme</artifactId>
        <version>0.12.600</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.di</artifactId>
        <version>1.2.800</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.workbench</artifactId>
        <version>1.11.200</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.workbench.addons.swt</artifactId>
        <version>1.3.800</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.workbench.renderers.swt</artifactId>
        <version>0.14.1100</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.workbench.swt</artifactId>
        <version>0.14.900</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.workbench3</artifactId>
        <version>0.15.400</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.model.workbench</artifactId>
        <version>2.1.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.services</artifactId>
        <version>1.3.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.ui.widgets</artifactId>
        <version>1.2.700</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.core.di</artifactId>
        <version>1.7.500</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.core.di.annotations</artifactId>
        <version>1.6.600</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.platform</groupId>
        <artifactId>org.eclipse.e4.core.di.extensions</artifactId>
        <version>0.15.500</version>
      </dependency>

      <!-- EMF -->
      <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.common</artifactId>
        <version>2.18.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.ecore</artifactId>
        <version>2.21.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.ecore.change</artifactId>
        <version>2.14.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.ecore.xmi</artifactId>
        <version>2.16.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.xsd</artifactId>
        <version>2.17.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.mapping.ecore2xml</artifactId>
        <version>2.11.0</version>
      </dependency>

      <!-- Other libraries: this is just so we are consistent across projects -->
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>1.10.7</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>3.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>27.1-jre</version>
      </dependency>
      <dependency>
        <groupId>org.jopendocument</groupId>
        <artifactId>jdom</artifactId>
        <version>1.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.1</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.2</version>
      </dependency>
      <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.10.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.10.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>3.10.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
        <version>2.6.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.gdata</groupId>
        <artifactId>core</artifactId>
        <version>1.47.1</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.4</version>
      </dependency>

      <!-- UML: this is the newest version to date in Central -->
      <dependency>
        <groupId>org.eclipse.uml2</groupId>
        <artifactId>uml</artifactId>
        <version>5.0.0-v20140602-0749</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <build>
    <sourceDirectory>src</sourceDirectory>
    <directory>target-plain</directory>
    <outputDirectory>target-plain/classes</outputDirectory>
    <testOutputDirectory>target-plain/test-classes</testOutputDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>

        <!-- Important: Epsilon's code (as of 2.0.0) does NOT compile under
             plain javac. ECJ is more lenient toward some type erasure
             ambiguities present in the code. -->

        <configuration>
          <compilerId>eclipse</compilerId>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-compiler-eclipse</artifactId>
            <version>2.8.6</version>
          </dependency>
        </dependencies>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.2.0</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.2.0</version>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <additionalOptions>
                <additionalOption>-Xdoclint:none</additionalOption>
              </additionalOptions>
            </configuration>
          </execution>
        </executions>
      </plugin>

    </plugins>
  </build>

  <pluginRepositories>
    <pluginRepository>
      <id>cbi</id>
      <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <uniqueVersion>false</uniqueVersion>
      <id>ossrh</id>
      <name>OSSRH Release Staging Repository</name>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
    <snapshotRepository>
      <uniqueVersion>false</uniqueVersion>
      <id>ossrh</id>
      <name>OSSRH Snapshots Repository</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

  <profiles>
    <!-- NOTE: these two profiles have to be in this exact order, so we first
         sign the JAR with a certificate, and then we GPG sign the resulting
         JAR. The opposite order won't work. -->
    <profile>
      <id>eclipse-sign</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <!-- https://www.eclipse.org/cbi/sitedocs/eclipse-jarsigner-plugin/plugin-info.html -->
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>1.1.7</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>ossrh</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.6.8</version>
            <extensions>true</extensions>
            <configuration>
              <serverId>ossrh</serverId>
              <nexusUrl>https://oss.sonatype.org</nexusUrl>
              <!-- We want to check staged releases manually on
                   Sonatype OSSRH before we propagate to Central. -->
              <autoReleaseAfterClose>false</autoReleaseAfterClose>
            </configuration>
          </plugin>
          <!-- Anything that goes to Central must be GPG signed -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

  </profiles>

</project>
