<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2014-present Open Networking Foundation
  ~
  ~ 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.14.0-rc2</version>
    </parent>

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

    <description>ONOS sample applications</description>

    <modules>
        <module>acl</module>
        <module>roadm</module>
        <module>faultmanagement</module>
        <module>fwd</module>
        <module>packet-stats</module>
        <module>mobility</module>
        <module>proxyarp</module>
        <module>sdnip</module>
        <module>optical-model</module>
        <module>newoptical</module>
        <module>metrics</module>
        <module>routing</module>
        <module>routing-api</module>
        <module>reactive-routing</module>
        <module>virtualbng</module>
        <module>bgprouter</module>
        <module>flowspec-api</module>
        <module>test</module>
        <module>segmentrouting</module>
        <module>kafka-integration</module>
        <module>pcep-api</module>
        <module>iptopology-api</module>
        <module>pce</module>
        <module>cip</module>
        <module>flowanalyzer</module>
        <module>vtn</module>
        <module>dhcp</module>
        <module>dhcprelay</module>
        <module>mfwd</module>
        <module>pim</module>
        <module>mlb</module>
        <module>pathpainter</module>
        <module>drivermatrix</module>
        <module>cpman</module>
        <module>events</module>
        <module>vrouter</module>
        <module>vpls</module>
        <module>openstacknode</module>
        <module>openstacknetworking</module>
        <module>openstacknetworkingui</module>
        <module>openstacktelemetry</module>
        <module>openstacktroubleshoot</module>
        <module>openstackvtap</module>
        <module>influxdbmetrics</module>
        <module>gangliametrics</module>
        <module>graphitemetrics</module>
        <module>scalablegateway</module>
        <module>yms</module>
        <module>tetopology</module>
        <module>rabbitmq</module>
        <module>learning-switch</module>
        <module>tenbi</module>
        <module>tetunnel</module>
        <module>actn-mdsc</module>
        <module>config</module>
        <module>configsync</module>
        <module>configsync-netconf</module>
        <module>ofagent</module>
        <module>intentsync</module>
        <module>mappingmanagement</module>
        <module>network-troubleshoot</module>
        <module>restconf</module>
        <module>yang</module>
        <module>openroadm</module>
        <module>netconf/client</module>
        <module>gluon</module>
        <module>evpnopenflow</module>
        <module>route-service</module>
        <module>evpn-route-service</module>
        <module>l3vpn</module>
        <module>cfm</module>
        <module>routeradvertisement</module>
        <module>simplefabric</module>
        <module>odtn</module>
        <module>mcast</module>
        <module>layout</module>
        <module>imr</module>
        <module>t3</module>
        <module>nodemetrics</module>
        <module>inbandtelemetry</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>
        </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>
