<?xml version="1.0"?>
<!--

    ============LICENSE_START=======================================================
    org.onap.aai
    ================================================================================
    Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
    ================================================================================
    Licensed 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.
    ============LICENSE_END=========================================================

-->
<project
    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" xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.onap.aai.schema-service</groupId>
        <artifactId>schema-service</artifactId>
        <version>1.0.2-SNAPSHOT</version>
    </parent>
    <artifactId>aai-queries</artifactId>
    <name>aai-queries</name>
    <version>1.0.2-SNAPSHOT</version>
    <properties>
        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
        <!-- Start of Default ONAP Schema Properties -->
        <aai.wiki.link>https://wiki.onap.org/</aai.wiki.link>
        <gendoc.version>v15</gendoc.version>
        <aai.release>onap</aai.release>
        <schema.uri.base.path>/aai</schema.uri.base.path>
        <schema.xsd.maxoccurs>5000</schema.xsd.maxoccurs>
        <schema.configuration.location>N/A</schema.configuration.location>
        <schema.nodes.location>aai-schema/src/main/resources/${aai.release}/oxm</schema.nodes.location>
        <schema.edges.location>aai-schema/src/main/resources/${aai.release}/dbedgerules</schema.edges.location>
        <schema.version.depth.start>v10</schema.version.depth.start>
        <schema.version.related.link.start>v10</schema.version.related.link.start>
        <schema.version.app.root.start>v11</schema.version.app.root.start>
        <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
        <schema.version.edge.label.start>v12</schema.version.edge.label.start>
        <schema.version.api.default>v15</schema.version.api.default>
        <schema.version.list>v10,v11,v12,v13,v14,v15</schema.version.list>
        <!-- End of Default ONAP Schema Properties -->
    </properties>
    <profiles>
        <!-- Start of ONAP profile -->
        <profile>
            <id>onap</id>
            <properties>
                <aai.release>onap</aai.release>
                <schema.xsd.maxoccurs>unbounded</schema.xsd.maxoccurs>
                <schema.configuration.location>N/A</schema.configuration.location>
                <schema.nodes.location>aai-schema/src/main/resources/${aai.release}/oxm</schema.nodes.location>
                <schema.edges.location>aai-schema/src/main/resources/${aai.release}/dbedgerules</schema.edges.location>
                <schema.version.depth.start>v10</schema.version.depth.start>
                <schema.version.related.link.start>v10</schema.version.related.link.start>
                <schema.version.app.root.start>v11</schema.version.app.root.start>
                <schema.version.edge.label.start>v12</schema.version.edge.label.start>
                <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
                <schema.version.api.default>v15</schema.version.api.default>
                <schema.version.list>v10,v11,v12,v13,v14,v15</schema.version.list>
                <gendoc.version>v15</gendoc.version>
            </properties>
        </profile>
        <!-- End of ONAP profile -->
        <!-- Start of NARAD profile -->
        <profile>
            <id>narad</id>
            <properties>
                <aai.release>narad</aai.release>
                <schema.uri.base.path>/narad</schema.uri.base.path>
                <schema.xsd.maxoccurs>5000</schema.xsd.maxoccurs>
                <schema.configuration.location>N/A</schema.configuration.location>
                <schema.nodes.location>aai-schema/src/main/resources/${aai.release}/oxm</schema.nodes.location>
                <schema.edges.location>aai-schema/src/main/resources/${aai.release}/dbedgerules</schema.edges.location>
                <schema.version.depth.start>v1</schema.version.depth.start>
                <schema.version.related.link.start>v1</schema.version.related.link.start>
                <schema.version.app.root.start>v1</schema.version.app.root.start>
                <schema.version.namespace.change.start>v1</schema.version.namespace.change.start>
                <schema.version.edge.label.start>v1</schema.version.edge.label.start>
                <schema.version.api.default>v1</schema.version.api.default>
                <schema.version.list>v1,v2</schema.version.list>
                <gendoc.version>v2</gendoc.version>
            </properties>
        </profile>
        <!-- End of NARAD profile -->
    </profiles>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.onap.aai.aai-common</groupId>
            <artifactId>aai-core</artifactId>
            <version>1.4.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>java-hamcrest</artifactId>
            <version>2.0.0.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.10.19</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
            <version>1.5.20.RELEASE</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
            <resource>
                <directory>${project.basedir}/../aai-schema/src/main/resources/</directory>
                <includes>
                    <include>**/oxm/**/*.xml</include>
                    <include>**/dbedgerules/**/*.json</include>
                </includes>
                <targetPath>${project.basedir}/src/main/resources/schema</targetPath>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

    <!-- Start of ONAP Specific Repositories -->
    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <url>http://repo1.maven.org/maven2</url>
        </pluginRepository>
        <pluginRepository>
            <id>EvoSuite</id>
            <name>EvoSuite Repository</name>
            <url>http://www.evosuite.org/m2</url>
        </pluginRepository>
    </pluginRepositories>
    <!-- End of ONAP Specific Repositories -->
</project>
