<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2014 Open Networking Laboratory
  ~
  ~ 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.
  --><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>org.onosproject</groupId>
        <artifactId>onos</artifactId>
        <version>1.5.1</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>onos-apps</artifactId>
    <packaging>pom</packaging>

    <description>ONOS sample applications</description>

    <modules>
        <module>aaa</module>
        <module>acl</module>
        <module>faultmanagement</module>
        <module>fwd</module>
        <module>mobility</module>
        <module>proxyarp</module>
        <module>sdnip</module>
        <module>optical</module>
        <module>metrics</module>
        <module>routing</module>
        <module>routing-api</module>
        <module>reactive-routing</module>
        <module>virtualbng</module>
        <module>bgprouter</module>
        <module>test</module>
        <module>segmentrouting</module>
        <module>cordfabric</module>
        <module>xos-integration</module>
        <module>pcep-api</module>
        <module>iptopology-api</module>
        <module>olt</module>
        <module>cip</module>
        <module>flowanalyzer</module>
        <module>vtn</module>
        <module>dhcp</module>
        <module>cordvtn</module>
        <module>mfwd</module>
        <module>igmp</module>
        <module>pim</module>
        <module>mlb</module>
        <module>pathpainter</module>
        <module>drivermatrix</module>
        <module>cpman</module>
        <module>events</module>
        <module>vrouter</module>
        <module>cordmcast</module>
        <module>vpls</module>
        <module>openstacknode</module>
        <module>openstacknetworking</module>
        <module>openstackinterface</module>
  </modules>

    <properties>
        <web.context>default</web.context>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.onosproject</groupId>
            <artifactId>onos-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.onosproject</groupId>
            <artifactId>onlab-osgi</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.scr.annotations</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-scr-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.onosproject</groupId>
                <artifactId>onos-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
