<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.taverna.commandline</groupId>
    <artifactId>taverna-commandline</artifactId>
    <version>3.1.0-incubating-SNAPSHOT</version>
  </parent>
  <artifactId>taverna-command-line-product</artifactId>
  <name>Apache Taverna Commandline Product</name>
  <packaging>taverna-application</packaging>
  <profiles>
    <profile>
      <id>developer</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <assembly.descriptor>src/main/assembly/developer-assembly.xml</assembly.descriptor>
        <!-- See http://updates.taverna.org.uk/ -->
        <profile.updateSite>https://taverna.incubator.apache.org/updates/commandline/</profile.updateSite>
        <profile.pluginSite>https://taverna.incubator.apache.org/plugins/commandline/</profile.pluginSite>
      </properties>
    </profile>
    <profile>
      <id>nightly</id>
      <properties>
        <assembly.descriptor>src/main/assembly/nightly-assembly.xml</assembly.descriptor>
        <profile.updateSite>https://taverna.incubator.apache.org/updates/commandline/</profile.updateSite>
        <profile.pluginSite>https://taverna.incubator.apache.org/plugins/commandline/</profile.pluginSite>
      </properties>
    </profile>
    <profile>
      <id>release</id>
      <properties>
        <assembly.descriptor>src/main/assembly/release-assembly.xml</assembly.descriptor>
        <profile.updateSite>https://taverna.incubator.apache.org/updates/commandline/</profile.updateSite>
        <profile.pluginSite>https://taverna.incubator.apache.org/plugins/commandline/</profile.pluginSite>
      </properties>
    </profile>
  </profiles>
  <build>
    <finalName>apache-taverna-commandline-${project.version}</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <descriptors>
            <descriptor>${assembly.descriptor}</descriptor>
          </descriptors>
          <archiverConfig>
            <directoryMode>493</directoryMode> <!-- 493(dec) = 755(oct) -->
            <defaultDirectoryMode>493</defaultDirectoryMode>
          </archiverConfig>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.0-beta-3</version>
        <executions>
          <execution>
            <id>buildnumber-validate</id>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <format>{0,date,yyyyMMdd}T{0,date,HHmm}</format>
          <items>
            <item>timestamp</item>
          </items>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.taverna.osgi</groupId>
        <artifactId>taverna-maven-plugin</artifactId>
        <version>${taverna.osgi.version}</version>
        <extensions>true</extensions>
        <configuration>
          <buildNumber>${buildNumber}</buildNumber>
          <updateSite>${profile.updateSite}</updateSite>
          <pluginSite>${profile.pluginSite}</pluginSite>
          <frameworkConfigurations>
            <frameworkConfiguration>
              <name>org.osgi.framework.bootdelegation</name>
              <value>sun.*,com.sun.*,java.*,javax.*,org.xml.*,org.w3c.*,apple.*,com.apple.*,org.omg.*,org.ietf.jgss.*,org.jcp.xml.dsig.internal.*</value>
            </frameworkConfiguration>
            <frameworkConfiguration>
              <name>org.osgi.framework.system.packages.extra</name>
              <value>com.sun.org.apache.xml.internal.utils,com.sun.source.util,com.sun.source.tree,org.apache.log4j;version=${log4j.version},org.apache.taverna.commandline.options;version=${project.parent.version}</value>
            </frameworkConfiguration>
            <frameworkConfiguration>
              <name>org.osgi.framework.storage.clean</name>
              <value>onFirstInit</value>
            </frameworkConfiguration>
          </frameworkConfigurations>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>

    <!-- Explicit org.osgi.* with <scope>provided as these are also provided
      by the felix osgi package. Avoids: Caused by: java.lang.SecurityException:
      class "org.osgi.framework.hooks.bundle.CollisionHook"'s signer information
      does not match signer information of other classes in the same package -->

    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>${osgi.core.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>${osgi.core.version}</version>
      <scope>provided</scope>
    </dependency>

                <!-- Invalid manifest header Import-Package: "com.sun.jdmk.comm;resolution:="optional"" : Cannot import a package more than once "com.sun.jdmk.comm"-->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
      <!-- <scope>provided</scope> -->
    </dependency>

    <!-- Spring DM -->
    <dependency>
      <groupId>net.sourceforge.cglib</groupId>
      <artifactId>com.springsource.net.sf.cglib</artifactId>
      <version>${cglib.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.osgi</groupId>
      <artifactId>spring-osgi-annotation</artifactId>
      <version>${spring.dm.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.osgi</groupId>
      <artifactId>spring-osgi-extender</artifactId>
      <version>${spring.dm.version}</version>
    </dependency>
    <!-- Spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- Java Extension Implementations -->
    <!-- Appears unrequired dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>com.springsource.javax.xml.bind</artifactId>
      <version>2.2.0</version>
    </dependency-->
    <dependency>
      <groupId>javax.activation</groupId>
      <artifactId>com.springsource.javax.activation</artifactId>
      <version>${activation.version}</version>
    </dependency>
                <!-- The bundle "com.springsource.bsh_2.0.0.b4 " could not be resolved. Reason: Missing Constraint: Import-Package: javax.servlet; version="[2.5.0,3.0.0)" -->
    <dependency>
       <groupId>javax.servlet</groupId>
      <artifactId>com.springsource.javax.servlet</artifactId>
      <version>2.5.0</version>
    </dependency>
                <!-- The bundle "com.springsource.org.apache.axis_1.4.0 " could not be resolved. Reason: Missing Constraint: Import-Package: javax.jms; version="[1.1.0,2.0.0)" -->
    <dependency>
      <groupId>javax.jms</groupId>
      <artifactId>com.springsource.javax.jms</artifactId>
      <version>1.1.0</version>
    </dependency>
                <!-- The bundle "com.springsource.javax.xml.rpc_1.1.0 " could not be resolved. Reason: Missing Constraint: Import-Package: javax.xml.soap; version="[1.3.0,2.0.0)" -->
    <dependency>
      <groupId>javax.xml.soap</groupId>
      <artifactId>com.springsource.javax.xml.soap</artifactId>
      <version>1.3.0</version>
    </dependency>
                <!-- The bundle "com.springsource.com.thoughtworks.xstream_1.4.1" could not be resolved. Reason: Missing Constraint: Import-Package: javax.xml.stream; version="[1.0.1,2.0.0)" -->
    <dependency>
      <groupId>javax.xml.stream</groupId>
      <artifactId>com.springsource.javax.xml.stream</artifactId>
      <version>1.0.1</version>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>com.springsource.javax.mail</artifactId>
      <version>${mail.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>${commons.codec.version}</version>
    </dependency>
  <dependency>
    <groupId>commons-configuration</groupId>
    <artifactId>commons-configuration</artifactId>
    <version>1.10</version>
  </dependency>
  <dependency>
      <groupId>com.sun.xml.bind</groupId>
      <artifactId>jaxb-impl</artifactId>
      <version>2.2.11</version>
  </dependency>


    <!-- OSGi Enterprise Services -->
    <dependency>
      <groupId>org.apache.taverna.osgi</groupId>
      <artifactId>xml-parser-service</artifactId>
      <version>${taverna.osgi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.osgi</groupId>
      <artifactId>xml-transformer-service</artifactId>
      <version>${taverna.osgi.version}</version>
    </dependency>
                <!-- The bundle "uk.org.taverna.commons.taverna-plugin-impl_0.1.0.SNAPSHOT" could not be resolved. Reason: Missing Constraint: Import-Package: org.osgi.service.event; version="[1.3.0,2.0.0)" -->
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.eventadmin</artifactId>
      <version>1.3.2</version>
    </dependency>
    <!-- Appears unrequired dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.configadmin</artifactId>
      <version>1.6.0</version>
    </dependency-->

    <!-- Taverna Activities -->
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-dataflow-activity</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-stringconstant-activity</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>

    <!-- Taverna Common Activities -->
    <dependency>
      <groupId>org.apache.taverna.commonactivities</groupId>
      <artifactId>taverna-beanshell-activity</artifactId>
      <version>${taverna.commonactivities.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.commonactivities</groupId>
      <artifactId>taverna-external-tool-activity</artifactId>
      <version>${taverna.commonactivities.version}</version>
    </dependency>
    <!-- VERY broken :(
    <dependency>
      <groupId>org.apache.taverna.commonactivities</groupId>
      <artifactId>taverna-interaction-activity</artifactId>
      <version>${taverna.commonactivities.version}</version>
    </dependency>
    -->
    <dependency>
      <groupId>org.apache.taverna.commonactivities</groupId>
      <artifactId>taverna-rest-activity</artifactId>
      <version>${taverna.commonactivities.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.commonactivities</groupId>
      <artifactId>taverna-spreadsheet-import-activity</artifactId>
      <version>${taverna.commonactivities.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.commonactivities</groupId>
      <artifactId>taverna-wsdl-activity</artifactId>
      <version>${taverna.commonactivities.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.commonactivities</groupId>
      <artifactId>taverna-xpath-activity</artifactId>
      <version>${taverna.commonactivities.version}</version>
    </dependency>


    <!-- Taverna Commandline -->
    <dependency>
      <groupId>${project.parent.groupId}</groupId>
      <artifactId>taverna-commandline-common</artifactId>
      <version>${project.parent.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.parent.groupId}</groupId>
      <artifactId>taverna-commandline-launcher</artifactId>
      <version>${project.parent.version}</version>
    </dependency>

    <!-- Taverna Platform -->
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-capability-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-run-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-execution-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-execution-local</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-database-configuration-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-services-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>

    <!-- Taverna OSGi -->
    <dependency>
      <groupId>org.apache.taverna.osgi</groupId>
      <artifactId>taverna-configuration-impl</artifactId>
      <version>${taverna.osgi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.osgi</groupId>
      <artifactId>taverna-app-configuration-impl</artifactId>
      <version>${taverna.osgi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.osgi</groupId>
      <artifactId>taverna-download-impl</artifactId>
      <version>${taverna.osgi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.osgi</groupId>
      <artifactId>taverna-plugin-impl</artifactId>
      <version>${taverna.osgi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.osgi</groupId>
      <artifactId>taverna-update-impl</artifactId>
      <version>${taverna.osgi.version}</version>
    </dependency>

    <!-- Scufl2 -->
    <dependency>
      <groupId>org.apache.taverna.language</groupId>
      <artifactId>taverna-scufl2-wfbundle</artifactId>
      <version>${taverna.language.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.language</groupId>
      <artifactId>taverna-scufl2-t2flow</artifactId>
      <version>${taverna.language.version}</version>
    </dependency>
    <!-- Data bundle -->
    <dependency>
      <groupId>org.apache.taverna.language</groupId>
      <artifactId>taverna-databundle</artifactId>
      <version>${taverna.language.version}</version>
    </dependency>
    <!-- HTTP client needed by Data Bundle -->
    <!-- Appears unrequired dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient-osgi</artifactId>
      <version>4.2.5</version>
    </dependency-->
    <!-- Appears unrequired dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore-osgi</artifactId>
      <version>4.2.5</version>
    </dependency-->
    <!-- Jena bundle needed by jsonld-java-jena -->
    <!-- See https://github.com/stain/jena/tree/jena-bundle/jena-bundle -->
    <dependency>
      <groupId>org.apache.jena</groupId>
      <artifactId>jena-osgi</artifactId>
      <version>${jena.version}</version>
    </dependency>
    <!-- slf4j implementation -->
                <!-- The bundle "org.purl.wf4ever.robundle_0.3.1 " could not be resolved. Reason: Missing Constraint: Import-Package: org.slf4j; version="[1.7.0,2.0.0)"-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <!-- Appears unrequired: -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <!-- Taverna Security -->
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-credential-manager-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>

    <!-- Taverna Workflow Engine -->
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-workflowmodel-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-workflowmodel-extensions</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-reference-impl</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>taverna-reference-types</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>

    <!-- Taverna Provenance -->
    <!--dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>provenance-derby</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taverna.engine</groupId>
      <artifactId>provenance-mysql</artifactId>
      <version>${taverna.engine.version}</version>
    </dependency-->
                <!-- The bundle "org.purl.wf4ever.robundle_0.3.1 " could not be resolved. Reason: Missing Constraint: Import-Package: com.fasterxml.jackson.annotation; version="[2.3.0,3.0.0)"-->
    <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.3.0</version>
    </dependency>
    <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.3.0</version>
    </dependency>
    <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.3.0</version>
    </dependency>

    <dependency>
      <groupId>nu.validator.htmlparser</groupId>
      <artifactId>htmlparser</artifactId>
      <version>${htmlparser.version}</version>
    </dependency>

  </dependencies>

</project>
