<?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>
    <groupId>org.dspace</groupId>
    <artifactId>dspace-parent</artifactId>
    <packaging>pom</packaging>
    <version>7.0-beta2</version>
    <name>DSpace Parent Project</name>
    <description>
   	DSpace open source software is a turnkey institutional repository application.
    </description>
    <url>https://github.com/dspace/DSpace</url>

    <organization>
        <name>LYRASIS</name>
        <url>http://www.dspace.org</url>
    </organization>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
        <java.version>11</java.version>
        <pdfbox-version>2.0.15</pdfbox-version>
        <poi-version>3.17</poi-version>
        <postgresql.driver.version>42.2.9</postgresql.driver.version>
        <!-- PIN Jena to 2.x until both RDF and SWORDv2 can be updated to Jena 3. Requires package renaming, see
             https://jena.apache.org/documentation/migrate_jena2_jena3.html -->
        <jena.version>2.13.0</jena.version>
        <jaxb-api.version>2.3.1</jaxb-api.version>
        <jaxb-runtime.version>2.3.1</jaxb-runtime.version>
        <javax-annotation.version>1.3.2</javax-annotation.version>
        <axiom.version>1.2.22</axiom.version>
        <errorprone.version>2.3.4</errorprone.version>
        <log4j.version>2.11.2</log4j.version>
        <slf4j.version>1.7.25</slf4j.version>
        <!-- NOTE: when updating jackson.version, also sync jackson-databind dependency below -->
        <jackson.version>2.10.2</jackson.version>
        <jersey.version>2.28</jersey.version>
        <hibernate.version>5.4.10.Final</hibernate.version>
        <hibernate-validator.version>6.0.17.Final</hibernate-validator.version>
        <!-- PIN Solr to 7.3.x until SOLR-12858 is fixed. This bug affects all integration tests that use Solr
             https://issues.apache.org/jira/browse/SOLR-12858 -->
        <solr.client.version>7.3.1</solr.client.version>
        <spring.version>5.1.9.RELEASE</spring.version>
        <spring-boot.version>2.1.8.RELEASE</spring-boot.version>
        <!-- Library for reading JSON documents: https://github.com/json-path/JsonPath -->
        <json-path.version>2.4.0</json-path.version>
        <!-- 'root.basedir' is the path to the root [dspace-src] dir. It must be redefined by each child POM,
                     as it is used to reference the LICENSE_HEADER and *.properties file(s) in that directory. -->
        <root.basedir>${basedir}</root.basedir>
    </properties>

    <build>
        <!-- Define Maven Plugin Settings that should be inherited to ALL submodule POMs.
             (NOTE: individual POMs can override specific settings). -->
        <pluginManagement>
            <plugins>
                <!-- Use to enforce particular versions of Java and Maven,
                     and to ensure no conflicting dependencies -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0-M3</version>
                    <executions>
                        <execution>
                            <id>enforce-java</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <requireJavaVersion>
                                        <version>${java.version}</version>
                                    </requireJavaVersion>
                                    <requireMavenVersion>
                                        <version>[3.0.5,)</version>
                                    </requireMavenVersion>
                                </rules>
                            </configuration>
                        </execution>
                        <!-- Make sure that we do not have conflicting dependencies-->
                        <execution>
                            <id>enforce-versions</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <DependencyConvergence />
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <!-- Used to compile all Java classes -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <release>11</release>
                        <!-- Turn on http://errorprone.info -->
                        <compilerArgs>
                            <arg>-XDcompilePolicy=simple</arg>
                            <arg>-Xplugin:ErrorProne</arg>
                        </compilerArgs>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>com.google.errorprone</groupId>
                                <artifactId>error_prone_core</artifactId>
                                <version>${errorprone.version}</version>
                            </path>
                        </annotationProcessorPaths>
                    </configuration>
                </plugin>
                <!-- Used to package all DSpace JARs -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
                <!-- Used to package all DSpace WARs -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.3</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                        <!-- Filter the web.xml (needed for IDE compatibility/debugging) -->
                        <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
                <!-- Used to run Unit tests (when -Dskiptests=false) -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.2</version>
                    <configuration>
                        <!-- Allow for the ability to pass JVM memory flags for Unit Tests. Since
                             maven-surefire-plugin forks a new JVM, it ignores MAVEN_OPTS.-->
                        <argLine>${test.argLine} ${surefireJacoco}</argLine>
                        <!-- tests whose name starts by Abstract will be ignored -->
                        <excludes>
                            <exclude>**/Abstract*</exclude>
                        </excludes>
                        <!-- Detailed logs in surefire-reports/testName-output.txt instead of stdout -->
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <!-- Ensure full stacktrace is logged (when errors occur) -->
                        <trimStackTrace>false</trimStackTrace>
                        <!--
                        Enable to debug Maven Surefire tests in remote proces
                        <debugForkedProcess>true</debugForkedProcess>
                        -->
                    </configuration>
                </plugin>
                <!-- Used to run Integration tests (when -Dskipits=false) -->
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.22.2</version>
                    <configuration>
                        <!-- Allow for the ability to pass JVM memory flags for Unit Tests. Since
                             maven-failsafe-plugin forks a new JVM, it ignores MAVEN_OPTS.-->
                        <argLine>${test.argLine} ${failsafeJacoco}</argLine>
                        <excludes>
                            <exclude>**/Abstract*</exclude>
                        </excludes>
                         <!-- Detailed logs in failsafe-reports/testName-output.txt instead of stdout -->
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <!-- Ensure full stacktrace is logged (when errors occur) -->
                        <trimStackTrace>false</trimStackTrace>
                    </configuration>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <!-- Used to validate all code style rules in source code via the Checkstyle config in checkstyle.xml -->
                <!-- Can be skipped by passing -Dcheckstyle.skip=true to Maven. -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.1.0</version>
                    <executions>
                        <execution>
                            <id>verify-style</id>
                            <!-- Bind to verify so it runs after package & unit tests, but before install -->
                            <phase>verify</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <sourceDirectories>
                            <sourceDirectory>src/main/java</sourceDirectory>
                        </sourceDirectories>
                        <configLocation>${root.basedir}/checkstyle.xml</configLocation>
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <logViolationsToConsole>true</logViolationsToConsole>
                        <failOnViolation>true</failOnViolation>
                        <!-- Enable checks on all test source files -->
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <!-- Define our suppressions file location, and the key used to pass it to checkstyle.xml-->
                        <suppressionsLocation>${root.basedir}/checkstyle-suppressions.xml</suppressionsLocation>
                        <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
                    </configuration>
                    <dependencies>
                        <!-- Override dependencies to use latest version of checkstyle -->
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>8.30</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>3.0.5</version>
                    <configuration>
                        <effort>Max</effort>
                        <threshold>Low</threshold>
                        <xmlOutput>true</xmlOutput>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>compile</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <!-- Used to clean all 'target' directories from parent project -->
                <!-- This additional configuration also cleans sub-modules -->
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                    <configuration>
                        <filesets>
                            <fileset>
                                <directory>dspace/modules</directory>
                                <includes>
                                    <include>**/target</include>
                                </includes>
                            </fileset>
                        </filesets>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- Used to validate License Headers (see build process) -->
                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>3.0</version>
                </plugin>
                <!-- Used to generate a new release via Sonatype (see release profile). -->
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-staging-maven-plugin</artifactId>
                    <version>1.6.8</version>
                </plugin>
                <!-- Used to generate JavaDocs for new releases (see release profile). -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.1.1</version>
                    <configuration>
                        <!-- Never fail a build based on Javadoc errors -->
                        <failOnError>false</failOnError>
                    </configuration>
                </plugin>
                <!-- Used to generate source JARs for new releases (see release profile). -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.1</version>
                </plugin>
                <!-- Used for custom Groovy code that fills out the 'agnostic.build.dir' needed to
                     set 'dspace.dir' for our testing environment -->
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>groovy-maven-plugin</artifactId>
                    <version>2.1.1</version>
                </plugin>
                <!-- Used to sign new releases via GPG (see release profile). -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                </plugin>
                <!-- Used for code coverage reporting (see 'measure-test-coverage' profile) -->
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.5</version>
                </plugin>
                <!-- Used to send jacoco coverage reports to coveralls.io (see 'measure-test-coverage' profile) -->
                <plugin>
                    <groupId>org.eluder.coveralls</groupId>
                    <artifactId>coveralls-maven-plugin</artifactId>
                    <version>4.3.0</version>
                    <!-- Include JAXB API directly to workaround coveralls-maven-plugin bug in Java 9+
                         https://github.com/trautonen/coveralls-maven-plugin/issues/112 -->
                    <dependencies>
                        <dependency>
                            <groupId>javax.xml.bind</groupId>
                            <artifactId>jaxb-api</artifactId>
                            <version>${jaxb-api.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>

        <!-- These plugin settings only apply to this single POM and are not inherited
            to any submodules. -->
        <plugins>
            <!-- Specify our settings for new releases via 'mvn release:*' -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.3</version>
                <configuration>
                    <!-- During release:perform, enable the "release" profile (see below) -->
                    <releaseProfiles>release</releaseProfiles>
                    <goals>deploy</goals>
                    <!-- Suggest tagging the release in SCM as "dspace-[version]" -->
                    <tagNameFormat>dspace-@{project.version}</tagNameFormat>
                    <!-- Auto-Version all modules the same as the parent module -->
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                </configuration>
            </plugin>
            <!-- Check license headers in all files using LICENSE_HEADER template -->
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <configuration>
                    <!-- License header file (can be a URL, but that's less stable if external site is down on occasion) -->
                    <header>${root.basedir}/LICENSE_HEADER</header>
                    <!--Just check headers of everything in the /src directory -->
                    <includes>
                        <include>src/**</include>
                    </includes>
                    <!--Use all default exclusions for IDE files & Maven files, see:
                        http://code.google.com/p/maven-license-plugin/wiki/Configuration#Default_excludes -->
                    <useDefaultExcludes>true</useDefaultExcludes>
                    <!-- Add some default DSpace exclusions not covered by <useDefaultExcludes>
                         Individual Maven projects may choose to override these defaults. -->
                    <excludes>
                        <exclude>**/src/test/resources/**</exclude>
                        <exclude>**/src/test/data/**</exclude>
                        <exclude>**/src/main/license/**</exclude>
                        <exclude>**/test.cfg</exclude>
                        <exclude>**/META-INF/**</exclude>
                        <exclude>**/robots.txt</exclude>
                        <exclude>**/*.LICENSE</exclude>
                        <exclude>**/LICENSE*</exclude>
                        <exclude>**/README*</exclude>
                        <exclude>**/readme*</exclude>
                        <exclude>**/.gitignore</exclude>
                        <exclude>**/src/main/resources/rebel.xml</exclude>
                    </excludes>
                    <mapping>
                        <!-- Custom DSpace file extensions which are not recognized by maven-release-plugin:
                             *.ttl, *.LICENSE -->
                        <ttl>SCRIPT_STYLE</ttl>
                        <LICENSE>TEXT</LICENSE>
                    </mapping>
                    <encoding>UTF-8</encoding>
                    <!-- maven-license-plugin recommends a strict check (e.g. check spaces/tabs too) -->
                    <strictCheck>true</strictCheck>
                </configuration>
                <executions>
                    <execution>
                        <id>check-headers</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Validate all XML formatted files in the project (including submodules) -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>xml-maven-plugin</artifactId>
                <version>1.0.2</version>
                <executions>
                    <execution>
                        <id>validate-ALL-xml-and-xsl</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>validate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <validationSets>
                        <!-- validate ALL XML and XSL files throughout the project (excluding target dirs) -->
                        <validationSet>
                            <dir>${root.basedir}</dir>
                            <includes>
                                <include>**/*.xml</include>
                                <include>**/*.xsl</include>
                                <include>**/*.xsd</include>
                            </includes>
                            <excludes>
                                <exclude>**/target/**</exclude>
                            </excludes>
                        </validationSet>
                    </validationSets>
                </configuration>
            </plugin>

            <!-- Enforce our version of Java, Maven, dependencies, etc. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
            </plugin>

            <!-- Enforce our code style via CheckStyle (see settings above) -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <!-- Skip Unit Tests by default, but allow override on command line
           by setting property "-Dmaven.test.skip=false" -->
        <profile>
            <id>skiptests</id>
            <activation>
                <!-- This profile should be active at all times, unless the user
                     specifies a different value for "maven.test.skip" -->
                <property>
                    <name>!maven.test.skip</name>
                </property>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
            </properties>
        </profile>

        <!-- Skip Integration Tests by default, but allow override on
             command line by setting property "-DskipITs=false" -->
        <profile>
            <id>skipits</id>
            <activation>
                <!-- This profile should be active at all times, unless the user
                     specifies a different value for "skipITs" -->
                <property>
                    <name>!skipITs</name>
                </property>
            </activation>
            <properties>
                <skipITs>true</skipITs>
            </properties>
        </profile>

        <!-- Allow for passing extra memory to Unit/Integration tests.
             By default this gives unit tests 1GB of memory max (when tests are enabled),
             unless tweaked on commandline (e.g. "-Dtest.argLine=-Xmx512m"). Since
             m-surefire-p and m-failsafe-p both fork a new JVM for testing, they ignores MAVEN_OPTS. -->
        <profile>
            <id>test-argLine</id>
            <activation>
                <property>
                    <name>!test.argLine</name>
                </property>
            </activation>
            <properties>
                <test.argLine>-Xmx1024m</test.argLine>
            </properties>
        </profile>

        <!-- This profile ensures that we ONLY generate the Unit Test Environment,
             if the testEnvironment.xml file is found AND we are not skipping Unit
             Tests (see also skiptests profile). That way the Test Environment is
             also NOT built when running a 'mvn package' on a "binary" release. -->
        <profile>
            <id>generate-test-env</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                    <name>maven.test.skip</name>
                    <value>false</value>
                </property>
                <file>
                    <exists>src/main/assembly/testEnvironment.xml</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <!-- This plugin builds the testEnvironment.zip package
                         based on the specifications in testEnvironment.xml.
                         TestEnvironment.zip is an entire DSpace installation
                         directory, which is installed by 'dspace-api' and
                         used to run our DSpace Unit/Integration tests.  -->
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>generate-test-resources</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                        <descriptor>src/main/assembly/testEnvironment.xml</descriptor>
                                    </descriptors>
                                </configuration>
                            </execution>
                        </executions>
                        <inherited>false</inherited>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>measure-test-coverage</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                    <name>maven.test.skip</name>
                    <value>false</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <!-- Report unit test code coverage -->
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <executions>
                            <!--
                                Prepares the property pointing to the JaCoCo runtime agent which
                                is passed as VM argument when Maven the Surefire plugin is executed.
                            -->
                            <execution>
                                <id>pre-unit-test</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <!-- Sets the path to the file which contains the execution data. -->
                                    <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
                                    <!--
                                        Sets the name of the property containing the settings
                                        for JaCoCo runtime agent.
                                    -->
                                    <propertyName>surefireJacoco</propertyName>
                                </configuration>
                            </execution>

                            <!--
                                Prepares the property pointing to the JaCoCo runtime agent which
                                is passed as VM argument when Maven the Failsafe plugin is executed.
                            -->
                            <execution>
                                <id>pre-integration-test</id>
                                <phase>pre-integration-test</phase>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <!-- Sets the path to the file which contains the execution data. -->
                                    <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
                                    <!--
                                        Sets the name of the property containing the settings
                                        for JaCoCo runtime agent.
                                    -->
                                    <propertyName>failsafeJacoco</propertyName>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!--
             Generate a list of all THIRD PARTY open source licenses for all DSpace dependencies.
             This list is automatically written to the [src]/LICENSES_THIRD_PARTY file.
             Third party tools whose licenses are unknown by Maven are maintained in
             [src]/src/main/license/LICENSES_THIRD_PARTY.properties.
             To update "LICENSES_THIRD_PARTY", just run:
                 mvn clean verify -Dthird.party.licenses=true
        -->
        <profile>
            <id>third-party-licenses</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <!-- This profile should ONLY be active when user specifies
                     -Dthird.party.licenses=true on command-line. -->
                <property>
                    <name>third.party.licenses</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <!-- This plugin only needs to be run on the Parent POM
                             as it aggregates results from all child POMs. -->
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>aggregate-add-third-party</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${root.basedir}</outputDirectory>
                                    <thirdPartyFilename>LICENSES_THIRD_PARTY</thirdPartyFilename>
                                    <excludedGroups>org\.dspace</excludedGroups>
                                    <!-- Use the template which groups all dependencies by their License type (easier to read!). -->
                                    <!-- SEE: https://fisheye.codehaus.org/browse/mojo/trunk/mojo/license-maven-plugin/src/main/resources/org/codehaus/mojo/license -->
                                    <fileTemplate>src/main/license/third-party-file-groupByLicense.ftl</fileTemplate>
                                    <!-- License names that should all be merged into the *first* listed name -->
                                    <licenseMerges>
                                        <licenseMerge>Apache Software License, Version 2.0|The Apache Software License, Version 2.0|Apache License Version 2.0|Apache License, Version 2.0|Apache Public License 2.0|Apache License 2.0|Apache Software License - Version 2.0|Apache 2.0 License|Apache 2.0 license|Apache License V2.0|Apache 2|Apache License|Apache|ASF 2.0|Apache 2.0</licenseMerge>
                                        <!-- Ant-contrib is an Apache License -->
                                        <licenseMerge>Apache Software License, Version 2.0|http://ant-contrib.sourceforge.net/tasks/LICENSE.txt</licenseMerge>
                                        <!-- XML Commons claims these licenses, but it's really Apache License: https://xerces.apache.org/xml-commons/licenses.html -->
                                        <licenseMerge>Apache Software License, Version 2.0|The SAX License|The W3C License</licenseMerge>
                                        <licenseMerge>BSD License|The BSD License|BSD licence|BSD license|BSD|BSD-style license|New BSD License|New BSD license|Revised BSD License|BSD 2-Clause license</licenseMerge>
                                        <!-- DuraSpace uses a BSD License for DSpace -->
                                        <licenseMerge>BSD License|DuraSpace BSD License|DuraSpace Sourcecode License</licenseMerge>
                                        <!-- Coverity uses modified BSD: https://github.com/coverity/coverity-security-library -->
                                        <licenseMerge>BSD License|BSD style modified by Coverity</licenseMerge>
                                        <!-- Jaxen claims this license, but it's really BSD: http://jaxen.codehaus.org/license.html -->
                                        <licenseMerge>BSD License|http://jaxen.codehaus.org/license.html</licenseMerge>
                                        <licenseMerge>Common Development and Distribution License (CDDL)|Common Development and Distribution License (CDDL) v1.0|COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0|Common Development and Distribution License|CDDL, v1.0|CDDL 1.0 license|CDDL 1.0|CDDL 1.1|CDDL</licenseMerge>
                                        <!-- Jersey / Java Servlet API claims this license, but is actually CDDL 1.0: http://servlet-spec.java.net -->
                                        <licenseMerge>Common Development and Distribution License (CDDL)|CDDL + GPLv2 with classpath exception</licenseMerge>
                                        <!-- Jersey claims this license, but it is dual licensed with CDDL 1.1 being one: https://jersey.java.net/license.html -->
                                        <licenseMerge>Common Development and Distribution License (CDDL)|CDDL+GPL License</licenseMerge>
                                        <!-- JavaMail claims this license, but it is dual licensed with CDDL being one: https://java.net/projects/javamail/pages/License -->
                                        <licenseMerge>Common Development and Distribution License (CDDL)|GPLv2+CE</licenseMerge>
                                        <!-- JAXB claims this license, but it is dual licensed with CDDL being one: https://jaxb.java.net/ -->
                                        <licenseMerge>Common Development and Distribution License (CDDL)|GPL2 w/ CPE</licenseMerge>
                                        <licenseMerge>Eclipse Public License|Eclipse Public License - Version 1.0|Eclipse Public License - v 1.0|EPL 1.0 license</licenseMerge>
                                        <!-- JUnit claims this license but is actually Eclipse Public License: http://junit.org/license.html -->
                                        <licenseMerge>Eclipse Public License|Common Public License Version 1.0</licenseMerge>
                                        <licenseMerge>GNU Lesser General Public License (LGPL)|The GNU Lesser General Public License, Version 2.1|GNU Lesser General Public License (LGPL), Version 2.1|GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1|GNU Lesser General Public License, version 2.1|GNU LESSER GENERAL PUBLIC LICENSE|GNU Lesser General Public License|GNU Lesser Public License|GNU Lesser General Public License, Version 2.1|Lesser General Public License (LGPL) v 2.1|LGPL 2.1|LGPL 2.1 license|LGPL 3.0 license|LGPL, v2.1 or later|LGPL</licenseMerge>
                                        <licenseMerge>MIT License|The MIT License|MIT LICENSE</licenseMerge>
                                        <licenseMerge>Mozilla Public License|Mozilla Public License version 1.1|Mozilla Public License 1.1 (MPL 1.1)|MPL 1.1</licenseMerge>
                                        <!-- H2 Database claims this license, but for our purposes it's MPL: http://www.h2database.com -->
                                        <licenseMerge>Mozilla Public License|MPL 2.0, and EPL 1.0</licenseMerge>
                                        <!-- "concurrent.concurrent" claims this license, but is actually Public Domain: http://mvnrepository.com/artifact/concurrent/concurrent/ -->
                                        <licenseMerge>Public Domain|Public domain, Sun Microsoystems</licenseMerge>
                                        <!-- WTFPL is essentially Public Domain: http://www.wtfpl.net/ ;) -->
                                        <licenseMerge>Public Domain|WTFPL</licenseMerge>
                                    </licenseMerges>
                                    <!-- For Licenses which are "Unknown" by Maven, load them from a properties file -->
                                    <useMissingFile>true</useMissingFile>
                                    <missingFile>src/main/license/LICENSES_THIRD_PARTY.properties</missingFile>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- PostgreSQL ships different JDBC drivers based on the version of Java
             you are running. See https://jdbc.postgresql.org/download.html
             These next two profiles handle pulling in the correct PostgreSQL JDBC driver. -->
        <!-- Default PostgreSQL driver is only for Java 8 -->
        <profile>
            <id>postgresql-jdbc-default</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>org.postgresql</groupId>
                        <artifactId>postgresql</artifactId>
                        <version>${postgresql.driver.version}</version>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>
        <!-- If running Java 7, use JRE7 PostgreSQL driver -->
        <profile>
            <id>postgresql-jdbc-jre7</id>
            <activation>
                <jdk>[1.7,1.8)</jdk>
            </activation>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>org.postgresql</groupId>
                        <artifactId>postgresql</artifactId>
                        <version>${postgresql.driver.version}.jre7</version>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>

        <!--
           These profiles activate the inclusion of various modules into
           the DSpace Build process. They activate automatically if the
           source module is in the local file system, correctly located
           relative to this file.
        -->

        <!--
           Builds DSpace "Assembly & Configuration" project
        -->
        <profile>
            <id>dspace</id>
            <activation>
                <file>
                    <exists>dspace/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace</module>
            </modules>
        </profile>

        <!--
           Builds central API for DSpace
        -->
        <profile>
            <id>dspace-api</id>
            <activation>
                <file>
                    <exists>dspace-api/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace-api</module>
            </modules>
        </profile>

        <!--
           Builds Services for DSpace
        -->
        <profile>
            <id>dspace-services</id>
            <activation>
                <file>
                    <exists>dspace-services/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace-services</module>
            </modules>
        </profile>

        <!--
           Builds XOAI Gateway extension for DSpace
        -->
        <profile>
            <id>dspace-oai</id>
            <activation>
                <file>
                    <exists>dspace-oai/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace-oai</module>
            </modules>
        </profile>

        <!--
             Builds RDF API and Data Provider extension for DSpace
        -->
        <profile>
            <id>dspace-rdf</id>
            <activation>
                <file>
                    <exists>dspace-rdf/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace-rdf</module>
            </modules>
        </profile>

       <!-- REST Jersey (Deprecated REST API from DSpace 6.x or below) -->
       <!-- As this module is deprecated, it only builds if you activate it via -Pdspace-rest -->
       <profile>
           <id>dspace-rest</id>
           <activation>
               <activeByDefault>false</activeByDefault>
           </activation>
           <modules>
               <module>dspace-rest</module>
           </modules>
       </profile>


        <!--
           Builds SWORD extension for DSpace
        -->
        <profile>
            <id>dspace-sword</id>
            <activation>
                <file>
                    <exists>dspace-sword/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace-sword</module>
            </modules>
        </profile>


        <!--
           Builds SWORDv2 extension for DSpace
        -->
        <profile>
            <id>dspace-swordv2</id>
            <activation>
                <file>
                    <exists>dspace-swordv2/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace-swordv2</module>
            </modules>
        </profile>

        <!--
           Builds Server API webapp for DSpace
        -->
		<profile>
            <id>dspace-server-webapp</id>
            <activation>
                <file>
                    <exists>dspace-server-webapp/pom.xml</exists>
                </file>
            </activation>
            <modules>
                <module>dspace-server-webapp</module>
            </modules>
        </profile>

        <!--
         The 'release' profile is used by the 'maven-release-plugin' (see above)
         to actually perform a DSpace software release to Maven central.
         This profile contains settings which are ONLY enabled when performing
         a DSpace release. See alse https://wiki.duraspace.org/display/DSPACE/Release+Procedure
        -->
        <profile>
            <id>release</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <!-- Activate all modules *except* for the 'dspace' module,
                 as it does not include any Java source code to release. -->
            <modules>
                <module>dspace-api</module>
                <module>dspace-oai</module>
                <module>dspace-rdf</module>
                <module>dspace-rest</module>
                <module>dspace-services</module>
                <module>dspace-sword</module>
                <module>dspace-swordv2</module>
                <module>dspace-server-webapp</module>
            </modules>
            <build>
                <plugins>
                    <!-- Configure Nexus plugin for new releases via Sonatype.
                         See: http://central.sonatype.org/pages/apache-maven.html -->
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <extensions>true</extensions>
                        <configuration>
                            <!-- In your settings.xml, your username/password
                                 MUST be specified for server 'ossrh' -->
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <!-- Require manual verification / release to Maven Central -->
                            <autoReleaseAfterClose>false</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <!-- For new releases, generate Source JAR files -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- For new releases, generate JavaDocs -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>aggregate-jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Sign any new releases via GPG.
                         NOTE: you may optionall specify the "gpg.passphrase" in your settings.xml -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <!--
      Dependency management provides a means to control which
      versions of dependency jars are used for compilation
      and packaging into the distribution.  Rather than placing
      a version in your dependencies, look here first to see if
      its already strongly defined in dspace-parent and dspace-api.
    -->
    <dependencyManagement>
        <dependencies>
            <!-- DSpace core and endorsed Addons -->
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-api</artifactId>
                <version>7.0-beta2</version>
            </dependency>
            <dependency>
                <groupId>org.dspace.modules</groupId>
                <artifactId>additions</artifactId>
                <version>7.0-beta2</version>
            </dependency>

            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-sword</artifactId>
                <version>7.0-beta2</version>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-swordv2</artifactId>
                <version>7.0-beta2</version>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-oai</artifactId>
                <version>7.0-beta2</version>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-services</artifactId>
                <version>7.0-beta2</version>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-rdf</artifactId>
                <version>7.0-beta2</version>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-rest</artifactId>
                <version>7.0-beta2</version>
                <type>jar</type>
                <classifier>classes</classifier>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-rest</artifactId>
                <version>7.0-beta2</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-server-webapp</artifactId>
                <version>7.0-beta2</version>
                <type>jar</type>
                <classifier>classes</classifier>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-server-webapp</artifactId>
                <version>7.0-beta2</version>
                <type>war</type>
            </dependency>
            <!-- DSpace API Localization Packages -->
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>dspace-api-lang</artifactId>
                <version>[6.0.0,7.0.0)</version>
            </dependency>

            <!-- DSpace third Party Dependencies -->

            <!-- Solr introduces multiple versions of zookeeper. So,
                 we specify the version we want -->
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.4.14</version>
            </dependency>

            <!-- solr-cell and axiom-api disagree on versions -->
            <dependency>
                <groupId>org.apache.james</groupId>
                <artifactId>apache-mime4j-core</artifactId>
                <version>0.8.1</version>
            </dependency>

            <!-- solr-core, solr-cell disagree with nimbus-jose-jwt -->
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>5.1</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernate.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-jpamodelgen</artifactId>
                <version>${hibernate.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-ehcache</artifactId>
                <version>${hibernate.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <!-- This artifact doesn't track the main Hibernate version. -->
                <version>${hibernate-validator.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.swordapp</groupId>
                <artifactId>sword-common</artifactId>
                <version>1.1</version>
            </dependency>
            <!-- Explicitly Specify Latest Version of Spring -->
            <dependency>
                <artifactId>spring-core</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <artifactId>spring-beans</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <artifactId>spring-aop</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <artifactId>spring-context</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <artifactId>spring-tx</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
		    <artifactId>spring-jdbc</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <artifactId>spring-web</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <artifactId>spring-webmvc</artifactId>
                <groupId>org.springframework</groupId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <version>${spring-boot.version}</version>
                <exclusions>
                    <!-- Temporary exclusion to avoid dependency conflict with version of org.json:json used by dspace-api.
                         NOTE: THIS CAN BE REMOVED ONCE WE UPGRADE TO SPRING-BOOT v1.5 (or above), see DS-3802
                         As of Spring-Boot 1.5, org.json:json is no longer used by spring-boot-starter-test -->
                    <exclusion>
                        <groupId>org.json</groupId>
                        <artifactId>json</artifactId>
                    </exclusion>
                    <!-- More recent version used for testing below -->
                    <exclusion>
                        <groupId>com.jayway.jsonpath</groupId>
                        <artifactId>json-path</artifactId>
                    </exclusion>
                </exclusions>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-cell</artifactId>
                <version>${solr.client.version}</version>
            </dependency>
            <!-- Reminder: Keep icu4j (in Parent POM) synced with version used by lucene-analyzers-icu below,
             otherwise ICUFoldingFilterFactory may throw errors in tests.  -->
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-icu</artifactId>
                <version>${solr.client.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.jayway.jsonpath</groupId>
                <artifactId>json-path-assert</artifactId>
                <version>${json-path.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.jayway.jsonpath</groupId>
                <artifactId>json-path</artifactId>
                <version>${json-path.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>1.9.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.jena</groupId>
                <artifactId>apache-jena-libs</artifactId>
                <type>pom</type>
                <version>${jena.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>handle</artifactId>
                <version>9.1.0.v20190416</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty.aggregate</groupId>
                <artifactId>jetty-all</artifactId>
                <version>8.1.22.v20160922</version>
                <exclusions>
                    <exclusion>
                        <artifactId>javax.servlet</artifactId>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>jargon</artifactId>
                <version>1.4.25</version>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>mets</artifactId>
                <version>1.5.2</version>
            </dependency>

            <!-- Required by Commons Configuration -->
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.9.3</version>
            </dependency>
            <dependency>
                <groupId>commons-cli</groupId>
                <artifactId>commons-cli</artifactId>
                <version>1.3.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-collections4</artifactId>
                <version>4.1</version>
            </dependency>
            <!-- commons-collections v3 is still required by commons-beanutils,
                 which is required by commons-configuration. Once those are
                 upgraded, we should remove this dependency -->
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-configuration2</artifactId>
                <version>2.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
                <version>2.1.1</version>
            </dependency>
            <dependency>
                <groupId>commons-discovery</groupId>
                <artifactId>commons-discovery</artifactId>
                <version>0.5</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.6</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.7</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-pool2</artifactId>
                <version>2.4.2</version>
            </dependency>
            <dependency>
                <groupId>commons-validator</groupId>
                <artifactId>commons-validator</artifactId>
                <version>1.5.0</version>
            </dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>2.9.2</version>
            </dependency>
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4.7</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
            </dependency>

            <dependency>
                <groupId>jaxen</groupId>
                <artifactId>jaxen</artifactId>
                <version>1.1.6</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xom</artifactId>
                        <groupId>xom</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jdom</groupId>
                <artifactId>jdom</artifactId>
                <version>1.1.3</version>
            </dependency>

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-1.2-api</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-web</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-jul</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>oro</groupId>
                <artifactId>oro</artifactId>
                <version>2.0.8</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>pdfbox</artifactId>
                <version>${pdfbox-version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>fontbox</artifactId>
                <version>${pdfbox-version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi-version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-scratchpad</artifactId>
                <version>${poi-version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi-version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
                <version>${poi-version}</version>
            </dependency>
            <dependency>
                <groupId>rome</groupId>
                <artifactId>rome</artifactId>
                <version>1.0</version>
            </dependency>
            <dependency>
                <groupId>rome</groupId>
                <artifactId>opensearch</artifactId>
                <version>0.1</version>
            </dependency>
            <dependency>
                <groupId>xalan</groupId>
                <artifactId>xalan</artifactId>
                <version>2.7.0</version>
            </dependency>
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>2.11.0</version>
            </dependency>
            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
                <version>1.4.01</version>
            </dependency>
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>1.1.1</version>
            </dependency>

            <dependency>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>1.6.3</version>
            </dependency>
            <dependency>
                <groupId>javax.xml</groupId>
                <artifactId>jaxrpc-api</artifactId>
                <version>1.3</version>
            </dependency>
            <dependency>
                <groupId>axis</groupId>
                <artifactId>axis</artifactId>
                <version>1.4</version>
            </dependency>
            <dependency>
                <groupId>axis</groupId>
                <artifactId>axis-ant</artifactId>
                <version>1.4</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>axis</groupId>
                <artifactId>axis-saaj</artifactId>
                <version>1.4</version>
            </dependency>
            <!-- Keep icu4j synced with version used by lucene-analyzers-icu (Solr) -->
            <dependency>
                <groupId>com.ibm.icu</groupId>
                <artifactId>icu4j</artifactId>
                <version>59.1</version>
            </dependency>
            <dependency>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc6</artifactId>
                <version>11.2.0.4.0</version>
            </dependency>
            <dependency>
                <groupId>com.sun.media</groupId>
                <artifactId>jai_imageio</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>javax.media</groupId>
                <artifactId>jai_core</artifactId>
                <version>1.1.3</version>
            </dependency>
            <dependency>
                <groupId>org.dspace</groupId>
                <artifactId>oclc-harvester2</artifactId>
                <version>0.1.12</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>4.4.4</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.1</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jdk14</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>log4j-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- http://errorprone.info : used to check for common/obvious code errors during compilation -->
            <dependency>
                <groupId>com.google.errorprone</groupId>
                <artifactId>error_prone_core</artifactId>
                <version>${errorprone.version}</version>
                <scope>compile</scope>
            </dependency>
            <!-- JUnit, Mockito and Hamcrest are used for Unit/Integration tests -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>1.3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>1.3</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>2.28.2</version>
                <scope>test</scope>
            </dependency>
            <!-- H2 is an in-memory database used for Unit/Integration tests -->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>1.4.187</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.6.1</version>
                <scope>compile</scope>
            </dependency>
            <!-- Google Analytics -->
            <dependency>
                <groupId>com.google.apis</groupId>
                <artifactId>google-api-services-analytics</artifactId>
                <version>v3-rev145-1.23.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.api-client</groupId>
                <artifactId>google-api-client</artifactId>
                <version>1.23.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.http-client</groupId>
                <artifactId>google-http-client</artifactId>
                <version>1.23.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.http-client</groupId>
                <artifactId>google-http-client-jackson2</artifactId>
                <version>1.23.0</version>
                <exclusions>
                    <exclusion>
                        <artifactId>jackson-core</artifactId>
                        <groupId>com.fasterxml.jackson.core</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>jackson-databind</artifactId>
                        <groupId>com.fasterxml.jackson.core</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.oauth-client</groupId>
                <artifactId>google-oauth-client</artifactId>
                <version>1.23.0</version>
            </dependency>
            <!-- Findbugs annotations -->
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>3.0.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>annotations</artifactId>
                <version>3.0.1u2</version>
                <scope>provided</scope>
            </dependency>
            <!-- Converge miscellaneous transitive dependencies. -->
            <dependency>
                <groupId>com.fasterxml</groupId>
                <artifactId>classmate</artifactId>
                <version>1.3.0</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>19.0</version>
            </dependency>
            <dependency>
                <groupId>com.lyncode</groupId>
                <artifactId>builder-commons</artifactId>
                <version>1.0.2</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.20.0-GA</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>3.3.0.Final</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>woodstox-core-asl</artifactId>
                <version>4.4.1</version>
            </dependency>
            <dependency>
                <groupId>xom</groupId>
                <artifactId>xom</artifactId>
                <version>1.2.5</version>
            </dependency>
            <!-- JAXB API and implementation (no longer bundled as of Java 11) -->
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${jaxb-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${jaxb-runtime.version}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>${javax-annotation.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <licenses>
        <license>
            <name>DuraSpace BSD License</name>
            <url>https://raw.github.com/DSpace/DSpace/master/LICENSE</url>
            <distribution>repo</distribution>
            <comments>
               A BSD 3-Clause license for the DSpace codebase.
            </comments>
        </license>
    </licenses>

    <issueManagement>
        <system>JIRA</system>
        <url>https://jira.duraspace.org/browse/DS</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>DSpace Technical Users List</name>
            <subscribe>
               https://groups.google.com/d/forum/dspace-tech
            </subscribe>
            <unsubscribe>
               https://groups.google.com/d/forum/dspace-tech
            </unsubscribe>
            <post>dspace-tech AT googlegroups.com</post>
            <archive>
               https://groups.google.com/d/forum/dspace-tech
            </archive>
        </mailingList>
        <mailingList>
            <name>DSpace Developers List</name>
            <subscribe>
               https://groups.google.com/d/forum/dspace-devel
            </subscribe>
            <unsubscribe>
               https://groups.google.com/d/forum/dspace-devel
            </unsubscribe>
            <post>dspace-devel AT googlegroups.com</post>
            <archive>
               https://groups.google.com/d/forum/dspace-devel
            </archive>
        </mailingList>
        <mailingList>
            <name>DSpace Community List</name>
            <subscribe>
               https://groups.google.com/d/forum/dspace-community
            </subscribe>
            <unsubscribe>
               https://groups.google.com/d/forum/dspace-community
            </unsubscribe>
            <post>dspace-community AT googlegroups.com</post>
            <archive>
               https://groups.google.com/d/forum/dspace-community
            </archive>
        </mailingList>
        <mailingList>
            <name>DSpace Commit Change-Log</name>
            <subscribe>
               https://groups.google.com/d/forum/dspace-changelog
            </subscribe>
            <unsubscribe>
               https://groups.google.com/d/forum/dspace-changelog
            </unsubscribe>
            <archive>
               https://groups.google.com/d/forum/dspace-changelog
            </archive>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
           <name>DSpace Committers</name>
           <email>dspace-devel@googlegroups.com</email>
           <url>https://wiki.duraspace.org/display/DSPACE/DSpace+Committers</url>
           <roles>
             <role>committer</role>
           </roles>
        </developer>
    </developers>

    <contributors>
        <contributor>
           <name>DSpace Contributors</name>
           <email>dspace-tech@googlegroups.com</email>
           <url>https://wiki.duraspace.org/display/DSPACE/DSpaceContributors</url>
           <roles>
             <role>developer</role>
           </roles>
        </contributor>
    </contributors>

    <!--
      Information about the SCM repository where source code exists.
    -->
    <scm>
        <connection>scm:git:git@github.com:DSpace/DSpace.git</connection>
        <developerConnection>scm:git:git@github.com:DSpace/DSpace.git</developerConnection>
        <url>git@github.com:DSpace/DSpace.git</url>
        <tag>dspace-7.0-beta2</tag>
    </scm>


    <!-- Configure our release repositories to use Sonatype.
         See: http://central.sonatype.org/pages/apache-maven.html -->
    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <!-- Enable access to artifacts in Sonatype's snapshot repo for Snapshots ONLY -->
    <repositories>
        <repository>
            <id>maven-snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <layout>default</layout>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <!-- For Solr 7.x, as the solr-parent POM has an old URL for this maven-restlet repository.
             The URL is corrected (to the below value) as of Solr 8.3.x, but has not yet been backported to 7.x.
             Once we upgrade to Solr 8+, we should be able to remove this repository. -->
        <!-- Only necessary if maven.restlet.org becomes unavailable again. Disabled for now, as that URL has been
             redirected to the new .com location. Leaving this here temporarily in case it is ever needed again.
        <repository>
            <id>maven-restlet</id>
            <name>Public online Restlet repository</name>
            <url>https://maven.restlet.com</url>
        </repository>
        -->
    </repositories>

    <dependencies>
    	<dependency>
    		<groupId>org.apache.poi</groupId>
    		<artifactId>poi-ooxml</artifactId>
    		<exclusions>
    			<exclusion>
    				<groupId>stax</groupId>
    				<artifactId>stax-api</artifactId>
    			</exclusion>
    		</exclusions>
    	</dependency>
    </dependencies>
</project>
