<!--

     Copyright 2005-2014 Red Hat, Inc.

     Red Hat 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>io.fabric8</groupId>
        <artifactId>fabric-project</artifactId>
        <version>1.2.0.Beta2</version>
    </parent>

    <artifactId>fabric-agent</artifactId>
    <packaging>bundle</packaging>

    <name>Fabric8 :: Provisioning Agent</name>

    <properties>
        <fuse.osgi.import>
            javax.net.ssl;
            javax.xml.namespace;
            javax.xml.parsers;
            javax.xml.transform;
            javax.xml.transform.dom;
            javax.xml.transform.stream;
            javax.xml.validation;
            javax.xml.xpath;
            org.apache.commons.logging;
            io.fabric8.api;
            org.osgi.framework;
            org.osgi.framework.wiring;
            org.osgi.resource;
            org.osgi.service.cm;
            org.osgi.service.log;
            org.osgi.service.url;
            org.osgi.util.tracker;
            org.slf4j;
            org.w3c.dom;
            org.xml.sax;
            -split-package:=merge-first,
            org.apache.felix.framework.monitor;
            org.osgi.service.event;
            resolution:=optional;
            -split-package:=merge-first,
            !*
        </fuse.osgi.import>
        <fuse.osgi.export>
            io.fabric8.agent.download;
            io.fabric8.agent.mvn;
        </fuse.osgi.export>
        <fuse.osgi.private.pkg>
            aQute.bnd.annotation;
            aQute.bnd.annotation.component;
            aQute.bnd.annotation.metatype;
            aQute.bnd.build;
            aQute.bnd.header;
            aQute.bnd.help;
            aQute.bnd.make;
            aQute.bnd.make.component;
            aQute.bnd.make.metatype;
            aQute.bnd.maven;
            aQute.bnd.osgi;
            aQute.bnd.osgi.eclipse;
            aQute.bnd.service;
            aQute.bnd.service.action;
            aQute.bnd.settings;
            aQute.bnd.version;
            aQute.lib.base64;
            aQute.lib.collections;
            aQute.lib.deployer;
            aQute.lib.hex;
            aQute.lib.io;
            aQute.lib.spring;
            aQute.lib.tag;
            aQute.libg.command;
            aQute.libg.cryptography;
            aQute.libg.generics;
            aQute.libg.header;
            aQute.libg.qtokens;
            aQute.libg.reporter;
            aQute.libg.sed;
            aQute.libg.tarjan;
            aQute.libg.tuple;
            aQute.libg.version,
            aQute.service.reporter,
            org.apache.aries.util;
            org.apache.aries.util.internal;
            org.apache.felix.bundleplugin;
            org.apache.felix.resolver;
            org.apache.felix.utils.collections;
            org.apache.felix.utils.properties;
            org.apache.felix.utils.version;
            org.apache.karaf.features;
            org.apache.karaf.features.internal;
            org.apache.karaf.util.collections;
            org.apache.maven.archiver;
            org.apache.maven.artifact;
            org.apache.maven.artifact.deployer;
            org.apache.maven.artifact.factory;
            org.apache.maven.artifact.handler;
            org.apache.maven.artifact.handler.manager;
            org.apache.maven.artifact.installer;
            org.apache.maven.artifact.manager;
            org.apache.maven.artifact.metadata;
            org.apache.maven.artifact.repository;
            org.apache.maven.artifact.repository.layout;
            org.apache.maven.artifact.repository.metadata;
            org.apache.maven.artifact.repository.metadata.io.xpp3;
            org.apache.maven.artifact.resolver;
            org.apache.maven.artifact.resolver.filter;
            org.apache.maven.artifact.transform;
            org.apache.maven.artifact.versioning;
            org.apache.maven.model;
            org.apache.maven.model.building;
            org.apache.maven.model.composition;
            org.apache.maven.model.inheritance;
            org.apache.maven.model.interpolation;
            org.apache.maven.model.io;
            org.apache.maven.model.io.xpp3;
            org.apache.maven.model.locator;
            org.apache.maven.model.management;
            org.apache.maven.model.merge;
            org.apache.maven.model.normalization;
            org.apache.maven.model.path;
            org.apache.maven.model.plugin;
            org.apache.maven.model.profile;
            org.apache.maven.model.profile.activation;
            org.apache.maven.model.resolution;
            org.apache.maven.model.superpom;
            org.apache.maven.model.validation;
            org.apache.maven.plugin;
            org.apache.maven.plugin.logging;
            org.apache.maven.plugin.registry;
            org.apache.maven.profiles;
            org.apache.maven.profiles.activation;
            org.apache.maven.profiles.io.xpp3;
            org.apache.maven.project;
            org.apache.maven.project.artifact;
            org.apache.maven.project.inheritance;
            org.apache.maven.project.injection;
            org.apache.maven.project.interpolation;
            org.apache.maven.project.overlay;
            org.apache.maven.project.path;
            org.apache.maven.project.validation;
            org.apache.maven.repository.internal;
            org.apache.maven.settings;
            org.apache.maven.settings.building;
            org.apache.maven.settings.crypto;
            org.apache.maven.settings.io;
            org.apache.maven.settings.io.xpp3;
            org.apache.maven.settings.merge;
            org.apache.maven.settings.validation;
            org.apache.maven.shared.dependency.tree;
            org.apache.maven.shared.dependency.tree.filter;
            org.apache.maven.shared.dependency.tree.traversal;
            org.apache.maven.shared.osgi;
            org.apache.maven.wagon;
            org.apache.maven.wagon.authentication;
            org.apache.maven.wagon.authorization;
            org.apache.maven.wagon.events;
            org.apache.maven.wagon.observers;
            org.apache.maven.wagon.providers.file;
            org.apache.maven.wagon.providers.http;
            org.apache.maven.wagon.proxy;
            org.apache.maven.wagon.repository;
            org.apache.maven.wagon.resource;
            org.apache.maven.wagon.shared.http;
            org.codehaus.plexus;
            org.codehaus.plexus.archiver;
            org.codehaus.plexus.archiver.jar;
            org.codehaus.plexus.archiver.manager;
            org.codehaus.plexus.archiver.util;
            org.codehaus.plexus.archiver.zip;
            org.codehaus.plexus.classworlds;
            org.codehaus.plexus.classworlds.realm;
            org.codehaus.plexus.classworlds.strategy;
            org.codehaus.plexus.component;
            org.codehaus.plexus.component.annotations;
            org.codehaus.plexus.component.composition;
            org.codehaus.plexus.component.configurator;
            org.codehaus.plexus.component.configurator.converters;
            org.codehaus.plexus.component.configurator.converters.basic;
            org.codehaus.plexus.component.configurator.converters.composite;
            org.codehaus.plexus.component.configurator.converters.lookup;
            org.codehaus.plexus.component.configurator.converters.special;
            org.codehaus.plexus.component.configurator.expression;
            org.codehaus.plexus.component.discovery;
            org.codehaus.plexus.component.factory;
            org.codehaus.plexus.component.factory.java;
            org.codehaus.plexus.component.manager;
            org.codehaus.plexus.component.repository;
            org.codehaus.plexus.component.repository.exception;
            org.codehaus.plexus.component.repository.io;
            org.codehaus.plexus.configuration;
            org.codehaus.plexus.configuration.xml;
            org.codehaus.plexus.context;
            org.codehaus.plexus.interpolation;
            org.codehaus.plexus.interpolation.os;
            org.codehaus.plexus.interpolation.reflection;
            org.codehaus.plexus.interpolation.util;
            org.codehaus.plexus.lifecycle;
            org.codehaus.plexus.lifecycle.phase;
            org.codehaus.plexus.logging;
            org.codehaus.plexus.logging.console;
            org.codehaus.plexus.personality.plexus.lifecycle.phase;
            org.codehaus.plexus.util;
            org.codehaus.plexus.util.cli;
            org.codehaus.plexus.util.cli.shell;
            org.codehaus.plexus.util.dag;
            org.codehaus.plexus.util.interpolation;
            org.codehaus.plexus.util.introspection;
            org.codehaus.plexus.util.io;
            org.codehaus.plexus.util.reflection;
            org.codehaus.plexus.util.xml;
            org.codehaus.plexus.util.xml.pull;           
            io.fabric8.agent;
            io.fabric8.agent.repository;
            io.fabric8.agent.resolver;
            io.fabric8.agent.sort;
            io.fabric8.agent.utils;
            io.fabric8.common.util;
            io.fabric8.fab;
            io.fabric8.fab.osgi;
            io.fabric8.fab.osgi.bnd;
            io.fabric8.fab.osgi.internal;
            io.fabric8.fab.osgi.util;
            io.fabric8.maven.impl;
            io.fabric8.utils;
            io.fabric8.utils.features;
            io.fabric8.utils.json;
            org.ops4j.lang;
            org.ops4j.monitors;
            org.ops4j.monitors.exception;
            org.ops4j.net;
            org.ops4j.pax.swissbox.property;
            org.ops4j.pax.url.commons.handler;
            org.ops4j.util.property;
            org.osgi.service.resolver;
            org.osgi.service.repository;
            org.sonatype.aether;
            org.sonatype.aether.artifact;
            org.sonatype.aether.collection;
            org.sonatype.aether.connector.wagon;
            org.sonatype.aether.deployment;
            org.sonatype.aether.graph;
            org.sonatype.aether.impl;
            org.sonatype.aether.impl.internal;
            org.sonatype.aether.installation;
            org.sonatype.aether.metadata;
            org.sonatype.aether.repository;
            org.sonatype.aether.resolution;
            org.sonatype.aether.spi.connector;
            org.sonatype.aether.spi.io;
            org.sonatype.aether.spi.localrepo;
            org.sonatype.aether.spi.locator;
            org.sonatype.aether.spi.log;
            org.sonatype.aether.transfer;
            org.sonatype.aether.util;
            org.sonatype.aether.util.artifact;
            org.sonatype.aether.util.concurrency;
            org.sonatype.aether.util.filter;
            org.sonatype.aether.util.graph;
            org.sonatype.aether.util.graph.manager;
            org.sonatype.aether.util.graph.selector;
            org.sonatype.aether.util.graph.transformer;
            org.sonatype.aether.util.graph.traverser;
            org.sonatype.aether.util.layout;
            org.sonatype.aether.util.listener;
            org.sonatype.aether.util.metadata;
            org.sonatype.aether.util.repository;
            org.sonatype.aether.util.version;
            org.sonatype.aether.version;
            org.sonatype.plexus.components.cipher;
            org.sonatype.plexus.components.sec.dispatcher;
            -split-package:=merge-first
        </fuse.osgi.private.pkg>
        <fuse.osgi.activator>
            io.fabric8.agent.Activator
        </fuse.osgi.activator>
    </properties>

    <dependencies>

        <dependency>
          <groupId>io.fabric8</groupId>
          <artifactId>fabric-api</artifactId>
        </dependency>

        <dependency>
           <groupId>org.apache.felix</groupId>
           <artifactId>org.apache.felix.resolver</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>io.fabric8</groupId>
            <artifactId>fabric-core</artifactId>
        </dependency>

        <dependency>
            <groupId>io.fabric8</groupId>
            <artifactId>fabric-utils</artifactId>
        </dependency>

        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.enterprise</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.compendium</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.utils</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.karaf.features</groupId>
            <artifactId>org.apache.karaf.features.core</artifactId>
            <scope>provided</scope>
        </dependency>

         <dependency>
            <groupId>org.apache.karaf</groupId>
            <artifactId>org.apache.karaf.util</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.framework</artifactId>
        </dependency>

        <dependency>
            <groupId>io.fabric8</groupId>
            <artifactId>fabric-zookeeper</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>biz.aQute.bnd</groupId>
            <artifactId>bndlib</artifactId>
            <version>${bndlib-version}</version>
        </dependency>

        <dependency>
            <groupId>io.fabric8.fab</groupId>
            <artifactId>fab-osgi</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>io.fabric8.fab</groupId>
            <artifactId>fab-core</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>io.fabric8</groupId>
            <artifactId>common-util</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.ops4j.pax.url</groupId>
            <artifactId>pax-url-commons</artifactId>
            <version>${pax.url.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.ops4j.base</groupId>
            <artifactId>ops4j-base-net</artifactId>
            <version>${ops4j-base.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.ops4j.pax.swissbox</groupId>
            <artifactId>pax-swissbox-optional-jcl</artifactId>
            <version>${ops4j-pax-swissbox-optional-jcl.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.ops4j.pax.url</groupId>
            <artifactId>pax-url-wrap</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.karaf</groupId>
            <artifactId>apache-karaf</artifactId>
            <type>zip</type>
            <version>${karaf-version}</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>xerces</groupId>
                    <artifactId>xercesImpl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.servicemix.specs</groupId>
                    <artifactId>org.apache.servicemix.specs.jaxp-api-1.4</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.karaf.assemblies.features</groupId>
            <artifactId>standard</artifactId>
            <type>xml</type>
            <classifier>features</classifier>
            <version>${karaf-version}</version>
            <scope>test</scope>
        </dependency>

        <!-- test server -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <systemPropertyVariables>
                        <karaf-version>${karaf-version}</karaf-version>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
