<?xml version="1.0" encoding="UTF-8"?>
<!--
  #%L
  drools-server
  $Id:$
  $HeadURL:$
  %%
  Copyright (C) 2013 Leadware
  %%
  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.
  #L%
  -->
  <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">
	
	<!-- Project parent -->
	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>
	
	<!-- Pom model version -->
	<modelVersion>4.0.0</modelVersion>
	
	<!-- Project group ID -->
	<groupId>net.leadware</groupId>
	
	<!-- Project Artifact ID -->
	<artifactId>drools-server</artifactId>
	
	<!-- Project name -->
	<name>DROOLS SERVER</name>
	
	<!-- Project description -->
	<description>Drools Remote Execution Server</description>
	
	<!-- Project Version -->
	<version>1.0.0-RC1</version>
	
	<!-- Packaging -->
	<packaging>pom</packaging>
	
	<!-- Project source URL -->
	<url>https://github.com/leadware/drools-server/</url>
	
	<!-- Project licence -->
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	
	<!-- Project scm -->
	<scm>
		<connection>scm:git:git@github.com:leadware/drools-server.git</connection>
		<developerConnection>scm:git:git@github.com:leadware/drools-server.git</developerConnection>
		<url>git@github.com:leadware/drools-server.git</url>
	</scm>
	
	<!-- Project issue managment -->
	<issueManagement>
		<system>Jira</system>
		<url>http://jira.drools-server.leadware.net</url>
	</issueManagement>
	
	<!-- Project Continuous integration system -->
	<ciManagement>
		<system>Bamboo</system>
		<url>http://bamboo.drools-server.leadware.net</url>
	</ciManagement>
	
	<!-- Project developpers -->
	<developers>
		<developer>
			<name>Jean-Jacques ETUNE NGI</name>
			<email>jetune@leadware.net</email>
			<organization>Leadware</organization>
			<timezone>GMT+1</timezone>
			<roles>
				<role>owner</role>
				<role>Technical lead</role>
				<role>Developper</role>
			</roles>
		</developer>
	</developers>
	
	<!-- Project organisation -->
	<organization>
		<name>Leadware</name>
		<url>http://www.leadware.net</url>
	</organization>
	
	<!-- Project properties -->
	<properties>
		
		<!-- JRE Source version Property -->
		<jre.source.version>1.6</jre.source.version>
		
		<!-- JRE Target version Property  -->
		<jre.target.version>1.6</jre.target.version>
		
		<!-- Maven Source Plugin Version Property -->
		<maven.source.plugin.version>2.1.2</maven.source.plugin.version>
		
		<!-- Maven Javadoc Version property -->
		<maven.javadoc.plugin.version>2.8</maven.javadoc.plugin.version>
		
		<!-- Apache RAT Plugin Version Property -->
		<apache.rat.plugin.version>0.8</apache.rat.plugin.version>
		
		<!-- GPG Version Property -->
		<gpg.version>1.4</gpg.version>
		
		<!-- m2e lifecycle mapping version property -->
		<m2e-lifecycle-mapping.version>1.0.0</m2e-lifecycle-mapping.version>
		
		<!-- Maven compiler plugin version property -->
		<maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>
		
		<!-- JAXB 2 maven plugin version property -->
		<jaxb2-maven-plugin.version>1.5</jaxb2-maven-plugin.version>
		
		<!-- Licence Maven Plugin version property -->
		<license-maven-plugin.version>1.5</license-maven-plugin.version>
		
		<!-- JUnit version Property -->
		<junit.version>4.9</junit.version>
		
		<!-- Log4j version property -->
		<log4j.version>1.2.14</log4j.version>
		
		<!-- Drools Version Property -->
		<drools.version>5.5.0.Final</drools.version>
		
		<!-- MVel 2 version property -->
		<mvel2.version>2.1.3.Final</mvel2.version>
		
		<!-- SLF4J Api version property -->
		<slf4j-api.version>1.6.4</slf4j-api.version>
		
		<!-- org-antlr version property -->
		<org.antlr.version>3.3</org.antlr.version>
		
		<!-- Stringtemplate version property -->
		<stringtemplate.version>3.2.1</stringtemplate.version>
		
		<!-- antlr version property -->
		<antlr.version>2.7.7</antlr.version>
		
	</properties>
	
	<!-- Project Dependencies Management -->
	<dependencyManagement>
		
		<dependencies>
			
			<!-- Drools Core Dependency -->
			<dependency>
				<groupId>org.drools</groupId>
				<artifactId>drools-core</artifactId>
				<version>${drools.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.mvel</groupId>
						<artifactId>mvel2</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			
			<!-- Drools Compiler Dependency -->
			<dependency>
				<groupId>org.drools</groupId>
				<artifactId>drools-compiler</artifactId>
				<version>${drools.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.antlr</groupId>
						<artifactId>antlr-runtime</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.antlr</groupId>
						<artifactId>antlr</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.antlr</groupId>
						<artifactId>stringtemplate</artifactId>
					</exclusion>
					<exclusion>
						<groupId>antlr</groupId>
						<artifactId>antlr</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			
			<!-- Org AntLR Runtime Dependendy -->
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>antlr-runtime</artifactId>
				<version>${org.antlr.version}</version>
			</dependency>
			
			<!-- Org AntLR Dependendy -->
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>antlr</artifactId>
				<version>${org.antlr.version}</version>
			</dependency>
			
			<!-- Stringtemplate Dependendy -->
			<dependency>
				<groupId>org.antlr</groupId>
				<artifactId>stringtemplate</artifactId>
				<version>${stringtemplate.version}</version>
			</dependency>
			
			<!-- AntLR Dependendy -->
			<dependency>
				<groupId>antlr</groupId>
				<artifactId>antlr</artifactId>
				<version>${antlr.version}</version>
			</dependency>
			
			<!-- MVel 2 Dependency -->
			<dependency>
				<groupId>org.mvel</groupId>
				<artifactId>mvel2</artifactId>
				<version>${mvel2.version}</version>
			</dependency>
			
			<!-- SLF4J api Dependency -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j-api.version}</version>
			</dependency>
			
			<!-- JUnit Depenndy -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			
		</dependencies>
		
	</dependencyManagement>
	
	<!-- Project build configuration -->
	<build>
		
		<pluginManagement>
			
			<plugins>
				
				<!-- Maven Javadoc plugin -->
				<plugin>
				    <groupId>org.apache.maven.plugins</groupId>
				    <artifactId>maven-javadoc-plugin</artifactId>
				    <version>${maven.javadoc.plugin.version}</version>
				    <configuration>
				        <show>private</show>
				        <nohelp>false</nohelp>
				    </configuration>
				    <executions>
				    	<execution>
				    		<phase>generate-resources</phase>
				    		<goals>
				    			<goal>jar</goal>
				    		</goals>
				    	</execution>
				    </executions>
				</plugin>
				
				<!-- Jaxb 2 Maven Plugin -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>jaxb2-maven-plugin</artifactId>
					<version>${jaxb2-maven-plugin.version}</version>
				</plugin>
				
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>${license-maven-plugin.version}</version>
					<configuration>
						<verbose>true</verbose>
						<addSvnKeyWords>true</addSvnKeyWords>
						<licenseName>apache_v2</licenseName>
						<inceptionYear>2013</inceptionYear>
					</configuration>
				</plugin>
				
				<!--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.apache.maven.plugins</groupId>
										<artifactId>maven-javadoc-plugin</artifactId>
										<versionRange>[${maven.javadoc.plugin.version},)</versionRange>
										<goals>
											<goal>jar</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.codehaus.mojo
										</groupId>
										<artifactId>
											license-maven-plugin
										</artifactId>
										<versionRange>
											[1.5,)
										</versionRange>
										<goals>
											<goal>
												update-file-header
											</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			
			</plugins>
			
		</pluginManagement>
		
		<!-- Project plugins -->
		<plugins>
			
			<!-- Licence Maven Plugin -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>update-header-sources</id>
						<phase>process-sources</phase>
						<goals>
							<goal>update-file-header</goal>
						</goals>
						<configuration>
							<roots>
								<root>./</root>
							</roots>
						</configuration>
					</execution>
				</executions>
			</plugin>
			
			<!-- Maven Compiler plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
				<configuration>
					<source>${jre.source.version}</source>
					<target>${jre.target.version}</target>
				</configuration>
			</plugin>
			
			<!-- Maven Source plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>${maven.source.plugin.version}</version>
				<executions>
			    	<execution>
			    		<phase>verify</phase>
			    		<goals>
			    			<goal>jar-no-fork</goal>
			    			<goal>test-jar-no-fork</goal>
			    		</goals>
			    	</execution>
			    </executions>
			</plugin>
			
			<!-- Maven Javadoc plugin -->
			<plugin>
			    <groupId>org.apache.maven.plugins</groupId>
			    <artifactId>maven-javadoc-plugin</artifactId>
			</plugin>
			
			<!-- Apache RAT plugin -->
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<version>${apache.rat.plugin.version}</version>
				<configuration>
					<excludes>
						<exclude>**/.git/**</exclude>
						<exclude>**/test/resources/**</exclude>
						<exclude>**/.gitignore/**</exclude>
                        <exclude>**/catalog.xml</exclude>
                        <exclude>**/.springBeans</exclude>
					</excludes>
				</configuration>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
			<!-- GPG Plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>${gpg.version}</version>
				<configuration>
					<passphrase>sakazaki</passphrase>
				</configuration>
				<executions>
					<execution>
						<id>sign-artifact</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
		</plugins>
		
	</build>
	
	<!-- Drools server sub modules -->
	<modules>
		
		<!-- Drools Model Submodule -->
		<module>drools-server-model</module>
		
		<!-- Drools Engine Submodule -->
    	<module>drools-server-engine</module>
    	
    	<!-- Drools Tools Submodule -->
    	<module>drools-server-tools</module>
    	
  </modules>
	
</project>