What is a software BOM?

A Software Bill of Materials (software BOM) is a list of components in a piece of software. Software vendors often create products by assembling open source and commercial software components. The software BOM describes the components in a product. It is analogous to a list of ingredients on food packaging. (Wikipedia)

BOM in Magnolia

Since the release of Magnolia 5.5.7 you may optionally use a special BOM project to centralize dependencies for third-party modules instead of managing them in the magnolia-main module and some other modules like magnolia-ui and rest . This third-party BOM project is a just plain Maven POM project whose only responsibility is to manage the versions of third-party dependencies in POM file such as magnolia-external-dependencies-5.6.5.pom .

To use a BOM in your project, include the following code snippet as the very first dependency in the dependency management section of the parent poms and adjust the version number accordingly. For the version number, use the latest version released for this branch. Currently this is 

Error rendering macro 'artifact-resource-macro'

com.sun.jersey.api.client.ClientHandlerException: java.net.NoRouteToHostException: No route to host (Host unreachable)

.

(warning) Please note that this number may not be in sync with the version of the latest Magnolia release:

<dependencyManagement>
 <dependencies>
  <dependency>
   <groupId>info.magnolia.boms</groupId>
   <artifactId>magnolia-external-dependencies</artifactId>
   <version>5.6.5</version>
   <type>pom</type>
   <scope>import</scope>
  </dependency>
 </dependencies>
</dependencyManagement>
If you use magnolia-main parent ( info.magnolia:magnolia-project ) to manage the third-party dependencies as well, we recommend that you use our third-party BOM for this in the future. You can apply the change at any time you want.

The BOM in Magnolia 5.6

Released for Magnolia 5.6, the BOM below (click the link to expand and see the content) centralizes the dependencies originally scattered around the following modules (projects):

  • magnolia-main
  • magnolia-ui
  • magnolia-rest
  • magnolia-cache-browser-app
  • magnolia-module-mail

