<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<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>org.apache</groupId>
      <artifactId>apache</artifactId>
      <version>21</version>
  </parent>

  <groupId>org.apache.taverna</groupId>
  <artifactId>apache-taverna-parent</artifactId>
  <version>4-incubating-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Apache Taverna Maven parent</name>
  <description>
    General POM-file parent for Apache Taverna projects
  </description>
  <url>https://taverna.incubator.apache.org/</url>
  <inceptionYear>2015</inceptionYear>
  <mailingLists>
    <mailingList>
      <name>Apache Taverna Developer List</name>
      <subscribe>dev-subscribe@taverna.incubator.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@taverna.incubator.apache.org</unsubscribe>
      <post>dev@taverna.incubator.apache.org</post>
      <archive>https://lists.apache.org/list.html?dev@taverna.apache.org</archive>      
      <otherArchives>
        <otherArchive>https://mail-archives.apache.org/mod_mbox/incubator-taverna-dev/</otherArchive>
        <otherArchive>https://www.mail-archive.com/dev@taverna.incubator.apache.org/</otherArchive>
        <otherArchive>http://markmail.org/search/?q=list%3Aorg.apache.taverna.dev</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Apache Taverna Users List</name>
      <subscribe>users-subscribe@taverna.incubator.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@taverna.incubator.apache.org</unsubscribe>
      <post>users@taverna.incubator.apache.org</post>
      <archive>https://lists.apache.org/list.html?users@taverna.apache.org</archive>      
      <otherArchives>
        <otherArchive>https://mail-archives.apache.org/mod_mbox/incubator-taverna-users/</otherArchive>
        <otherArchive>https://www.mail-archive.com/users@taverna.incubator.apache.org/</otherArchive>
        <otherArchive>http://markmail.org/search/?q=list%3Aorg.apache.taverna.users</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Apache Taverna Commits</name>
      <subscribe>commits-subscribe@taverna.incubator.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@taverna.incubator.apache.org</unsubscribe>
      <!-- only git/jira will post here
        <post>commits@taverna.incubator.apache.org</post> -->
      <archive>https://lists.apache.org/list.html?commits@taverna.apache.org</archive>
      <otherArchives>
        <otherArchive>https://mail-archives.apache.org/mod_mbox/incubator-taverna-commits/</otherArchive>
      </otherArchives>      
    </mailingList>
  </mailingLists>
  <ciManagement>
    <system>jenkins</system>
    <url>https://builds.apache.org/user/stain/my-views/view/taverna/</url>
  </ciManagement>

  <developers>
          <!--  For an updated list, see
          https://taverna.incubator.apache.org/about/
        https://home.apache.org/phonebook.html?podling=taverna

          This lists contain the official committers/PPMC members
          and contributors since Taverna became an Apache project.

           -->
          <developer>
                  <id>alaninmcr</id>
                  <email>alaninmcr@apache.org</email>
                  <name>Alan Robert Williams</name>
                  <url>http://orcid.org/0000-0003-3156-2105</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
          <developer>
                  <id>andy</id>
                  <email>andy@apache.org</email>
                  <name>Andy Seaborne</name>
                  <!--  TODO: <url>http://orcid.org/...</url> -->
                  <roles>
                          <role>emeritus mentor</role>
                          <role>champion</role>
                  </roles>
          </developer>
        <developer>
                  <id>anenadic</id>
                  <email>anenadic@apache.org</email>
                  <name>Aleksandra Nenadic</name>
                  <url>http://orcid.org/0000-0002-2269-3894</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
          <developer>
                  <id>brenninc</id>
                  <email>brenninc@apache.org</email>
                  <name>Christian Y. Brenninkmeijer</name>
                  <url>http://orcid.org/0000-0002-2937-7819</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
        <developer>
                  <id>djd</id>
                  <email>djd@apache.org</email>
                  <name>Daniel John Debrunner</name>
                <!-- TODO: <url>http://orcid.org/...<url> -->
                  <roles>
                          <role>emeritus mentor</role>
                  </roles>
          </developer>
          <developer>
                  <id>dkf</id>
                  <email>dkf@apache.org</email>
                  <name>Donal K. Fellows</name>
                  <url>http://orcid.org/0000-0002-9091-5938</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
          <developer>
                  <id>gnaylor</id>
                  <email>gnaylor@apache.org</email>
                  <!--  TODO: <url>http://orcid.org/...</url> -->
                  <name>Gale Naylor</name>
                  
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
          <developer>
                  <id>hainesr</id>
                  <email>hainesr@apache.org</email>
                  <name>Robert Haines</name>
                  <url>http://orcid.org/0000-0002-9538-7919</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
          <developer>
                  <id>ianwdunlop</id>
                  <email>ianwdunlop@apache.org</email>
                  <name>Ian William Dunlop</name>
                  <url>http://orcid.org/0000-0001-7066-3350</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
          <developer>
                  <id>jgarrido</id>
                  <email>jgarrido@apache.org</email>
                  <name>Julián Garrido</name>
                  <url>http://orcid.org/0000-0002-6696-4772</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
        <developer>
                <id>maanadev</id>
                <name>Thilina Manamgoda</name>
                <email>maanadev@apache.org</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/ThilinaManamgoda</url>
                <roles>
                          <role>committer</role>
                </roles>
        </developer>
        <developer>
                  <id>mattmann</id>
                  <email>mattmann@apache.org</email>
                  <name>Chris Mattmann</name>
                  <!-- FIXME: <url>http://orcid.org/0000-0001-7086-3889</url> unverified -->
                  <roles>
                          <role>emeritus mentor</role>
                  </roles>
          </developer>
        <developer>
                  <id>mpierce</id>
                  <email>mpierce@apache.org</email>
                  <name>Marlon Pierce</name>
                  <url>http://orcid.org/0000-0002-9582-5712</url>
                  <roles>
                          <role>emeritus mentor</role>
                  </roles>
          </developer>
        <developer>
                  <id>redmitry</id>
                  <email>redmitry@apache.org</email>
                  <name>Dmitri Repchevsky</name>
                  <url>http://orcid.org/0000-0001-6415-0532</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
        <developer>
                <id>sagar</id>
                <name>Sagar</name>
                <email>sagar@apache.org</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/sagar15795</url>
                <roles>
                        <role>committer</role>
                </roles>
        </developer>
        <developer>
                  <id>shoaibsufi</id>
                  <email>shoaibsufi@apache.org</email>
                  <name>Shoaib Sufi</name>
                  <url>http://orcid.org/0000-0001-6390-2616</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
        <developer>
                  <id>smarru</id>
                  <email>smarru@apache.org</email>
                  <name>Suresh Marru</name>
                  <url>http://orcid.org/0000-0002-6374-095X</url>
                  <roles>
                          <role>emeritus mentor</role>
                  </roles>
          </developer>
        <developer>
                  <id>stain</id>
                  <email>stain@apache.org</email>
                  <name>Stian Soiland-Reyes</name>
                  <url>http://orcid.org/0000-0001-9842-9718</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                          <role>mentor</role>
                  </roles>
          </developer>
        <developer>
                  <id>stuzart</id>
                  <email>stuzart@apache.org</email>
                  <name>Stuart Owen</name>
                  <url>http://orcid.org/0000-0003-2130-0865</url>
                  <roles>
                          <role>committer</role>
                        <role>PPMC member</role>
                  </roles>
          </developer>
        <developer>
                  <id>suresh</id>
                  <email>suresh@apache.org</email>
                  <name>Suresh Srinivas</name>
                  <!--  TODO: <url>http://orcid.org/...</url> -->
                  <roles>
                          <role>emeritus mentor</role>
                  </roles>
          </developer>

        <!-- contributors -->

        <developer>
                <id>menaka121</id>
                <name>Menaka Madushanka</name>
                <email>menaka12350@gmail.com</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/menaka121</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </developer>
        <developer>
                <id>larrytech7</id>
                <name>Larry Akah</name>
                <email>larryakah@gmail.com</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/larrytech7</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </developer>
        <developer>
                <id>Samhane</id>
                <name>Denis Karyakin</name>
                <email>samhane.me@gmail.com</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/Samhane</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </developer>
        <developer>
                <id>binfalse</id>
                <name>Martin Scharm</name>
                <email>github@binfalse.de</email>
                <url>http://orcid.org/0000-0003-4519-7030</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </developer>
        <developer>
                <id>gmlewis</id>
                <name>Glenn Lewis</name>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/gmlewis</url>
                <roles>
                        <role>security fixes</role>
                </roles>
        </developer>
        <developer>
                <id>NadeeshDilanga</id>
                <name>Nadeesh Dilanga</name>
                <email>nadeesh092@gmail.com</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/NadeeshDilanga</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </developer>
        <developer>
                <id>therajanmaurya</id>
                <name>Rajan Maurya</name>
                <email>rajanmaurya154@gmail.com</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/therajanmaurya</url>
                <roles>
                        <role>committer</role>
                </roles>
        </developer>
      </developers>
      <contributors>

        <contributor>
                <!--<id>edikaradumi</id>-->
                <name>Edi Karadumi</name>
                <email>edikaradumi@gmail.com</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/edikaradumi</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </contributor>
        <contributor>
                <!--<id>PCStefan</id>-->
                <name>Claudiu Stefan Padurariu</name>
                <email>padurariu.claudiu.stefan@gmail.com</email>
                <!--  TODO: <url>http://orcid.org/...</url> -->
                <url>https://github.com/PCStefan</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </contributor>
        <contributor>
                <!--<id>matthiaskoenig</id>-->
                <name>Matthias König</name>
                <email>konigmatt@googlemail.com</email>
                <url>https://orcid.org/0000-0003-1725-179X</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </contributor>
        <contributor>
                <!--<id>MarkRobbo</id>-->
                <name>Mark Robinson</name>
                <email>mark@goldtek.co.uk</email>
                <url>http://orcid.org/0000-0002-8184-7507</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </contributor>
        <contributor>
                <!--<id>m-murad</id>-->
                <name>Murad</name>
                <email>murad.kuka@gmail.com</email>
                <url>https://github.com/m-murad</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </contributor>
        <contributor>
                <!--<id>yinonavraham</id>-->
                <name>Yinon Avraham</name>
                <email>yinonavraham@gmail.com</email>
                <url>https://github.com/yinonavraham</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </contributor>
        <contributor>
                <!--<id>Chalana</id>-->
                <name>Chalana Madusanka</name>
                <!--<email></email>-->
                <url>https://github.com/Chalana</url>
                <roles>
                        <role>contributor</role>
                </roles>
        </contributor>        
  </contributors>


  <issueManagement>
    <system>Jira</system>
    <!-- Note: Do not include Component for Maven Parent here, as
      this issueManagement is inherited by every Taverna module.
    -->
    <url>https://issues.apache.org/jira/browse/TAVERNA</url>
  </issueManagement>

  <scm>
    <!-- While this section will also be inherited, it should be
    overridden within each Taverna module with specific repositories
    following the below template.

    ASF's GitBox is mirrored two-ways with GitHub.
    GitHub allows SSH keys that is good for <developerConnection>
    to work with mvn release:prepare without password prompts.
    See https://taverna.incubator.apache.org/download/code/

    To force use of https://github.com/ add to equivalent of ~/.gitconfig

        [url "https://github.com/apache/"]
        insteadOf = git@github.com:apache/
        insteadOf = https://gitbox.apache.org/repos/asf/
        pushInsteadOf = git@github.com:apache/
        pushInsteadOf = https://gitbox.apache.org/repos/asf/

    *or*, to force use of https://gitbox.apache.org/

        [url "https://gitbox.apache.org/repos/asf/"]
        insteadOf = git@github.com:apache/
        insteadOf = https://github.com/apache/
        pushInsteadOf = git@github.com:apache/
        pushInsteadOf = https://github.com/apache/
    
    See https://git-scm.com/docs/git-push/2.4.4#_git_urls_a_id_urls_a
    
    -->
      <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-taverna-maven-parent.git</connection>
      <developerConnection>scm:git:git@github.com:apache/incubator-taverna-maven-parent.git</developerConnection>
      <url>https://github.com/apache/incubator-taverna-maven-parent/</url>
      <tag>HEAD</tag>
  </scm>

  <properties>
    <!-- override java version from Apache parent -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

    <!--
    Versions of dependencies that are used across
    incubator-taverna-* repositories (e.g. commons-io).

    Versions of dependencies that are only used in one repository,
    e.g. beanshell, should rather be listed in the top-level pom.xml
    of their repository (e.g. incubator-taverna-common-activities).

   Note that in some cases these versions refer to a
   springsource repackaging for OSGi, e.g.
   com.springsource.org.jdom.
   Before changing a version it can be a good idea to
   grep for whatever.version in all the source-code
   repositories to see how it is used.

