<?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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.apache.openmeetings</groupId>
		<artifactId>openmeetings-parent</artifactId>
		<version>6.3.0</version>
		<relativePath>..</relativePath>
	</parent>
	<artifactId>openmeetings-webservice</artifactId>
	<packaging>jar</packaging>
	<name>Openmeetings Webservices</name>
	<description>Module for OpenMeetings CXF based web services.</description>
	<properties>
		<site.basedir>${project.parent.basedir}</site.basedir>
		<autoModuleName>apache.openmeetings.webservice</autoModuleName>
	</properties>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<configuration>
							<groups>
								<group>
									<title>Available WebServices</title>
									<packages>org.apache.openmeetings.webservice</packages>
								</group>
							</groups>
							<skip>${site.skip}</skip>
						</configuration>
						<goals>
							<goal>javadoc-no-fork</goal>
						</goals>
						<phase>generate-resources</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>io.openapitools.swagger</groupId>
				<artifactId>swagger-maven-plugin</artifactId>
				<configuration>
					<resourcePackages>
						<resourcePackage>org.apache.openmeetings.webservice</resourcePackage>
					</resourcePackages>
					<outputDirectory>${basedir}/target/</outputDirectory>
					<outputFilename>apache-openmeetings-${project.version}-swagger</outputFilename>
					<outputFormats>JSON,YAML</outputFormats>
					<prettyPrint>true</prettyPrint>
					<swaggerConfig>
						<info>
							<title>Apache OpenMeetings API</title>
							<description>
							<![CDATA[
								Integration API enables to connect to an OpenMeetings instance, eg for generating users, create links to directly access conference rooms.<br/><br/>
								<b>It is mainly designed for Server2Server integration, for example to integrate into your website, CMS or 3rd party application</b><br/><br/>
								For examples how to use the Rest API see <a href="https://openmeetings.apache.org/RestAPISample.html" target="_BLANK">https://openmeetings.apache.org/RestAPISample.html</a>.<br/><br/>
								Community contributed modules for using this API include for example:
								<ul>
									<li><a href="https://openmeetings.apache.org/RestAPISample.html#how-to-integrate-using-nodejs" target="_BLANK"> Node.js module for using API</a></li>
									<li><a href="https://openmeetings.apache.org/RestAPISample.html#how-to-integrate-using-php-and-composer" target="_BLANK"> PHP composer module for using API</a></li>
								</ul>
								Other community plugins using this API for Moodle, SugarCRM, Drupal, Joomla can be found in the Configuration>Plugins section at <a href="https://openmeetings.apache.org" target="_BLANK">https://openmeetings.apache.org</a>
							]]>
							</description>
							<version>${project.version}</version>
							<contact>
								<email>dev@openmeetings.apache.org</email>
								<name>Apache OpenMeetings Rest Examples and Documentation</name>
								<url>https://openmeetings.apache.org/RestAPISample.html</url>
							</contact>
							<license>
								<url>https://www.apache.org/licenses/LICENSE-2.0</url>
								<name>The Apache Software License, Version 2.0</name>
							</license>
						</info>
						<tags>
							<tag>
								<name>UserService</name>
								<description>The Service contains methods to login and create hash to directly enter conference rooms, recordings or the application in general</description>
							</tag>
							<tag>
								<name>RoomService</name>
								<description>RoomService contains methods to manipulate rooms and create invitation hash</description>
							</tag>
							<tag>
								<name>FileService</name>
								<description>Contains methods to import and upload files into the Files section of the conference room and the personal drive of any USER</description>
							</tag>
							<tag>
								<name>WbService</name>
								<description>WbService contains methods to manipulate whiteboard contents</description>
							</tag>
							<tag>
								<name>CalendarService</name>
								<description>CalendarService contains methods to create, edit delete calendar meetings</description>
							</tag>
							<tag>
								<name>GroupService</name>
								<description>The Service contains methods to login and create hash to directly enter conference rooms, recordings or the application in general</description>
							</tag>
							<tag>
								<name>NetTestService</name>
								<description>The Service contains methods to trigger a network test</description>
							</tag>
							<tag>
								<name>RecordingService</name>
								<description>The Service contains methods to work with recordings</description>
							</tag>
							<tag>
								<name>InfoService</name>
								<description>The Service contains methods to get info about the system</description>
							</tag>
							<tag>
								<name>ErrorService</name>
								<description>The Service contains methods to get localized errors</description>
							</tag>
						</tags>
						<servers>
							<server>
								<description>Your local OpenMeetings Server</description>
								<url>http://localhost:5080/openmeetings/services</url>
							</server>
							<server>
								<description>Om Demo Server</description>
								<url>https://om.alteametasoft.com/openmeetings/services</url>
							</server>
						</servers>
					</swaggerConfig>
					<skip>${site.skip}</skip>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-util</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-db</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-service</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxrs</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxws</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-rs-extension-providers</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-rs-service-description</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-features-logging</artifactId>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jettison</groupId>
			<artifactId>jettison</artifactId>
		</dependency>
		<dependency>
			<groupId>io.swagger.core.v3</groupId>
			<artifactId>swagger-annotations</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-util</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>
