<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You 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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.unomi</groupId>
        <artifactId>unomi-root</artifactId>
        <version>1.5.1</version>
    </parent>

    <artifactId>unomi-rest</artifactId>
    <name>Apache Unomi :: REST API</name>
    <description>Apache Unomi Context Server REST API</description>
    <packaging>bundle</packaging>

    <pluginRepositories>
        <pluginRepository>
            <id>miredot</id>
            <name>Miredot Releases</name>
            <url>https://secure-nexus.miredot.com/content/repositories/miredot/</url>
        </pluginRepository>
    </pluginRepositories>

    <dependencies>
        <dependency>
            <groupId>org.apache.unomi</groupId>
            <artifactId>unomi-api</artifactId>
            <version>${project.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-rs-security-cors</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.jaxrs</groupId>
            <artifactId>jackson-jaxrs-json-provider</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.unomi</groupId>
            <artifactId>unomi-persistence-spi</artifactId>
            <version>${project.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <!--<dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-core</artifactId>
            <scope>compile</scope>
            <version>1.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.ws.rs</groupId>
                    <artifactId>jsr311-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>-->
    </dependencies>

    <profiles>
        <profile>
            <id>rest-doc-jdk8</id>
            <activation>
                <os>
                    <family>!windows</family>
                </os>
                <jdk>
                    [1.6,1.10)
                </jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.qmino</groupId>
                        <artifactId>miredot-plugin</artifactId>
                        <version>2.1.2</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>restdoc</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <licence>cHJvamVjdHxvcmcuYXBhY2hlLnVub21pLnVub21pLXJlc3R8MjAyMC0wMi0yOHx0cnVlfC0xI01Dd0NGQ01pMDRxTFZ6LzJ4SG82MjAranZITnRLYWovQWhRcG4vS01jdTU2NXpOWkRpUzcwQXMrdC96bVdRPT0=</licence>
                            <output>
                                <title>Documentation for Apache Unomi's RESTful API ${project.version}</title>
                                <html>
                                    <!-- optional html configuration -->
                                    <location>${project.parent.build.directory}/staging/rest-api-doc</location>
                                </html>
                                <raml />
                            </output>
                            <restModel>
                                <restFramework>
                                    <name>jax-rs</name>
                                    <cxfServiceConfig>
                                        <item>src/main/resources/OSGI-INF/blueprint/blueprint.xml</item>
                                    </cxfServiceConfig>
                                </restFramework>
                                <httpStatusCodes>
                                    <httpStatusCode>
                                        <httpCode>200</httpCode>
                                        <document>always</document>
                                        <defaultMessage>The service call has completed successfully.</defaultMessage>
                                    </httpStatusCode>
                                    <httpStatusCode>
                                        <httpCode>401</httpCode>
                                        <document>explicit: com.acme.exceptions.AuthorizationException</document>
                                        <defaultMessage>The user is not authorized to use this service.</defaultMessage>
                                    </httpStatusCode>
                                    <httpStatusCode>
                                        <httpCode>412</httpCode>
                                        <document>put,post</document>
                                        <defaultMessage>Invalid JSON/XML input.</defaultMessage>
                                    </httpStatusCode>
                                    <httpStatusCode>
                                        <httpCode>500</httpCode>
                                        <document>always</document>
                                        <defaultMessage>The service call has not succeeded.</defaultMessage>
                                        <sticky>true</sticky> <!-- Document always, even if there is an @statuscode tag -->
                                    </httpStatusCode>
                                </httpStatusCodes>
                                <externalSources>
                                    <sourceDirs>
                                        <sourceDir>../api/src/main/java</sourceDir>
                                    </sourceDirs>
                                </externalSources>
                            </restModel>
                            <analysis>
                                <checks>
                                    <JAVADOC_MISSING_SUMMARY>warn</JAVADOC_MISSING_SUMMARY>
                                    <JAVADOC_MISSING_INTERFACEDOCUMENTATION>warn</JAVADOC_MISSING_INTERFACEDOCUMENTATION>
                                    <JAVADOC_MISSING_PARAMETER_DOCUMENTATION>warn</JAVADOC_MISSING_PARAMETER_DOCUMENTATION>
                                    <JAVADOC_MISSING_EXCEPTION_DOCUMENTATION>warn</JAVADOC_MISSING_EXCEPTION_DOCUMENTATION>
                                    <JAVADOC_MISSING_AUTHORS>ignore</JAVADOC_MISSING_AUTHORS>
                                    <JAXRS_MISSING_PRODUCES>warn</JAXRS_MISSING_PRODUCES>
                                    <JAXRS_MISSING_CONSUMES>warn</JAXRS_MISSING_CONSUMES>
                                    <JAXRS_MISSING_PATH_PARAM>warn</JAXRS_MISSING_PATH_PARAM>
                                    <REST_UNMAPPED_EXCEPTION>warn</REST_UNMAPPED_EXCEPTION>
                                    <UNREACHABLE_RESOURCE>warn</UNREACHABLE_RESOURCE>
                                    <PARTIAL_RESOURCE_OVERLAP>warn</PARTIAL_RESOURCE_OVERLAP>
                                </checks>
                            </analysis>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <tags>
                                <tag>
                                    <name>summary</name>
                                    <placement>a</placement>
                                    <head>MireDot summary (resource title)</head>
                                </tag>
                                <tag>
                                    <name>title</name>
                                    <placement>a</placement>
                                    <head>MireDot title (resource title)</head>
                                </tag>
                                <tag>
                                    <name>servicetag</name>
                                    <placement>a</placement>
                                    <head>MireDot resource tag (label)</head>
                                </tag>
                                <tag>
                                    <name>statuscode</name>
                                    <placement>a</placement>
                                    <head>MireDot resource status code(s)</head>
                                </tag>
                                <tag>
                                    <name>responseheader</name>
                                    <placement>a</placement>
                                    <head>MireDot response header</head>
                                </tag>
                            </tags>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>rest-doc-jdk10</id>
            <activation>
                <os>
                    <family>!windows</family>
                </os>
                <jdk>
                    1.10
                </jdk>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.qmino</groupId>
                        <artifactId>miredot-plugin</artifactId>
                        <version>2.2.1-Java10</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>restdoc</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <licence>cHJvamVjdHxvcmcuYXBhY2hlLnVub21pLnVub21pLXJlc3R8MjAyMC0wMi0yOHx0cnVlfC0xI01Dd0NGQ01pMDRxTFZ6LzJ4SG82MjAranZITnRLYWovQWhRcG4vS01jdTU2NXpOWkRpUzcwQXMrdC96bVdRPT0=</licence>
                            <output>
                                <title>Documentation for Apache Unomi's RESTful API ${project.version}</title>
                                <html>
                                    <!-- optional html configuration -->
                                    <location>${project.parent.build.directory}/staging/rest-api-doc</location>
                                </html>
                                <raml />
                            </output>
                            <restModel>
                                <restFramework>
                                    <name>jax-rs</name>
                                    <cxfServiceConfig>
                                        <item>src/main/resources/OSGI-INF/blueprint/blueprint.xml</item>
                                    </cxfServiceConfig>
                                </restFramework>
                                <httpStatusCodes>
                                    <httpStatusCode>
                                        <httpCode>200</httpCode>
                                        <document>always</document>
                                        <defaultMessage>The service call has completed successfully.</defaultMessage>
                                    </httpStatusCode>
                                    <httpStatusCode>
                                        <httpCode>401</httpCode>
                                        <document>explicit: com.acme.exceptions.AuthorizationException</document>
                                        <defaultMessage>The user is not authorized to use this service.</defaultMessage>
                                    </httpStatusCode>
                                    <httpStatusCode>
                                        <httpCode>412</httpCode>
                                        <document>put,post</document>
                                        <defaultMessage>Invalid JSON/XML input.</defaultMessage>
                                    </httpStatusCode>
                                    <httpStatusCode>
                                        <httpCode>500</httpCode>
                                        <document>always</document>
                                        <defaultMessage>The service call has not succeeded.</defaultMessage>
                                        <sticky>true</sticky> <!-- Document always, even if there is an @statuscode tag -->
                                    </httpStatusCode>
                                </httpStatusCodes>
                                <externalSources>
                                    <sourceDirs>
                                        <sourceDir>../api/src/main/java</sourceDir>
                                    </sourceDirs>
                                </externalSources>
                            </restModel>
                            <analysis>
                                <checks>
                                    <JAVADOC_MISSING_SUMMARY>warn</JAVADOC_MISSING_SUMMARY>
                                    <JAVADOC_MISSING_INTERFACEDOCUMENTATION>warn</JAVADOC_MISSING_INTERFACEDOCUMENTATION>
                                    <JAVADOC_MISSING_PARAMETER_DOCUMENTATION>warn</JAVADOC_MISSING_PARAMETER_DOCUMENTATION>
                                    <JAVADOC_MISSING_EXCEPTION_DOCUMENTATION>warn</JAVADOC_MISSING_EXCEPTION_DOCUMENTATION>
                                    <JAVADOC_MISSING_AUTHORS>ignore</JAVADOC_MISSING_AUTHORS>
                                    <JAXRS_MISSING_PRODUCES>warn</JAXRS_MISSING_PRODUCES>
                                    <JAXRS_MISSING_CONSUMES>warn</JAXRS_MISSING_CONSUMES>
                                    <JAXRS_MISSING_PATH_PARAM>warn</JAXRS_MISSING_PATH_PARAM>
                                    <REST_UNMAPPED_EXCEPTION>warn</REST_UNMAPPED_EXCEPTION>
                                    <UNREACHABLE_RESOURCE>warn</UNREACHABLE_RESOURCE>
                                    <PARTIAL_RESOURCE_OVERLAP>warn</PARTIAL_RESOURCE_OVERLAP>
                                </checks>
                            </analysis>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <tags>
                                <tag>
                                    <name>summary</name>
                                    <placement>a</placement>
                                    <head>MireDot summary (resource title)</head>
                                </tag>
                                <tag>
                                    <name>title</name>
                                    <placement>a</placement>
                                    <head>MireDot title (resource title)</head>
                                </tag>
                                <tag>
                                    <name>servicetag</name>
                                    <placement>a</placement>
                                    <head>MireDot resource tag (label)</head>
                                </tag>
                                <tag>
                                    <name>statuscode</name>
                                    <placement>a</placement>
                                    <head>MireDot resource status code(s)</head>
                                </tag>
                                <tag>
                                    <name>responseheader</name>
                                    <placement>a</placement>
                                    <head>MireDot response header</head>
                                </tag>
                            </tags>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <build>
    </build>
</project>
