<?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.4.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>ionutpredoaia</id>
      <name>Ionut Predoaia</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/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.emc.yaml/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.eml.engine/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.emg.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.cmp.emf/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.pinset.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>

    <!-- HTML component -->
    <module>plugins/org.eclipse.epsilon.emc.html/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.workflow/pom-plain.xml</module>
    <module>plugins/org.eclipse.epsilon.workflow.csv/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.21.0</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.ecore</artifactId>
        <version>2.23.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 -->
      <!-- Note that they're in alphabetical order, to make it easier to find libraries -->
      <dependency>
        <groupId>com.github.virtuald</groupId>
        <artifactId>curvesapi</artifactId>
        <version>1.06</version>
      </dependency>
      <dependency>
        <groupId>com.google.gdata</groupId>
        <artifactId>core</artifactId>
        <version>1.47.1</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>27.1-jre</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>3.0</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.4</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.14</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr-runtime</artifactId>
        <version>3.5.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>1.10.7</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math3</artifactId>
        <version>3.6.1</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.4</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.19</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-csv</artifactId>
        <version>1.8</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>4.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>4.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>4.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
        <version>3.1.0</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.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.7.2</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>

	  <!-- SnakeYAML -->
	  <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.27</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.3.2</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>