Magnolia third-party library BOM for Magnolia 5.6
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>info.magnolia.maven.poms</groupId>
    <artifactId>magnolia-parent-pom-community</artifactId>
    <version>36</version>
  </parent>
  <groupId>info.magnolia.boms</groupId>
  <artifactId>magnolia-external-dependencies</artifactId>
  <!-- magnolia-internal-dependencies or magnolia-community-dependencies & magnolia-enterprise-dependencies -->
  <packaging>pom</packaging>
  <name>Magnolia 3rd-party library BOM</name>
  <version>5.6.5</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <scmTagPrefix>magnolia-bom</scmTagPrefix>

    <vaadinVersion>8.1.5</vaadinVersion>
    <resteasyVersion>3.1.3.Final</resteasyVersion>
    <!-- Version 2.8.6 ships with resteasy version 3.1.3.Final and for the time being we want to stay in sync -->
    <jacksonVersion>2.8.6</jacksonVersion>
    <codehausJacksonVersion>1.9.13</codehausJacksonVersion>
    <swaggerVersion>1.5.6</swaggerVersion>
    <!-- Using Java EE 7 as baseline, similar to Servlet, JAX-RS, JAXB versions etc. -->
    <jsonpVersion>1.0</jsonpVersion>
    <jackrabbitVersion>2.12.4</jackrabbitVersion>
    <bouncycastleVersion>1.58</bouncycastleVersion>
    <slf4jVersion>1.7.25</slf4jVersion>
    <powermockVersion>1.5.6</powermockVersion>
    <ehcacheVersion>3.3.0</ehcacheVersion>
    <jcodecVersion>0.1.9</jcodecVersion>
    <imageioVersion>3.1.0</imageioVersion>
    <romeToolsVersion>1.7.0</romeToolsVersion>
    <jbpmVersion>6.4.0.Final</jbpmVersion>
    <googleClientVersion>1.22.0</googleClientVersion>
    <jerseyVersion>2.25.1</jerseyVersion>
  </properties>
  <issueManagement>
    <system>Jira</system>
    <url>https://jira.magnolia-cms.com/browse/BOMS</url>
  </issueManagement>
  <scm>
    <connection>scm:git:ssh://git.magnolia-cms.com/BUILD/boms</connection>
    <developerConnection>scm:git:ssh://git.magnolia-cms.com/BUILD/boms</developerConnection>
    <url>https://git.magnolia-cms.com/projects/BUILD/repos/boms</url>
    <tag>magnolia-bom-5.6.5</tag>
  </scm>
  <dependencyManagement>
    <dependencies>

      <!-- ============================ -->
      <!-- magnolia-main dependencies   -->
      <!-- ============================ -->

      <!-- Other deps: -->
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.jcr</groupId>
        <artifactId>jcr</artifactId>
        <version>2.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>jackrabbit-core</artifactId>
        <version>${jackrabbitVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <!-- maybe this will have to be un-excluded if we remove our explicit usage of it in magnolia-core -->
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>jackrabbit-jcr-commons</artifactId>
        <version>${jackrabbitVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>jackrabbit-api</artifactId>
        <version>${jackrabbitVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>jackrabbit-spi</artifactId>
        <version>${jackrabbitVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>jackrabbit-spi-commons</artifactId>
        <version>${jackrabbitVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.jackrabbit</groupId>
        <artifactId>jackrabbit-data</artifactId>
        <version>${jackrabbitVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>3.6.0</version>
      </dependency>
      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.192</version>
      </dependency>
      <!-- JCR-3158, MAGNOLIA-3892 -->
      <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>1.14</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers</artifactId>
        <version>1.14</version>
        <exclusions>
          <!-- Some exclusions below are copied from jackrabbit-parent pom. (including comments) -->
          <!-- Exclude the NetCDF and the related commons-httpclient -->
          <!-- libraries since the related NetCDF and HDF file       -->
          <!-- formats are not widely used beyond scientific data.   -->
          <exclusion>
            <groupId>edu.ucar</groupId>
            <artifactId>netcdf4</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
          </exclusion>
          <exclusion>
            <groupId>edu.ucar</groupId>
            <artifactId>grib</artifactId>
          </exclusion>
          <exclusion>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm</artifactId>
          </exclusion>
          <exclusion>
            <groupId>edu.ucar</groupId>
            <artifactId>httpservices</artifactId>
          </exclusion>
          <!-- Exclude the Apache MIME4J library as it's used for    -->
          <!-- parsing raw email messages and mbox files, which are  -->
          <!-- typically only needed by a file-based email system.   -->
          <exclusion>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-mime4j-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-mime4j-dom</artifactId>
          </exclusion>
          <!-- Exclude the Commons Compress library as we don't want -->
          <!-- to parse compressed archives like zips by default.    -->
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-compress</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-csv</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-exec</artifactId>
          </exclusion>
          <!-- Exclude the ASM library as it's only used for parsing -->
          <!-- Java class files, for which there's typically no need -->
          <!-- in a content repository.                              -->
          <exclusion>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
          </exclusion>
          <!-- Exclude the extractor library for EXIF and other      -->
          <!-- image metadata as we normally don't want to parse     -->
          <!-- images for full text indexing.                        -->
          <exclusion>
            <groupId>com.drewnoakes</groupId>
            <artifactId>metadata-extractor</artifactId>
          </exclusion>
          <!-- Exclude the Rome library as we normally don't want to -->
          <!-- parse RSS and Atom feeds for full text indexing.      -->
          <exclusion>
            <groupId>rometools</groupId>
            <artifactId>rome</artifactId>
          </exclusion>
          <!-- Exclude the Boilerpipe library as we don't use the    -->
          <!-- BoilerpipeContentHandler functionality from Tika.     -->
          <exclusion>
            <groupId>de.l3s.boilerpipe</groupId>
            <artifactId>boilerpipe</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <!-- This dependency would make CE incompatible with other GPLv3-licensed software. -->
            <groupId>com.github.junrar</groupId>
            <artifactId>junrar</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.opengis</groupId>
            <artifactId>geoapi</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.healthmarketscience.jackcess</groupId>
            <artifactId>jackcess</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.healthmarketscience.jackcess</groupId>
            <artifactId>jackcess-encrypt</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.github.jai-imageio</groupId>
            <artifactId>jai-imageio-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-rs-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox-tools</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
          </exclusion>
          <!-- SIS stands for 'Spatial Information System'. Not needed -->
          <exclusion>
            <groupId>org.apache.sis.core</groupId>
            <artifactId>sis-metadata</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.sis.core</groupId>
            <artifactId>sis-utility</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.sis.storage</groupId>
            <artifactId>sis-netcdf</artifactId>
          </exclusion>
          <!-- ctakes is 'Clinical Text Analysis and Knowledge Extraction System' -->
          <exclusion>
            <groupId>org.apache.ctakes</groupId>
            <artifactId>ctakes-core</artifactId>
          </exclusion>
          <!-- NLP is 'natural language processing' -->
          <exclusion>
            <groupId>org.apache.opennlp</groupId>
            <artifactId>opennlp-tools</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- Used by content-translation-support module (CTS) to export/import translation data in XLS files.
      Be aware that tika above also brings in some apache-poi dependencies, make sure to sync if necessary.
      ATM We use this specific version as this is the version current tika version uses. -->
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.15</version>
      </dependency>
      <!-- PDFBox is brought transitively by tika-parsers above, but may be used in other modules. Keep version in sync -->
      <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>2.0.3</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcmail-jdk15on</artifactId>
        <version>${bouncycastleVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>${bouncycastleVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpg-jdk15on</artifactId>
        <version>${bouncycastleVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.mindrot</groupId>
        <artifactId>jbcrypt</artifactId>
        <version>0.4</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>23.1-jre</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.j2objc</groupId>
            <artifactId>j2objc-annotations</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>animal-sniffer-annotations</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>4.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject.extensions</groupId>
        <artifactId>guice-multibindings</artifactId>
        <version>4.0</version>
      </dependency>
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.8.3</version>
      </dependency>
      <dependency>
        <groupId>com.mycila.guice.extensions</groupId>
        <artifactId>mycila-guice-jsr250</artifactId>
        <version>3.6.ga</version>
        <exclusions>
          <exclusion>
            <groupId>org.sonatype.sisu</groupId>
            <artifactId>sisu-guice</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.mycila.guice.extensions</groupId>
        <artifactId>mycila-guice-injection</artifactId>
        <version>3.6.ga</version>
        <exclusions>
          <exclusion>
            <groupId>org.sonatype.sisu</groupId>
            <artifactId>sisu-guice</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.mycila.guice.extensions</groupId>
        <artifactId>mycila-guice-closeable</artifactId>
        <version>3.6.ga</version>
        <exclusions>
          <exclusion>
            <groupId>org.sonatype.sisu</groupId>
            <artifactId>sisu-guice</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>concurrent</groupId>
        <artifactId>concurrent</artifactId>
        <version>1.3.4</version>
      </dependency>
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.3</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.4.7</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.3</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpmime</artifactId>
        <version>4.5.3</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.1</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.10</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.3.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.4.2</version>
      </dependency>
      <dependency>
        <groupId>commons-betwixt</groupId>
        <artifactId>commons-betwixt</artifactId>
        <version>0.8</version>
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- Hibernate Validator is the reference implementation of the Bean Validation 1.1 spec -->
      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.1.3.Final</version>
      </dependency>
      <!-- needed by hibernate-validator (which declares it as :provided) -->
      <dependency>
        <groupId>javax.el</groupId>
        <artifactId>javax.el-api</artifactId>
        <version>2.2.4</version>
      </dependency>
      <!-- needed by hibernate-validator (which declares it as :provided) -->
      <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>javax.el</artifactId>
        <version>2.2.4</version>
      </dependency>
      <dependency>
        <groupId>org.jdom</groupId>
        <artifactId>jdom</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1.6</version>
        <exclusions>
          <exclusion>
            <artifactId>xom</artifactId>
            <groupId>xom</groupId>
          </exclusion>
          <!-- Excluded in favor of org.jdom:jdom -->
          <exclusion>
            <groupId>jdom</groupId>
            <artifactId>jdom</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>dom4j</artifactId>
            <groupId>dom4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>xml-apis</artifactId>
            <groupId>xml-apis</groupId>
          </exclusion>
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.2.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.6</version>
      </dependency>
      <dependency>
        <groupId>org.atteo</groupId>
        <artifactId>evo-inflector</artifactId>
        <version>1.2.1</version>
      </dependency>
      <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>2.1</version>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.8.1</version>
        <!--<scope>provided</scope>-->
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>servlets.com</groupId>
        <artifactId>cos</artifactId>
        <version>05Nov2002</version>
      </dependency>
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.3</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-proxy</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>com.thoughtworks.proxytoys</groupId>
        <artifactId>proxytoys</artifactId>
        <version>1.01-MAGNOLIA-5317-patched</version>
      </dependency>
      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>0.9.9</version>
        <exclusions>
          <exclusion>
            <artifactId>dom4j</artifactId>
            <groupId>dom4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>cglib</groupId>
        <!-- cglib-nodep is the one that includes a repackaged asm -->
        <artifactId>cglib-nodep</artifactId>
        <version>3.2.2</version>
      </dependency>
      <dependency>
        <groupId>uk.com.robust-it</groupId>
        <artifactId>cloning</artifactId>
        <version>1.9.1</version>
      </dependency>
      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.25-incubating</version>
      </dependency>
      <dependency>
        <groupId>org.safehaus.jug</groupId>
        <artifactId>jug</artifactId>
        <version>2.0.0</version>
        <classifier>asl</classifier>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <!-- no longer used for tests, but if any downstream module needs it, we still provide the managed version -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.7</version>
        <scope>test</scope>
      </dependency>
      <!-- keep bridge version in sync, should any downstream module temporarily require it -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <!-- required by commons-httpclient, commons-betwixt, commons-discovery, commons-chain in replacement of commons-logging -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4jVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-bom</artifactId>
        <version>2.8.2</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>net.sf.jtidy</groupId>
        <artifactId>jtidy</artifactId>
        <version>r938</version>
      </dependency>
      <dependency>
        <groupId>org.devlib.schmidt</groupId>
        <artifactId>imageinfo</artifactId>
        <version>1.9</version>
      </dependency>
      <dependency>
        <groupId>javax.management</groupId>
        <artifactId>jmx</artifactId>
        <version>1.2.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.3</version>
        <classifier>jdk15</classifier>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xom</groupId>
            <artifactId>xom</artifactId>
          </exclusion>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.cedarsoftware</groupId>
        <artifactId>json-io</artifactId>
        <version>4.9.9</version>
      </dependency>
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.14</version>
      </dependency>
      <!-- Lombok is used at compile-time only, mark it as provided (even though it's not _actually_ provided, it's really not needed at runtime) -->
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
        <scope>provided</scope>
      </dependency>
      <!-- Ditto -->
      <dependency>
        <groupId>com.google.auto.factory</groupId>
        <artifactId>auto-factory</artifactId>
        <version>0.1-beta1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>1.10.8</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>2.4</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymockclassextension</artifactId>
        <version>2.4</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>xmlunit</groupId>
        <artifactId>xmlunit</artifactId>
        <version>1.5</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.mockrunner</groupId>
        <artifactId>mockrunner</artifactId>
        <version>0.3.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.mockrunner</groupId>
        <artifactId>mockrunner-servlet</artifactId>
        <version>1.0.4</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>jdom</groupId>
            <artifactId>jdom</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>jasper</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.3</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>1.3</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.openutils</groupId>
        <artifactId>openutils-testing4web</artifactId>
        <version>1.2.1</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.htmlunit</groupId>
        <artifactId>htmlunit</artifactId>
        <version>2.15</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-core</artifactId>
        <version>${powermockVersion}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>${powermockVersion}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito</artifactId>
        <version>${powermockVersion}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- ============================ -->
      <!-- magnolia-ui dependencies     -->
      <!-- ============================ -->

      <dependency>
        <groupId>org.vaadin.addons</groupId>
        <artifactId>gwt-graphics</artifactId>
        <version>1.0.0</version>
      </dependency>
      <dependency>
        <groupId>info.magnolia.vaadin.addons</groupId>
        <artifactId>vaadin-compatibility-context-menu</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>org.vaadin.addons</groupId>
        <artifactId>cssinject</artifactId>
        <version>2.0.3</version>
      </dependency>
      <dependency>
        <groupId>org.vaadin.addons</groupId>
        <artifactId>imagefilter</artifactId>
        <version>0.5.3</version>
      </dependency>
      <dependency>
        <groupId>info.magnolia.vaadin.addons</groupId>
        <artifactId>vaadin-compatibility-aceeditor</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>org.vaadin.addon</groupId>
        <artifactId>easyuploads</artifactId>
        <version>8.0.0</version>
      </dependency>
      <dependency>
        <groupId>info.magnolia.vaadin.addons</groupId>
        <artifactId>vaadin-compatibility-ckeditor</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>info.magnolia.vaadin.addons</groupId>
        <artifactId>vaadin-compatibility-tokenfield</artifactId>
        <version>1.0</version>
      </dependency>

      <!-- Sync with Tika commons compress version used. -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.12</version>
      </dependency>

      <dependency>
        <groupId>com.jhlabs</groupId>
        <artifactId>filters</artifactId>
        <version>2.0.235</version>
      </dependency>

      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-compatibility-server</artifactId>
        <version>${vaadinVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-compatibility-themes</artifactId>
        <version>${vaadinVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-compatibility-client</artifactId>
        <version>${vaadinVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-compatibility-client-compiled</artifactId>
        <version>${vaadinVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-compatibility-shared</artifactId>
        <version>${vaadinVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-server</artifactId>
        <version>${vaadinVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-client-compiled</artifactId>
        <version>${vaadinVersion}</version>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-shared</artifactId>
        <version>${vaadinVersion}</version>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-client</artifactId>
        <version>${vaadinVersion}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-themes</artifactId>
        <version>${vaadinVersion}</version>
      </dependency>

      <!-- this replaces gwt-dev.jar -->
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-client-compiler</artifactId>
        <version>${vaadinVersion}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-sass-compiler</artifactId>
        <version>0.9.13</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.google.jsinterop</groupId>
        <artifactId>jsinterop-annotations</artifactId>
        <version>1.0.1</version>
      </dependency>

      <dependency>
        <groupId>com.google.gwt.gwtmockito</groupId>
        <artifactId>gwtmockito</artifactId>
        <version>1.1.7</version>
        <scope>test</scope>
        <exclusions>
          <!-- Vaadin 8 requires a newer version of gwt, 2.8.1 instead of 2.8.0.
          We therefore exclude those deps. here and rely on vaadin bringing them in. -->
          <exclusion>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-dev</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-elemental</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-user</artifactId>
        <version>2.8.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-elemental</artifactId>
        <version>2.8.1</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.2</version>
      </dependency>
      <dependency>
        <groupId>org.vaadin.addons.lazyquerycontainer</groupId>
        <artifactId>vaadin-lazyquerycontainer</artifactId>
        <version>7.4.0.1</version>
      </dependency>

      <!-- ============================ -->
      <!-- magnolia-rest dependencies   -->
      <!-- ============================ -->

      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2</version>
      </dependency>
      <dependency>
        <groupId>javax.json</groupId>
        <artifactId>javax.json-api</artifactId>
        <version>${jsonpVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>${jsonpVersion}</version>
      </dependency>
      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>${resteasyVersion}</version>
        <exclusions>
          <!-- Excluding javassist as the groupIds of 3.13+ versions have change to org.javassist -->
          <exclusion>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
          </exclusion>
          <exclusion>
            <groupId>tjws</groupId>
            <artifactId>webserver</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.jboss.spec.javax.ws.rs</groupId>
            <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxb-provider</artifactId>
        <version>${resteasyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson-provider</artifactId>
        <version>${resteasyVersion}</version>
      </dependency>
      <!-- Manage Codehaus Jackson dependencies, keep in sync w/ RESTEasy Jackson provider -->
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>${codehausJacksonVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>${codehausJacksonVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-jaxrs</artifactId>
        <version>${codehausJacksonVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-xc</artifactId>
        <version>${codehausJacksonVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${resteasyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>tjws</artifactId>
        <version>${resteasyVersion}</version>
        <scope>test</scope>
      </dependency>
      <!-- Currently jackson2 libs are only used for tests to compare serialized outputs of RepositoryNode + Property -->
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson2-provider</artifactId>
        <version>${resteasyVersion}</version>
      </dependency>

      <!-- Manage Jackson dependencies, keep in sync w/ RESTEasy Jackson2 provider -->
      <!-- see <version.com.fasterxml.jackson> in org.jboss.resteasy:resteasy-dependencies BOM -->
      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${jacksonVersion}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- Swagger API documentation -->
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>${swaggerVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-jaxrs</artifactId>
        <version>${swaggerVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-models</artifactId>
        <version>${swaggerVersion}</version>
      </dependency>

      <!-- Using org.javassist to prevent duplicate jars.
       See: jira.magnolia-cms.com/browse/MGNLREST-33 -->
      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.18.2-GA</version>
      </dependency>

      <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.5</version>
      </dependency>
      <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.5.6</version>
      </dependency>
      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>com.google.api-client</groupId>
        <artifactId>google-api-client</artifactId>
        <version>${googleClientVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava-jdk5</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client</artifactId>
        <version>${googleClientVersion}</version>
      </dependency>
      <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>${googleClientVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.subethamail</groupId>
        <artifactId>subethasmtp-wiser</artifactId>
        <version>1.2</version>
        <classifier>java14</classifier>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Third party dependencies from task-management and workflow -->
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.3</version>
      </dependency>

      <dependency>
        <groupId>org.apache</groupId>
        <artifactId>jackrabbit-ocm</artifactId>
        <version>2.0.0</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
          <exclusion>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- dependencies from rssaggregator -->
      <dependency>
        <groupId>com.rometools</groupId>
        <artifactId>rome</artifactId>
        <version>${romeToolsVersion}</version>
      </dependency>
      <dependency>
        <groupId>com.rometools</groupId>
        <artifactId>rome-fetcher</artifactId>
        <version>${romeToolsVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- dependencies from imaging -->
      <dependency>
        <groupId>com.twelvemonkeys.imageio</groupId>
        <artifactId>imageio-jpeg</artifactId>
        <version>${imageioVersion}</version>
      </dependency>
      <dependency>
        <groupId>com.twelvemonkeys.imageio</groupId>
        <artifactId>imageio-tiff</artifactId>
        <version>${imageioVersion}</version>
      </dependency>

      <!-- dependencies from groovy -->
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>2.4.15</version>
      </dependency>
      <!-- Needed by Grape (http://groovy.codehaus.org/Grape) or compiling a script with a @Grape annotation will fail with java.lang.ClassNotFoundException: org.apache.ivy.core.report.ResolveReport-->
      <dependency>
        <groupId>org.apache.ivy</groupId>
        <artifactId>ivy</artifactId>
        <version>2.1.0</version>
      </dependency>

      <!-- dependencies from google-sitemap -->
      <dependency>
        <groupId>javax.xml.stream</groupId>
        <artifactId>stax-api</artifactId>
        <version>1.0-2</version>
      </dependency>

      <!-- dependencies from dam -->
      <dependency>
        <groupId>org.vaadin.addons</groupId>
        <artifactId>customfield</artifactId>
        <version>1.0.0</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jcodec</groupId>
        <artifactId>jcodec</artifactId>
        <version>${jcodecVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.jcodec</groupId>
        <artifactId>jcodec-javase</artifactId>
        <version>${jcodecVersion}</version>
      </dependency>
      <dependency>
        <groupId>xuggle</groupId>
        <artifactId>xuggle-xuggler</artifactId>
        <version>5.2</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- dependencies from cache -->
      <!-- remove when EhCache 2.x is dropped -->
      <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.10.0</version>
      </dependency>

      <dependency>
        <groupId>org.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>${ehcacheVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.ehcache.modules</groupId>
        <artifactId>ehcache-api</artifactId>
        <version>${ehcacheVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.ehcache.modules</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>${ehcacheVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.ehcache.modules</groupId>
        <artifactId>ehcache-impl</artifactId>
        <version>${ehcacheVersion}</version>
      </dependency>

      <dependency>
        <groupId>com.google.code.simple-spring-memcached</groupId>
        <artifactId>spymemcached</artifactId>
        <version>2.8.4</version>
      </dependency>

      <!-- personalization-samples requires geoip -->
      <dependency>
        <groupId>com.maxmind.geoip2</groupId>
        <artifactId>geoip2</artifactId>
        <version>0.7.0</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <!-- We have a more recent version of commons-codes defined above -->
          <exclusion>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Used in content-translation-support module to export/import translation data in CSV files -->
      <dependency>
        <groupId>net.sf.opencsv</groupId>
        <artifactId>opencsv</artifactId>
        <version>2.0.1</version>
      </dependency>

      <!-- Used in backup module to (un)pack backups -->
      <dependency>
        <groupId>org.zeroturnaround</groupId>
        <artifactId>zt-zip</artifactId>
        <version>1.9</version>
      </dependency>

      <!-- Used by the diff module -->
      <dependency>
        <groupId>net.sourceforge.nekohtml</groupId>
        <artifactId>nekohtml</artifactId>
        <version>1.9.15</version>
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
          <!-- maybe this will have to be un-excluded if we remove our explicit usage of it in magnolia-core -->
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.outerj</groupId>
        <artifactId>daisydiff</artifactId>
        <version>1.1-MGNLDIFF92</version>
        <classifier>nothirdparty</classifier>
      </dependency>
      <dependency>
        <groupId>org.eclipse.core</groupId>
        <artifactId>eclipse-core-runtime</artifactId>
        <version>2007081-for-daisydiff</version>
      </dependency>

      <!-- Used by the unfurl module -->
      <dependency>
        <groupId>com.nmote.oembed</groupId>
        <artifactId>nmote-oembed</artifactId>
        <version>0.9</version>
      </dependency>

      <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>1.3.1</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Implicitly required by commons-validator above -->
      <dependency>
        <groupId>oro</groupId>
        <artifactId>oro</artifactId>
        <version>2.0.8</version>
      </dependency>

      <!-- jBPM dependencies -->
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-runtime-manager</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-bpmn2</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-persistence-jpa</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-flow</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-core</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>droolsjbpm-integration</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-persistence-jpa</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-internal</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-api</artifactId>
        <version>${jbpmVersion}</version>
      </dependency>

      <!--Dependencies from external-forms-->
      <dependency>
        <groupId>org.apache.xmlrpc</groupId>
        <artifactId>xmlrpc-client</artifactId>
        <version>3.1.3</version>
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlrpc</groupId>
        <artifactId>xmlrpc-common</artifactId>
        <version>3.1.3</version>
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!--JERSEY dependencies-->
      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
        <version>${jerseyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>${jerseyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>${jerseyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.ext.cdi</groupId>
        <artifactId>jersey-cdi1x</artifactId>
        <version>${jerseyVersion}</version>
      </dependency>
      <!--JERSEY dependencies-->
    </dependencies>
  </dependencyManagement>

  <distributionManagement>
    <site>
      <id>${distribSiteId}</id>
      <url>${distribSiteRoot}/bom/${project.version}</url>
    </site>
  </distributionManagement>
</project>

See also

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels