<?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.9.1-SNAPSHOT</version>
    </parent>
    <artifactId>aai-queries</artifactId>
    <name>aai-queries</name>
    <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>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.onap.aai.aai-common</groupId>
            <artifactId>aai-core</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>java-hamcrest</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.moxy</artifactId>
            <version>3.0.0</version>
        </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>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>