Do NOT put taverna.* versions in here, as we do not want
to update taverna-parent whenever a taverna-* has been
upgraded - this leads to recursive spaghetti.
         -->
<activation.version>1.1.1</activation.version>
<antlr.version>2.7.7</antlr.version>
<apache.commons.csv.version>1.5</apache.commons.csv.version>
<apache.httpclient.version>4.5.3</apache.httpclient.version><!-- must be compatibe with jsonld-java/jena -->
<apache.httpcore.version>4.4.6</apache.httpcore.version> <!-- must match what httpclient depends on -->
<aspectj.version>1.6.9</aspectj.version>
<axis.jaxrpc.version>1.4</axis.jaxrpc.version>
<axis.sggj.version>1.4</axis.sggj.version>
<axis.version>1.4.0</axis.version>
<!--<axis.wsdl4j.version>1.5.1</axis.wsdl4j.version>-->
<batik.version>1.7.0</batik.version>
<bcprov.version>1.54</bcprov.version><!-- bcprov-jdk15on --><!-- bcprov-jdk15on --><!-- bcprov-jdk15on --><!-- bcprov-jdk15on -->
<cglib.version>2.1.3</cglib.version>
<commons.beanutils.version>1.9.2</commons.beanutils.version>
<commons.cli.version>1.4</commons.cli.version>
<commons.codec.version>1.10</commons.codec.version>
<commons.collections.version>3.2.2</commons.collections.version>
<commons.configuration.version>1.10</commons.configuration.version>
<commons.dbcp.version>1.4</commons.dbcp.version>
<commons.httpclient.version>3.1.0</commons.httpclient.version>
<commons.io.version>2.6</commons.io.version>
<commons.lang.version>2.6</commons.lang.version>
<commons.logging.version>1.1.3</commons.logging.version>
<commons.net.version>2.0.0</commons.net.version>
<dexx.collection.version>0.6</dexx.collection.version>
<dom4j.version>1.6.1</dom4j.version>
<geronimo.spec.jta.version>1.0-M1</geronimo.spec.jta.version>
<gson.version>1.4</gson.version>
<htmlparser.version>1.4</htmlparser.version>
<icu4j.version>3.4.4</icu4j.version>
<io.airlift.airline.version>0.7</io.airlift.airline.version>
<jackson.version>2.9.0</jackson.version> <!-- See also jsonldjava -->
<jai.imageio.core.version>1.3.1</jai.imageio.core.version> <!-- http://github.com/jai-imageio/ -->
<javahelp.version>2.0.02</javahelp.version>
<javax.el.version>1.0.0</javax.el.version>
<javax.servlet.jsp.version>2.1.0</javax.servlet.jsp.version>
<javax.servlet.version>2.5.0</javax.servlet.version>
<javax.transaction.version>1.1.0</javax.transaction.version>
<jaxb.version>2.2.11</jaxb.version>
<jaxen.version>1.1.6</jaxen.version>
<jaxp.ri.version>1.4</jaxp.ri.version>
<jaxws.api.version>2.1</jaxws.api.version>
<jdom.version>1.1.0</jdom.version> <!-- com.springsource.org.jdom -->
<jdom2.version>2.0.6_1</jdom2.version> <!-- org.apache.servicemix.bundles.jdom -->
<jedit.syntax.version>2.2.5</jedit.syntax.version>
<jena.version>3.7.0</jena.version><!-- See also jsonld-java and httpcomponents -->
<jersey.client.version>1.19.1</jersey.client.version>
<jetty.version>6.1.24</jetty.version>
<jmimemagic.version>0.1.2</jmimemagic.version>
<jmoby.version>1.1.5-taverna</jmoby.version>
<joda-time.version>2.9.9</joda-time.version>
<json.lib.version>2.3</json.lib.version>
<jsonldjava.version>0.11.1</jsonldjava.version> <!-- upgrade from jena, sync with jackson and httpcomponents -->
<junit.version>4.11</junit.version>
<log4j.version>1.2.17</log4j.version>
<mail.version>1.4.1</mail.version>
<macify.version>1.6</macify.version>
<martj.version>0.6</martj.version>
<mimeutil.version>2.1.2-6</mimeutil.version>
<mockito.version>1.9.5</mockito.version>
<opm.version>1.1.8</opm.version>
<org.fife.ui.hexeditor.version>1.0.2011-07-04</org.fife.ui.hexeditor.version>
<org.icepdf.version>4.1.1-taverna</org.icepdf.version>
<org.xhtmlrenderer.core-renderer.version>R8</org.xhtmlrenderer.core-renderer.version>
<osgi.core.version>4.3.1</osgi.core.version>
<osgi.enterprise.version>4.2.0</osgi.enterprise.version>
<osgi.equinox.version>3.8.0.v20120529-1548</osgi.equinox.version>
<osgi.compendium.version>4.3.1</osgi.compendium.version>
<poi.ooxml.version>3.6</poi.ooxml.version>
<poi.version>3.6</poi.version>
<saxpath.version>1.0-FCS</saxpath.version>
<servletapi.version>2.5</servletapi.version>
<sesame.version>2.7.0</sesame.version>
<simple-jndi.version>0.11.1</simple-jndi.version>
<slf4j.version>1.7.20</slf4j.version>
<spring.dm.version>2.0.0.M1</spring.dm.version>
<spring.version>3.0.5.RELEASE</spring.version>
<stax.version>1.0</stax.version>
<tupelo.version>2.6</tupelo.version>
<xalan.version>2.7.1</xalan.version>
<servicemix.xerces.version>2.11.0_1</servicemix.xerces.version>
<xmlbeans.version>2.4.0</xmlbeans.version>
<xml.rpc.version>1.1.0</xml.rpc.version>
<xstream.version>1.4.1</xstream.version>
  </properties>



  <!-- Common (test) dependencies - keep this list short
      and up to date! -->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

