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

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

    <parent>
        <groupId>org.onosproject</groupId>
        <artifactId>onos</artifactId>
        <version>1.11.0-b4</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.0-b4)</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>
