<?xml version="1.0" encoding="UTF-8"?>
<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>
	<groupId>net.bull.javamelody</groupId>
	<artifactId>javamelody-core</artifactId>
	<version>1.72.0</version>
	<packaging>jar</packaging>
	<name>JavaMelody - Core</name>
	<description>Monitoring of JavaEE applications</description>
	<url>https://github.com/javamelody/javamelody/wiki</url>
	<inceptionYear>2008</inceptionYear>
	<licenses>
		<license>
			<name>ASL</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<developers>
		<developer>
			<name>Emeric Vernat</name>
			<email>evernat@free.fr</email>
		</developer>
	</developers>
	<issueManagement>
		<system>GITHUB</system>
		<url>https://github.com/javamelody/javamelody/issues</url>
	</issueManagement>
	<scm>
		<connection>scm:git:git@github.com:javamelody/javamelody.git</connection>
		<developerConnection>scm:git:git@github.com:javamelody/javamelody.git</developerConnection>
		<url>https://github.com/javamelody/javamelody</url>
		<tag>javamelody-core-1.72.0</tag>
	</scm>
	<ciManagement>
		<system>Jenkins</system>
		<url>https://javamelody.ci.cloudbees.com/job/javamelody/</url>
	</ciManagement>
	<mailingLists>
		<mailingList>
			<name>User List</name>
			<subscribe>http://groups.google.com/group/javamelody/subscribe</subscribe>
			<post>javamelody@googlegroups.com</post>
			<archive>http://groups.google.com/group/javamelody</archive>
		</mailingList>
	</mailingLists>
	<organization>
		<name>Emeric Vernat</name>
	</organization>
	<prerequisites>
		<maven>3.0.4</maven>
	</prerequisites>
	<dependencies>
		<dependency>
			<groupId>org.jrobin</groupId>
			<artifactId>jrobin</artifactId>
			<version>1.5.9</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.ejb</groupId>
			<artifactId>javax.ejb-api</artifactId>
			<version>3.2</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.interceptor</groupId>
			<artifactId>javax.interceptor-api</artifactId>
			<version>1.2</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.el</groupId>
			<artifactId>javax.el-api</artifactId>
			<version>2.2.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.1-api</artifactId>
			<version>1.0.0.Final</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>javax.faces</groupId>
			<artifactId>javax.faces-api</artifactId>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.16</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>2.8.2</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.2.3</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.lowagie</groupId>
			<artifactId>itext</artifactId>
			<version>2.1.7</version>
			<optional>true</optional>
			<exclusions>
				<exclusion>
					<artifactId>bcmail-jdk14</artifactId>
					<groupId>bouncycastle</groupId>
				</exclusion>
				<exclusion>
					<artifactId>bcprov-jdk14</artifactId>
					<groupId>bouncycastle</groupId>
				</exclusion>
				<exclusion>
					<artifactId>bctsp-jdk14</artifactId>
					<groupId>bouncycastle</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>net.sf.ehcache</groupId>
			<artifactId>ehcache</artifactId>
			<version>1.6.2</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>quartz</groupId>
			<artifactId>quartz</artifactId>
			<version>1.5.2</version>
			<optional>true</optional>
		</dependency>
		<!--
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.1.2</version>
			<optional>true</optional>
			<exclusions>
				<exclusion>
					<artifactId>c3p0</artifactId>
					<groupId>c3p0</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		-->
		<dependency>
			<groupId>com.thoughtworks.xstream</groupId>
			<artifactId>xstream</artifactId>
			<version>1.4.10</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>dbcp</artifactId>
			<version>6.0.18</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-dbcp</artifactId>
			<version>8.0.24</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.2.2</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-dbcp2</artifactId>
			<version>2.1.1</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-jdbc</artifactId>
			<version>7.0.27</version>
			<optional>true</optional>
		</dependency>
		<!-- Dépendance optionnelle spring web (qui inclus spring core, spring 
			beans, spring aop, spring context et commons-logging) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>4.3.10.RELEASE</version>
			<optional>true</optional>
		</dependency>
		<!-- Dépendance optionnelle google guice (aop) -->
		<dependency>
			<groupId>com.google.inject</groupId>
			<artifactId>guice</artifactId>
			<version>2.0</version>
			<optional>true</optional>
		</dependency>
		<!-- Dépendance optionnelle xwork pour interceptor struts 2 -->
		<dependency>
			<groupId>com.opensymphony</groupId>
			<artifactId>xwork</artifactId>
			<version>2.1.3</version>
			<optional>true</optional>
		</dependency>
		<!-- Dépendance optionnelle mongodb-driver -->
		<dependency>
			<groupId>org.mongodb</groupId>
			<artifactId>mongodb-driver</artifactId>
			<version>3.3.0</version>
			<optional>true</optional>
		</dependency>
		<!-- Dépendance optionnelle AWS Java SDK -->
		<dependency>
			<groupId>com.amazonaws</groupId>
			<artifactId>aws-java-sdk-cloudwatch</artifactId>
			<version>1.11.136</version>
			<optional>true</optional>
		</dependency>
		<!-- Dépendance JUnit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<!-- Utilisée uniquement pour l'exécution des tests unitaires -->
			<scope>test</scope>
		</dependency>
		<!-- Dépendance H2 -->
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<version>1.3.170</version>
			<!-- Utilisée uniquement pour l'exécution des tests unitaires -->
			<scope>test</scope>
		</dependency>
		<!-- Dépendance EasyMock -->
		<dependency>
			<groupId>org.easymock</groupId>
			<artifactId>easymock</artifactId>
			<version>3.1</version>
			<!-- Utilisée uniquement pour l'exécution des tests unitaires -->
			<scope>test</scope>
		</dependency>
		<!-- Dépendance OpenJpa -->
		<dependency>
			<groupId>org.apache.openjpa</groupId>
			<artifactId>openjpa</artifactId>
			<version>2.2.2</version>
			<!-- Utilisée uniquement pour l'exécution des tests unitaires -->
			<scope>test</scope>
		</dependency>
	</dependencies>

	<distributionManagement>
		<repository>
			<uniqueVersion>false</uniqueVersion>
			<id>maven.jenkins-ci.org</id>
			<url>https://repo.jenkins-ci.org/releases/</url>
		</repository>
		<snapshotRepository>
			<!-- prevent accidental deployment of SNAPSHOTS to repository -->
			<id>snapshot</id>
			<url>file:.</url>
		</snapshotRepository>
	</distributionManagement>

	<properties>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<build>
		<resources>
			<resource>
				<directory>${project.basedir}/src/main/resources</directory>
			</resource>
			<!-- uniquement pour inclure les fichiers de licence et user_guide dans
				le jar produit par maven (celui qui contient pom.properties et pom.xml avec
				la version) -->
			<resource>
				<directory>${project.basedir}</directory>
				<includes>
					<include>LICENSE</include>
					<include>JAVAMELODY-VERSION.properties</include>
				</includes>
			</resource>
		</resources>
		<plugins>
			<!-- Configuration compilation -->
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.1</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<fork>true</fork>
					<!-- pour éviter warning dans Maven sur sun.nio.ch.DirectBuffer dans RrdNioBackend -->
					<compilerArgument>-XDignore.symbol.file=true -Xlint</compilerArgument>
					<showWarnings>true</showWarnings>
					<!-- pour éviter warning dans Maven sur sun.misc.BASE64Encoder dans le test unitaire TestBase64Coder -->
					<testCompilerArgument>-XDignore.symbol.file=true -Xlint</testCompilerArgument>
				</configuration>
			</plugin>
			<!-- pour produire un jar lors du goal package comme celui produit par
				ant mais avec pom.properties et pom.xml pour publication dans un repository -->
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.0.2</version>
				<configuration>
					<excludes>
						<exclude>**/Thumbs.db</exclude>
					</excludes>
					<archive>
						<manifestEntries>
							<Implementation-Title>${project.name}</Implementation-Title>
							<Implementation-Version>${project.version}</Implementation-Version>
							<Implementation-Vendor>Emeric Vernat</Implementation-Vendor>
							<!-- Override user.name in Built-By -->
							<Built-By>Emeric Vernat</Built-By>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<!-- en commentaire pour éviter warning du plugin maven dans eclipse
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-versions</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireJavaVersion>
									<version>1.6</version>
								</requireJavaVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			-->
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.8</version>
				<executions>
					<execution>
						<phase>prepare-package</phase>
						<configuration>
							<target>
								<!-- écrit la version du pom dans JAVAMELODY-VERSION.properties -->
								<echo message="# Version of JavaMelody${line.separator}" file="JAVAMELODY-VERSION.properties" />
								<echo message="version=${project.version}" append="true" file="JAVAMELODY-VERSION.properties" />
								<!-- avec antrun 1.7, CR ne peut être écrit en même temps que LF -->
								<echo message="&#xD;" append="true" file="JAVAMELODY-VERSION.properties" />
								<echo message="&#xA;" append="true" file="JAVAMELODY-VERSION.properties" />
								<copy file="JAVAMELODY-VERSION.properties" tofile="target/classes/JAVAMELODY-VERSION.properties" />

								<!-- appel de Ant et copie du résultat dans le site -->
								<!-- On n'appelle plus Ant pour mettre les artefacts dans le site
								<ant antfile="build.xml" target="zip" />
								<copy file="javamelody.zip" tofile="target/site/javamelody.zip" />
								<copy file="javamelody.jar" tofile="target/site/javamelody.jar" />
								<copy file="javamelody.war" tofile="target/site/javamelody.war" />
								<copy file="jira-javamelody.jar" tofile="target/site/jira-javamelody.jar" />
								<ant antfile="build.xml" target="clean" />
								-->
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<!-- nécessaire car maven définit java_home avec le jre pour ant ! -->
						<groupId>sun.jdk</groupId>
						<artifactId>tools</artifactId>
						<version>1.6.0</version>
						<scope>system</scope>
						<systemPath>${java.home}/../lib/tools.jar</systemPath>
					</dependency>
				</dependencies>
			</plugin>

			<!-- Configuration exécution des tests unitaires -->
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<testFailureIgnore>true</testFailureIgnore>
					<!-- Ce paramètre permet aussi de tester l'appel à RuntimeMXBean.getInputArguments() -->
					<argLine>-Xmx200m -Dcatalina.home=unknown -Djava.io.tmpdir=${project.basedir}/target/tmp</argLine>
				</configuration>
			</plugin>

			<!-- Configuration Couverture des tests unitaires -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<!-- la version 2.6 ne donne pas la bonne couverture de code  -->
				<version>2.5.2</version>
				<configuration>
					<check>
						<haltOnFailure>false</haltOnFailure>
					</check>
					<formats>
						<format>xml</format>
						<format>html</format>
					</formats>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>clean</goal>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<additionalparam>${javadoc.doclint.none}</additionalparam>
					<offlineLinks>
						<offlineLink>
							<url>http://docs.oracle.com/javase/8/docs/api/</url>
							<location>${project.basedir}/javase/</location>
						</offlineLink>
						<offlineLink>
							<url>http://docs.oracle.com/javaee/7/api/</url>
							<location>${project.basedir}/javaee/</location>
						</offlineLink>
					</offlineLinks>
				</configuration>
			</plugin>

			<!-- Site -->
			<plugin>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.6</version>
				<configuration>
					<reportPlugins>
						<!-- Javadoc -->
						<plugin>
							<artifactId>maven-javadoc-plugin</artifactId>
							<version>2.10.4</version>
							<configuration>
								<additionalparam>${javadoc.doclint.none}</additionalparam>
								<offlineLinks>
									<offlineLink>
										<url>http://docs.oracle.com/javase/8/docs/api/</url>
										<location>${project.basedir}/javase/</location>
									</offlineLink>
									<offlineLink>
										<url>http://docs.oracle.com/javaee/7/api/</url>
										<location>${project.basedir}/javaee/</location>
									</offlineLink>
								</offlineLinks>
							</configuration>
						</plugin>
						<!-- Références croisées -->
						<plugin>
							<artifactId>maven-jxr-plugin</artifactId>
							<version>2.5</version>
							<configuration>
								<linkJavadoc>false</linkJavadoc>
							</configuration>
						</plugin>
						<!-- Vérification des règles de codage -->
						<plugin>
							<artifactId>maven-checkstyle-plugin</artifactId>
							<version>2.17</version>
							<configuration>
								<enableRSS>false</enableRSS>
								<configLocation>${basedir}/.checkstyle.xml</configLocation>
								<linkXRef>true</linkXRef>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>findbugs-maven-plugin</artifactId>
							<version>3.0.4</version>
							<configuration>
								<xmlOutput>true</xmlOutput>
								<omitVisitors>DefaultEncodingDetector,FindReturnRef,CloneIdiom</omitVisitors>
							</configuration>
						</plugin>
						<plugin>
							<artifactId>maven-pmd-plugin</artifactId>
							<version>3.7</version>
							<configuration>
								<enableRulesSummary>false</enableRulesSummary>
								<source>1.6</source>
								<targetJdk>1.6</targetJdk>
								<linkXref>true</linkXref>
								<minimumPriority>4</minimumPriority>
								<minimumTokens>75</minimumTokens>
								<rulesets>
									<ruleset>${basedir}/.ruleset</ruleset>
								</rulesets>
							</configuration>
						</plugin>
						<!-- Métriques -->
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>javancss-maven-plugin</artifactId>
							<version>2.1</version>
						</plugin>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>jdepend-maven-plugin</artifactId>
							<version>2.0</version>
						</plugin>
						<!-- Rapport d'exécution des tests unitaires -->
						<plugin>
							<artifactId>maven-surefire-report-plugin</artifactId>
							<version>2.18.1</version>
							<!-- http://jira.codehaus.org/browse/SUREFIRE-257 -->
							<reportSets>
								<reportSet>
									<reports>
										<report>report-only</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
						<!-- Couverture de tests -->
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>cobertura-maven-plugin</artifactId>
							<version>2.5.2</version>
							<configuration>
								<formats>
									<format>xml</format>
									<format>html</format>
								</formats>
							</configuration>
						</plugin>
						<!-- Agrégation des rapport -->
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>dashboard-maven-plugin</artifactId>
							<version>1.0.0-beta-1</version>
							<configuration>
								<inputEncoding>UTF-8</inputEncoding>
								<outputEncoding>UTF-8</outputEncoding>
							</configuration>
						</plugin>
						<!-- Information sur le projet -->
						<plugin>
							<artifactId>maven-project-info-reports-plugin</artifactId>
							<version>2.8.1</version>
							<reportSets>
								<reportSet>
									<reports>
										<report>summary</report>
										<report>license</report>
										<report>mailing-list</report>
										<report>issue-tracking</report>
										<report>scm</report>
										<report>cim</report>
										<report>plugin-management</report>
										<report>plugins</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
					</reportPlugins>
				</configuration>
			</plugin>
			<plugin>
				<!-- fix mvn release deploys snapshot
					https://issues.apache.org/jira/browse/SCM-740 -->
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5.1</version>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.scm</groupId>
						<artifactId>maven-scm-provider-gitexe</artifactId>
						<version>1.9.2</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>
	<reporting>
		<plugins>
			<!-- Références croisées -->
			<!-- section reporting Temporaire : https://jira.codehaus.org/browse/MCHECKSTYLE-150 et autres -->
			<plugin>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<linkJavadoc>false</linkJavadoc>
				</configuration>
			</plugin>
		</plugins>
	</reporting>
	<profiles>
		<profile>
			<id>java8-disable-strict-javadoc</id>
			<activation>
				<jdk>[1.8,)</jdk>
			</activation>
			<properties>
				<javadoc.doclint.none>-Xdoclint:none</javadoc.doclint.none>
			</properties>
		</profile>
	</profiles>
</project>
