<?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>3.2.2-SNAPSHOT</version>
		<relativePath>..</relativePath>
	</parent>
	<artifactId>openmeetings-server</artifactId>
	<packaging>jar</packaging>
	<name>Openmeetings Server</name>
	<description>Module for OpenMeetings server assembly</description>
	<properties>
		<server.dir>${project.build.directory}/red5-server</server.dir>
		<webapp.languages.dir>../openmeetings-web/src/main/webapp/languages</webapp.languages.dir>
		<languages.dir>../openmeetings-web/src/main/java/org/apache/openmeetings/web/app</languages.dir>
		<assembly.finalName>apache-openmeetings-${project.version}</assembly.finalName>
		<assembly.descriptor>server</assembly.descriptor>
		<dist.dir>${project.build.directory}/${assembly.finalName}</dist.dir>
		<dist.webapps>${dist.dir}/webapps</dist.webapps>
		<dist.om.dir>${dist.webapps}/openmeetings</dist.om.dir>
		<om.webapp>webapps/openmeetings</om.webapp>
		<root.webapp>webapps/root</root.webapp>
		<red5-server-file.dir>red5-server</red5-server-file.dir>
	</properties>
	<url>http://openmeetings.apache.org</url>
	<scm>
		<connection>scm:git:http://git-wip-us.apache.org/repos/asf/openmeetings.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/openmeetings.git</developerConnection>
		<url>http://git-wip-us.apache.org/repos/asf/wicket/repo?p=openmeetings.git</url>
		<tag>HEAD</tag>
	</scm>
	<profiles>
		<profile>
			<id>quick</id>
			<properties>
				<assembly.finalName>server</assembly.finalName>
				<assembly.descriptor>quick</assembly.descriptor>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-clean-plugin</artifactId>
						<executions>
							<execution>
								<id>quick-clean</id>
								<phase>initialize</phase>
								<goals>
									<goal>clean</goal>
								</goals>
								<configuration>
									<excludeDefaultDirectories>true</excludeDefaultDirectories>
									<filesets>
										<fileset>
											<directory>${dist.om.dir}</directory>
											<includes>
												<include>css/**</include>
												<include>js/**</include>
												<include>images/**</include>
												<include>WEB-INF/lib/openmeetings*</include>
												<include>WEB-INF/classes/META-INF/*</include>
											</includes>
										</fileset>
										<fileset>
											<directory>${dist.om.dir}/WEB-INF/lib</directory>
											<includes>
												<include>openmeetings-*.jar</include>
											</includes>
										</fileset>
										<fileset>
											<directory>${dist.om.dir}/WEB-INF/classes</directory>
											<includes>
												<include>**/*.html</include>
												<include>**/*.js</include>
												<include>**/*.css</include>
												<include>**/*.xml</include>
											</includes>
										</fileset>
									</filesets>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>unpacked</id>
			<properties>
				<maven.test.skip>true</maven.test.skip>
				<assembly.finalName>server</assembly.finalName>
				<assembly.descriptor>unpacked</assembly.descriptor>
				<src.pack.skip>true</src.pack.skip>
			</properties>
		</profile>
		<profile>
			<id>prepare-red5-server</id>
			<activation>
				<file>
					<missing>red5-server/red5-server-1.0.9-M6.tar.gz</missing> <!-- TODO should be in-sync with global property -->
				</file>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>wagon-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>download-red5-server</id>
								<phase>process-resources</phase>
								<goals>
									<goal>download-single</goal>
								</goals>
								<configuration>
									<url>https://github.com/Red5/red5-server/releases/download</url>
									<fromFile>v${red5-server.version}/red5-server-${red5-server.version}.tar.gz</fromFile>
									<toDir>${red5-server-file.dir}</toDir>
									<skip>${red5-server.dwnd.skip}</skip>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
	<build>
		<plugins>
			<plugin>
				<groupId>com.internetitem</groupId>
				<artifactId>write-properties-file-maven-plugin</artifactId>
				<version>1.0.1</version>
				<executions>
					<execution>
						<id>write build number</id>
						<phase>compile</phase>
						<goals>
							<goal>write-properties-file</goal>
						</goals>
						<configuration>
							<filename>build.properties</filename>
							<comment>Licensed under Apache License 2.0. http://www.apache.org/licenses/LICENSE-2.0</comment>
							<properties>
								<property>
									<name>buildnumber</name>
									<value>${buildNumber}</value>
								</property>
							</properties>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<id>unpack-red5-server</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<target>
								<untar src="${red5-server-file.dir}/red5-server-${red5-server.version}.tar.gz" dest="${project.build.directory}"
									compression="gzip" overwrite="true"/>
							</target>
							<skip>${om.quick.build}</skip>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>xml-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>generate-errors-doc-site</id>
						<phase>pre-site</phase>
						<goals>
							<goal>transform</goal>
						</goals>
					</execution>
					<execution>
						<id>generate-errors-doc-build</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>transform</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<transformationSets>
						<transformationSet>
							<dir>${webapp.languages.dir}</dir>
							<includes>
								<include>errorvalues.xml</include>
							</includes>
							<stylesheet>src/site/stylesheets/errortable.xsl</stylesheet>
							<outputDir>${project.build.directory}/generated-site/xdoc</outputDir>
							<parameters>
								<parameter>
									<name>languagesDir</name>
									<value>${project.baseUri}/${languages.dir}</value>
								</parameter>
							</parameters>
						</transformationSet>
					</transformationSets>
					<skip>${om.quick.build}</skip>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<id>make-assembly</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<descriptors>
								<descriptor>${project.basedir}/src/main/assembly/${assembly.descriptor}.xml</descriptor>
							</descriptors>
							<finalName>${assembly.finalName}</finalName>
							<appendAssemblyId>false</appendAssemblyId>
							<tarLongFileMode>gnu</tarLongFileMode>
						</configuration>
					</execution>
					<execution>
						<id>make-src</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<descriptors>
								<descriptor>${project.basedir}/src/main/assembly/src.xml</descriptor>
							</descriptors>
							<finalName>${assembly.finalName}</finalName>
							<appendAssemblyId>true</appendAssemblyId>
							<tarLongFileMode>gnu</tarLongFileMode>
							<skipAssembly>${src.pack.skip}</skipAssembly>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>wagon-maven-plugin</artifactId>
										<versionRange>[1.0-beta-5,)</versionRange>
										<goals>
											<goal>download-single</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>xml-maven-plugin</artifactId>
										<versionRange>[1.0,)</versionRange>
										<goals>
											<goal>transform</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-site-plugin</artifactId>
										<versionRange>[3.3,)</versionRange>
										<goals>
											<goal>site</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											com.internetitem
										</groupId>
										<artifactId>
											write-properties-file-maven-plugin
										</artifactId>
										<versionRange>
											[1.0.1,)
										</versionRange>
										<goals>
											<goal>
												write-properties-file
											</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<dependencies>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-web</artifactId>
			<version>${project.version}</version>
			<type>war</type>
		</dependency>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-screenshare</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.openmeetings</groupId>
			<artifactId>openmeetings-flash</artifactId>
		</dependency>
	</dependencies>
</project>
