<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2015-present 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>

    <prerequisites>
        <maven>3.0.0</maven>
    </prerequisites>

    <parent>
        <groupId>org.onosproject</groupId>
        <artifactId>onos</artifactId>
        <version>1.11-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

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

    <description>ONOS Java API documentation</description>

    <modules>
        <module>..</module>
    </modules>

    <url>http://onosproject.org/</url>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <show>package</show>
                    <docfilessubdirs>true</docfilessubdirs>
                    <doctitle>ONOS Java API (1.11-SNAPSHOT)</doctitle>
                    <excludePackageNames>@internal-excludes</excludePackageNames>
                    <sourceFileExcludes>
                        <sourceFileExclude>**/generated-sources/**</sourceFileExclude>
                    </sourceFileExcludes>

                    <groups>
                        <group>
                            <title>Network Model &amp; Services</title>
                            <packages>@internal-apis</packages>
                        </group>
                        <group>
                            <title>Incubator for Network Model &amp; Services
                            </title>
                            <packages>@internal-incubator-apis</packages>
                        </group>
                        <group>
                            <title>Core Subsystems</title>
                            <packages>@internal-core</packages>
                        </group>
                        <group>
                            <title>Distributed Stores</title>
                            <packages>@internal-stores</packages>
                        </group>
                        <group>
                            <title>Incubator for Core Subsystems &amp; Distributed Stores
                            </title>
                            <packages>@internal-incubator</packages>
                        </group>
                        <group>
                            <title>Utilities</title>
                            <packages>@utils</packages>
                        </group>
                        <group>
                            <title>GUI, REST &amp; Command-Line</title>
                            <packages>@internal-gui-rest-cli</packages>
                        </group>
                        <group>
                            <title>Builtin Applications</title>
                            <packages>@internal-apps</packages>
                        </group>
                        <group>
                            <title>Test Instrumentation &amp; Applications
                            </title>
                            <packages>@internal-test-apps</packages>
                        </group>
                        <group>
                            <title>OpenFlow Providers &amp; Controller</title>
                            <packages>@internal-openflow</packages>
                        </group>
                        <group>
                            <title>NetConf Protocol &amp; Providers</title>
                            <packages>@internal-netconf</packages>
                        </group>
                        <group>
                            <title>OVSDB Protocol &amp; Providers</title>
                            <packages>@internal-ovsdb</packages>
                        </group>
                        <group>
                            <title>PCEP Protocol &amp; Providers</title>
                            <packages>@internal-pcep</packages>
                        </group>
                        <group>
                            <title>BGP-LS Protocol &amp; Providers</title>
                            <packages>@internal-bgpls</packages>
                        </group>
                        <group>
                            <title>OSPF Protocol &amp; Providers</title>
                            <packages>@internal-ospf</packages>
                        </group>
                        <group>
                            <title>ISIS Protocol &amp; Providers</title>
                            <packages>@internal-isis</packages>
                        </group>
                        <group>
                            <title>LISP Protocol &amp; Providers</title>
                            <packages>@internal-lisp</packages>
                        </group>
                        <group>
                            <title>SNMP Protocol &amp; Providers</title>
                            <packages>@internal-snmp</packages>
                        </group>
                        <group>
                            <title>REST Protocol &amp; Providers</title>
                            <packages>@internal-restsb</packages>
                        </group>
                        <group>
                            <title>Other Providers</title>
                            <packages>@internal-providers</packages>
                        </group>
                        <group>
                            <title>Device Drivers</title>
                            <packages>@internal-drivers</packages>
                        </group>
                    </groups>
                    <tags>
                        <tag>
                            <name>onos.rsModel</name>
                            <placement>m</placement>
                            <head>Json model for REST api:</head>
                        </tag>
                    </tags>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
