<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright © 2017 Brocade Communications Systems and others. All rights reserved.

This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html
-->
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.opendaylight.odlparent</groupId>
        <artifactId>bundle-parent</artifactId>
        <version>3.1.0</version>
        <relativePath/>
    </parent>

    <groupId>org.opendaylight.aaa</groupId>
    <artifactId>aaa-shiro</artifactId>
    <version>0.7.2</version>
    <name>ODL :: aaa :: ${project.artifactId}</name>
    <packaging>bundle</packaging>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>aaa-parent</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>aaa-artifacts</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>



    <dependencies>

        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>aaa-shiro-api</artifactId>
        </dependency>

        <!-- jersey client for moon authN -->
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-client</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- OAuth2 dependencies for moon -->
        <dependency>
            <groupId>org.apache.oltu.oauth2</groupId>
            <artifactId>org.apache.oltu.oauth2.authzserver</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.oltu.oauth2</groupId>
            <artifactId>org.apache.oltu.oauth2.resourceserver</artifactId>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.aaa</groupId>
            <artifactId>aaa-cert</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-web</artifactId>
        </dependency>
        <!-- Enforce newer commons-beanutils and commons-collections versions -->
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.3</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.2</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>

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

        <!--Yang Binding -->
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>sal-binding-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>sal-common-util</artifactId>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.aaa</groupId>
            <artifactId>aaa-filterchain</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.compendium</artifactId>
        </dependency>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
        </dependency>

        <!-- JSON JAXB Stuff -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-servlets</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.immutables</groupId>
            <artifactId>value</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-osgi</artifactId>
            <!-- TODO: remove once this version is propagated to odlparent -->
            <version>1.5.0</version>
        </dependency>

        <!-- Testing Dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
            <version>1.7.21</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-servlet</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey.jersey-test-framework</groupId>
            <artifactId>jersey-test-framework-grizzly2</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-servlet-tester</artifactId>
            <version>7.0.0.pre5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.truth</groupId>
            <artifactId>truth</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
                        <Export-Package>
                            org.opendaylight.aaa,
                            org.opendaylight.aaa.shiro,
                            org.opendaylight.aaa.shiro.idm,
                            org.opendaylight.aaa.shiro.tokenauthrealm,
                            org.opendaylight.aaa.shiro.tokenauthrealm.auth,
                            org.opendaylight.aaa.shiro,
                            org.opendaylight.aaa.shiro.filters,
                            org.opendaylight.aaa.shiro.realm,
                            <!-- TODO: This is temporary until we can find a better spot for GsonProvider. -->
                            org.opendaylight.aaa.provider,
                            org.opendaylight.aaa.shiro.web.env,
                            org.opendaylight.aaa.datastore.h2.*,
                        </Export-Package>
                        <Import-Package>
                            com.google.*,
                            com.sun.jersey.spi.container.servlet,
                            javax.servlet.http,
                            javax.servlet.*,
                            org.apache.oltu.oauth2.*,
                            javax.ws.rs.ext,
                            javax.ws.rs,javax.ws.rs.core,
                            javax.xml.bind.annotation,
                            org.opendaylight.aaa.*,
                            org.opendaylight.aaa.api.*,
                            org.opendaylight.aaa.filterchain.filters,
                            org.xml.sax,
                            org.apache.commons.text,
                            org.apache.felix.dm,
                            org.apache.shiro.web.env,org.apache.shiro.authc,
                            org.eclipse.jetty.servlets;version="[8.1,10)",
                            org.opendaylight.*,
                            org.osgi.framework,
                            org.osgi.util.tracker,
                            org.osgi.service.cm.*,
                            org.osgi.service.http.*,
                            org.apache.shiro.web.*,
                            org.apache.shiro.*,
                            org.slf4j.*,
                            net.sf.ehcache.*,
                            org.jolokia.osgi.security,
                            org.osgi.service.blueprint.container,
                            !javax.naming,
                            !javax.naming.spi,
                            !javax.servlet,
                            !javax.servlet.http,
                            !javax.tools,
                            !javax.transaction.xa,
                            !org.apache.lucene.analysis,
                            !org.apache.lucene.analysis.standard,
                            !org.apache.lucene.document,
                            !org.apache.lucene.index,
                            !org.apache.lucene.queryParser,
                            !org.apache.lucene.search,
                            !org.apache.lucene.store,
                            !org.apache.lucene.util,
                            !com.vividsolutions.jts.geom,
                            !com.vividsolutions.jts.io,
                            !org.osgi.service.jdbc,
                            !javax.annotation,
                            !javax.naming
                        </Import-Package>
                        <Embed-Dependency>h2;scope=compile|runtime;inline=true</Embed-Dependency>
                        <Web-ContextPath>/auth</Web-ContextPath>
                        <Bundle-Activator>org.opendaylight.aaa.AAAShiroActivator</Bundle-Activator>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <!-- attach idmtool as an artifact -->
                                <artifact>
                                    <file>${project.build.directory}/classes/idmtool.py</file>
                                    <type>py</type>
                                    <classifier>idmtool</classifier>
                                </artifact>
                                <!-- attach aaa-app-config.xml as an artifact -->
                                <artifact>
                                    <file>${project.build.directory}/classes/initial/aaa-app-config.xml</file>
                                    <type>xml</type>
                                    <classifier>aaa-app-config</classifier>
                                </artifact>
                                <artifact>
                                    <file>${project.build.directory}/classes/initial/aaa-datastore-config.xml</file>
                                    <type>xml</type>
                                    <classifier>aaa-datastore-config</classifier>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
