<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.1" name="fcrepo-karaf">

  <repository>mvn:org.apache.activemq/activemq-karaf/5.10.0/xml/features</repository>

  <feature name="fcrepo-kernel-api" version="4.4.0" description="Fedora Repository Kernel API Module" resolver="(obr)" start-level="50">
    <details>Provides kernel API interfaces for the Fedora Commons repository framework.</details>

    <feature>spring</feature>

    <bundle dependency="true">mvn:javax.jcr/jcr/2.0</bundle>
    <bundle dependency="true">mvn:com.google.guava/guava/18.0</bundle>

    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/2.3.2</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/2.3.2</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/2.3.2</bundle>

    <bundle dependency="true">mvn:org.apache.jena/jena-osgi/2.13.0</bundle>

    <bundle dependency="true">mvn:org.apache.thrift/libthrift/0.9.2</bundle>
    <bundle dependency="true">mvn:commons-io/commons-io/2.4</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-csv/1.0</bundle>
    <bundle dependency="true">mvn:commons-codec/commons-codec/1.6</bundle>
    <bundle dependency="true">mvn:org.apache.commons/commons-lang3/3.3.2</bundle>
    <bundle dependency="true">mvn:com.github.jsonld-java/jsonld-java/0.5.1</bundle>

    <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.3.3</bundle>
    <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.3.2</bundle>

    <bundle dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>

    <bundle dependency="true">mvn:org.modeshape/modeshape-jcr-api/4.2.0.Final</bundle>

    <bundle>mvn:org.fcrepo/fcrepo-kernel-api/4.4.0</bundle>
  </feature>

  <feature name="fcrepo-metrics" version="4.4.0" description="Fedora Repository Metrics Module" resolver="(obr)" start-level="50">
    <details>Provides runtime metrics functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>

    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-core/3.1.0</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-graphite/3.1.0</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-servlets/3.1.0</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-healthchecks/3.1.0</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-json/3.1.0</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-jvm/3.1.0</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-annotation/3.1.0</bundle>
    <bundle dependency="true">mvn:io.dropwizard.metrics/metrics-jersey2/3.1.0</bundle>

    <!-- dropwizard requires version 2.5 of jackson -->
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/2.5.0</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/2.5.0</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/2.5.0</bundle>

    <bundle>mvn:org.fcrepo/fcrepo-metrics/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-mint" version="4.4.0" description="Fedora Repository URI Minter Module" resolver="(obr)" start-level="50">
    <details>Provides URI minting functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-metrics</feature>
    <feature version="4.4.0">fcrepo-kernel-api</feature>

    <bundle>mvn:org.fcrepo/fcrepo-mint/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-kernel-modeshape" version="4.4.0" description="Fedora Repository Kernel Module" resolver="(obr)" start-level="50">
    <details>Provides modeshape-based kernel functionality for the Fedora Commons repository framework.</details>

    <feature>transaction</feature>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-metrics</feature>
    <feature version="4.4.0">fcrepo-mint</feature>

    <bundle dependency="true">mvn:javax.annotation/javax.annotation-api/1.2</bundle>
    <bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/2.0.1</bundle>
    <bundle dependency="true">mvn:javax.security.jacc/javax.security.jacc-api/1.5</bundle>

    <bundle dependency="true">mvn:org.glassfish.jersey.core/jersey-common/2.13</bundle>
    <bundle dependency="true">mvn:org.glassfish.jersey.bundles.repackaged/jersey-guava/2.13</bundle>
    <bundle dependency="true">mvn:org.glassfish.hk2.external/javax.inject/2.3.0</bundle>
    <bundle dependency="true">mvn:org.glassfish.hk2/hk2-api/2.3.0</bundle>
    <bundle dependency="true">mvn:org.glassfish.hk2/hk2-utils/2.3.0</bundle>
    <bundle dependency="true">mvn:org.glassfish.hk2.external/aopalliance-repackaged/2.3.0</bundle>
    <bundle dependency="true">mvn:org.glassfish.hk2/osgi-resource-locator/1.0.1</bundle>

    <bundle dependency="true">mvn:com.datastax.cassandra/cassandra-driver-core/2.1.7.1</bundle>
    <bundle dependency="true">mvn:org.mongodb/mongo-java-driver/3.0.0</bundle>

    <bundle dependency="true">mvn:io.netty/netty-handler/4.0.29.Final</bundle>
    <bundle dependency="true">mvn:io.netty/netty-codec/4.0.29.Final</bundle>
    <bundle dependency="true">mvn:io.netty/netty-transport/4.0.29.Final</bundle>
    <bundle dependency="true">mvn:io.netty/netty-buffer/4.0.29.Final</bundle>
    <bundle dependency="true">mvn:io.netty/netty-common/4.0.29.Final</bundle>

    <bundle dependency="true">mvn:org.modeshape/modeshape-jcr/4.2.0.Final</bundle>
    <bundle dependency="true">mvn:org.modeshape/modeshape-schematic/4.2.0.Final</bundle>
    <bundle dependency="true">mvn:org.modeshape/modeshape-common/4.2.0.Final</bundle>

    <bundle dependency="true">mvn:org.infinispan/infinispan-core/6.0.2.Final</bundle>
    <bundle dependency="true">mvn:org.infinispan/infinispan-commons/6.0.2.Final</bundle>

    <bundle dependency="true">mvn:org.apache.tika/tika-core/1.6</bundle>
    <bundle dependency="true">mvn:joda-time/joda-time/1.6.2</bundle>
    <bundle dependency="true">mvn:org.mapdb/mapdb/1.0.6</bundle>
    <bundle dependency="true">mvn:org.jgroups/jgroups/3.5.0.Final</bundle>
    <bundle dependency="true">mvn:org.jboss.logging/jboss-logging/3.1.3.GA</bundle>
    <bundle dependency="true">wrap:mvn:org.jboss.marshalling/jboss-marshalling/1.4.10.Final</bundle>

    <bundle>mvn:org.fcrepo/fcrepo-kernel-modeshape/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-jms" version="4.4.0" description="Fedora Repository JMS Module" resolver="(obr)" start-level="50">
    <details>Provides JMS functionality for the Fedora Commons repository framework.</details>

    <feature>activemq</feature>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <!-- after fcrepo-1694 is merged, the dependency on fcrepo-kernel-modeshape can be removed -->
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>

    <bundle dependency="true">mvn:org.glassfish.hk2.external/javax.inject/2.3.0</bundle>

    <bundle>mvn:org.fcrepo/fcrepo-jms/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-serialization" version="4.4.0" description="Fedora Repository Serialization Module" resolver="(obr)" start-level="50">
    <details>Provides serialization functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>

    <bundle>mvn:org.fcrepo/fcrepo-serialization/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-auth-common" version="4.4.0" description="Fedora Repository Common Authentication Module" resolver="(obr)" start-level="50">
    <details>Provides common authentication functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>

    <bundle>mvn:org.fcrepo/fcrepo-auth-common/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-connector-file" version="4.4.0" description="Fedora Repository File Connector Module" resolver="(obr)" start-level="50">
    <details>Provides Binary File storage functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>

    <bundle>mvn:org.fcrepo/fcrepo-connector-file/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-http-commons" version="4.4.0" description="Fedora Repository Common HTTP Module" resolver="(obr)" start-level="50">
    <details>Provides common HTTP functionality for the Fedora Commons repository framework.</details>

    <feature>spring-web</feature>
    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-metrics</feature>
    <feature version="4.4.0">fcrepo-mint</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>
    <feature version="4.4.0">fcrepo-serialization</feature>

    <bundle dependency="true">mvn:org.glassfish.jersey.core/jersey-server/2.13</bundle>
    <bundle dependency="true">mvn:org.glassfish.jersey.core/jersey-client/2.13</bundle>
    <bundle dependency="true">mvn:org.glassfish.jersey.media/jersey-media-json-jackson/2.13</bundle>
    <bundle dependency="true">mvn:org.glassfish.jersey.media/jersey-media-multipart/2.13</bundle>

    <bundle dependency="true">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/2.3.2</bundle>
    <bundle dependency="true">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.3.2</bundle>

    <bundle dependency="true">mvn:org.jvnet.mimepull/mimepull/1.9.3</bundle>
    <bundle dependency="true">mvn:javax.validation/validation-api/1.1.0.Final</bundle>

    <bundle dependency="true">wrap:mvn:org.openrdf.sesame/sesame-rio-api/2.7.13</bundle>
    <bundle dependency="true">wrap:mvn:org.openrdf.sesame/sesame-rio-ntriples/2.7.13</bundle>
    <bundle dependency="true">wrap:mvn:org.openrdf.sesame/sesame-rio-rdfxml/2.7.13</bundle>
    <bundle dependency="true">wrap:mvn:org.openrdf.sesame/sesame-rio-turtle/2.7.13</bundle>
    <bundle dependency="true">wrap:mvn:org.openrdf.sesame/sesame-model/2.7.13</bundle>
    <bundle dependency="true">wrap:mvn:org.openrdf.sesame/sesame-util/2.7.13</bundle>

    <bundle>mvn:org.fcrepo/fcrepo-http-commons/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-http-api" version="4.4.0" description="Fedora Repository HTTP API Module" resolver="(obr)" start-level="50">
    <details>Provides HTTP API functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>
    <feature version="4.4.0">fcrepo-http-commons</feature>
    <feature version="4.4.0">fcrepo-serialization</feature>

    <bundle dependency="true">mvn:org.apache.velocity/velocity/1.7</bundle>
    <bundle dependency="true">wrap:mvn:org.apache.velocity/velocity-tools/2.0</bundle>
    <bundle dependency="true">mvn:commons-lang/commons-lang/2.4</bundle>
    <bundle dependency="true">mvn:commons-collections/commons-collections/3.2.1</bundle>

    <bundle>mvn:org.fcrepo/fcrepo-http-api/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-transform" version="4.4.0" description="Fedora Repository Transform Module" resolver="(obr)" start-level="50">
    <details>Provides tranformation functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-http-api</feature>
    <feature version="4.4.0">fcrepo-metrics</feature>

    <bundle dependency="true">mvn:javax.annotation/javax.annotation-api/1.2</bundle>
    <bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/2.0.1</bundle>

    <bundle dependency="true">mvn:org.glassfish.hk2/hk2-api/2.3.0</bundle>
    <bundle dependency="true">mvn:org.glassfish.hk2.external/javax.inject/2.3.0</bundle>

    <bundle dependency="true">wrap:mvn:org.apache.marmotta/ldpath-core/3.3.0</bundle>
    <bundle dependency="true">wrap:mvn:org.apache.marmotta/ldpath-backend-jena/3.3.0</bundle>
    <bundle dependency="true">wrap:mvn:org.apache.marmotta/ldpath-api/3.3.0</bundle>

    <!-- this anticipates that the fcrepo-transform module uses the new org.fcrepo.transform groupId, based on fcrepo-1670 -->
    <bundle>mvn:org.fcrepo/fcrepo-transform/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-auth-xacml" version="4.4.0" description="Fedora Repository XACML Authentication Module" resolver="(obr)" start-level="50">
    <details>Provides XACML Authentication functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>
    <feature version="4.4.0">fcrepo-auth-common</feature>
    <feature version="4.4.0">fcrepo-http-commons</feature>

    <!-- these artifacts are not available in maven central. In order to install this feature, the karaf configuration
         in etc/org.ops4j.pax.url.mvn.cfg will need to be updated to include the jboss repository:
         http://repository.jboss.org/nexus/content/groups/public/ -->
    <bundle dependency="true">wrap:mvn:org.jboss.security/jboss-xacml/2.0.9.Final</bundle>
    <bundle dependency="true">wrap:mvn:org.jboss.security/jboss-sunxacml/2.0.9.Final</bundle>

    <bundle>mvn:org.fcrepo/fcrepo-auth-roles-common/4.4.0</bundle>
    <bundle>mvn:org.fcrepo/fcrepo-module-auth-xacml/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-auth-rbacl" version="4.4.0" description="Fedora Repository Role Based Authentication Module" resolver="(obr)" start-level="50">
    <details>Provides Role Based Authentication functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>
    <feature version="4.4.0">fcrepo-auth-common</feature>
    <feature version="4.4.0">fcrepo-http-commons</feature>

    <bundle>mvn:org.fcrepo/fcrepo-auth-roles-common/4.4.0</bundle>
    <bundle>mvn:org.fcrepo/fcrepo-auth-roles-basic/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-auth-webac" version="4.4.0" description="Fedora Repository WebAC Based Authentication Module" resolver="(obr)" start-level="50">
    <details>Provides WebAC Based Authentication functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>
    <feature version="4.4.0">fcrepo-auth-common</feature>
    <feature version="4.4.0">fcrepo-http-commons</feature>

    <bundle>mvn:org.fcrepo/fcrepo-auth-roles-common/4.4.0</bundle>
    <bundle>mvn:org.fcrepo/fcrepo-module-auth-webac/4.4.0</bundle>
  </feature>


  <feature name="fcrepo-audit" version="4.4.0" description="Fedora Repository Audit Module" resolver="(obr)" start-level="50">
    <details>Provides Audit functionality for the Fedora Commons repository framework.</details>

    <feature version="4.4.0">fcrepo-kernel-api</feature>
    <feature version="4.4.0">fcrepo-kernel-modeshape</feature>

    <bundle>mvn:org.fcrepo/fcrepo-audit/4.4.0</bundle>
  </feature>

</features>
