Page tree
Skip to end of metadata
Go to start of metadata

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.5.11.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 5.5.11.

(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.5.11</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.5.x

Released for Magnolia 5.5.x (5.5.7+), 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
 Click here to expand...

Magnolia third-party library BOM for Magnolia 5.5.7 CE and EE
<?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.5.11</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <scmTagPrefix>magnolia-bom</scmTagPrefix>

    <vaadinVersion>7.7.0</vaadinVersion>
    <resteasyVersion>3.0.23.Final</resteasyVersion>
    <!-- Version 2.8.6 ships with resteasy version 3.0.23.Final and for the time being we want to stay in sync -->
    <jacksonVersion>2.8.6</jacksonVersion>
    <swaggerVersion>1.5.4</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.54</bouncycastleVersion>
    <slf4jVersion>1.7.7</slf4jVersion>
    <powermockVersion>1.5.6</powermockVersion>
    <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.5.11</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.3m</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>18.0</version>
      </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.2</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.4</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.2</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.2</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>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>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.4</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.1</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</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>${slf4jVersion}</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>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
      </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.7</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.14.8</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-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>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>org.vaadin.addons</groupId>
        <artifactId>aceeditor</artifactId>
        <version>0.8.11</version>
      </dependency>
      <dependency>
        <groupId>org.vaadin.addon</groupId>
        <artifactId>easyuploads</artifactId>
        <version>7.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.vaadin.addons</groupId>
        <artifactId>ckeditor-wrapper-for-vaadin</artifactId>
        <version>7.12.2</version>
      </dependency>
      <dependency>
        <groupId>org.vaadin.addons</groupId>
        <artifactId>tokenfield</artifactId>
        <version>7.0.1</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-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.gwt</groupId>
        <artifactId>gwt-user</artifactId>
        <version>2.7.0.vaadin3</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-elemental</artifactId>
        <version>2.7.0.vaadin3</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>
      <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 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>

      <!--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

  • No labels