<!-- Minimal dependency management -   -->
<dependencyManagement>
        <dependencies>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient-osgi</artifactId>
            <version>${apache.httpclient.version}</version>
            <exclusions>
              <!-- These are all embedded within httpclient-osgi
              and so should not be depended on again
              -->
              <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
              </exclusion>
              <exclusion>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient-cache</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>fluent-hc</artifactId>
              </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore-osgi</artifactId>
            <version>${apache.httpcore.version}</version>
            <exclusions>
              <!-- These are all embedded within httpcore-osgi
                and so should not be depended on again
              -->

              <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
              </exclusion>
              <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore-nio</artifactId>
              </exclusion>
            </exclusions>
        </dependency>
        </dependencies>
</dependencyManagement>


  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
      </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>${maven.compiler.source}</source>
        <target>${maven.compiler.target}</target>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <skip>false</skip>
        <systemProperties>
          <property>
            <name>java.awt.headless</name>
            <value>true</value>
          </property>
        </systemProperties>
      </configuration>
    </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <resourceBundles>
                <!-- Will generate META-INF/DEPENDENCIES META-INF/LICENSE META-INF/NOTICE -->
                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
              </resourceBundles>
            </configuration>
          </execution>
        </executions>
      </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
                <additionalparam>-Xdoclint:none</additionalparam>
            </configuration>
        </plugin>


    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-release-plugin</artifactId>
      <configuration>
        <releaseProfiles>apache-release</releaseProfiles>
        <tagNameFormat>@{project.version}-RC1</tagNameFormat>
        <autoVersionSubmodules>true</autoVersionSubmodules>
      </configuration>
    </plugin>

      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <executions>
          <execution>
            <!-- activated by -Papache-release -->
          </execution>
        </executions>
        <configuration>
          <!-- In child projects, use combine.children to include this list -->
          <excludes combine.children="append">
            <!--
            Text and Markdown files are typically used only for documentation purposes
            and license declarations are usually spurious in these files since often they
            will refer to the LICENSE/NOTICE for users to find the actual licenses
            -->
            <exclude>**/*.md</exclude>
            <!--
            META-INF services files can include comments but a license header would be
            unecessarily clutter so we exclude these
            -->
            <exclude>**/META-INF/services/*</exclude>

           <!-- Created by Maven Shade plugin -->
           <exclude>dependency-reduced-pom.xml</exclude>
	   <!-- Created by VS Code -->
           <exclude>.vscode</exclude>

          </excludes>
        </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
      <!-- NOTE: configuration is under reporting -->
      <dependencies>
        <dependency>
          <!-- contains checkstyle.xml -->
          <groupId>org.apache.taverna</groupId>
          <artifactId>taverna-shared-resources</artifactId>
          <version>4-incubating-SNAPSHOT</version>
        </dependency>
      </dependencies>
    </plugin>    
  </plugins>

  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>3.0.0</version>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>3.5.1</version>
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>${maven.compiler.source}</source>
          <target>${maven.compiler.target}</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jvnet.jaxb2.maven2</groupId>
        <artifactId>maven-jaxb2-plugin</artifactId>
        <version>0.13.3</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <version>2.0.0</version>
      </plugin>
    </plugins>
  </pluginManagement>
  </build>
  <profiles>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <executions>
              <execution>
                <id>rat-checks</id>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>taverna-shared-resources/checkstyle.xml</configLocation>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <minmemory>128m</minmemory>
          <maxmemory>512</maxmemory>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.5</version>
      </plugin>
    </plugins>
  </reporting>

  <pluginRepositories>
    <pluginRepository>
        <id>apache.snapshots</id>
        <name>Apache Snapshot Repository</name>
        <url>https://repository.apache.org/snapshots</url>
        <releases>
          <enabled>false</enabled>
        </releases>
    </pluginRepository>
    <!-- released plugins are in central and don't need a <pluginRepository> -->
  </pluginRepositories>


  <repositories>
<!-- apache.snapshots inherited from Apache parent:
      <url>https://repository.apache.org/snapshots</url>
-->

<!--
      <repository>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
        <id>bintray-spring</id>
        <name>bintray-spring</name>
        <url>https://dl.bintray.com/spring/jars</url>
      </repository>
-->

<!-- Now at https://repo.spring.io/release and JCenter
      <repository>
        <id>com.springsource.repository.bundles.release</id>
        <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
        <url>http://repository.springsource.com/maven/bundles/release</url>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>
      <repository>
        <id>com.springsource.repository.bundles.external</id>
        <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
        <url>http://repository.springsource.com/maven/bundles/external</url>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>

	<repository>
	    <id>repository.spring.release</id>
	    <name>Spring Releases</name>
	    <url>https://repo.spring.io/release</url>
	    <releases />
	    <snapshots>
	      <enabled>false</enabled>
	    </snapshots>
	</repository>
	<repository>
	    <id>repository.spring.milestone</id>
	    <name>Spring Milestone Repository</name>
	    <url>https://repo.spring.io/milestone</url>
	    <releases />
	    <snapshots>
	      <enabled>false</enabled>
	    </snapshots>
	</repository>
	<repository>
	  <id>jcenter</id>
	  <name>JCenter at Bintray</name>
	  <url>https://jcenter.bintray.com/</url>
	    <releases />
	    <snapshots>
	      <enabled>false</enabled>
	    </snapshots>
	</repository>
-->


  </repositories>


  <!-- inherited from Apache parent
  <distributionManagement>
  </distributionManagement>
       -->
  <modules>  
    <module>taverna-shared-resources</module>
  </modules>

</project>

