<?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</groupId>
		<artifactId>apache</artifactId>
		<version>18</version>
	</parent>
	
	<groupId>org.apache.empire-db</groupId>
	<artifactId>empire-db-parent</artifactId>
	<packaging>pom</packaging>
	<version>3.0.0</version>
	<name>Apache Empire-db</name>
	<description>Apache Empire-db is an Open Source relational data persistence component which allows database vendor independent dynamic query definition as well as safe and simple data retrieval and updating. Compared to most other solutions like e.g. Hibernate, TopLink, iBATIS or JPA implementations, Empire-db takes a considerably different approach, with a special focus on compile-time safety, reduced redundancies and improved developer productivity.</description>
	<inceptionYear>2008</inceptionYear>
	
	<modules>
		<module>empire-db</module>
		<module>empire-db-jsf2</module>
		<module>empire-db-codegen</module>
		<module>empire-db-maven-plugin</module>
		<module>empire-db-examples</module>
	</modules>
	
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.compile.source>1.8</maven.compile.source>
		<maven.compile.target>1.8</maven.compile.target>
		<disclaimer.dir>{project.basedir}</disclaimer.dir>
	</properties>

    <prerequisites>
        <maven>3.0</maven>
    </prerequisites>
	
	<profiles>
	
		<!-- Hudson profile -->
		<profile>
			<id>CI</id>
			<build>
				<plugins>
					<!-- maven-enforcer-plugin -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>enforce-maven</id>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<requireMavenVersion>
											<version>3.0</version>
										</requireMavenVersion>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>					
					<!-- check the apache headers -->
					<plugin>
						<groupId>com.mycila.maven-license-plugin</groupId>
						<artifactId>maven-license-plugin</artifactId>
						<configuration>
							<!-- TODO enable strict checking and fix issues -->
							<strictCheck>false</strictCheck>
						</configuration>
					</plugin>
					<plugin>
				      	<groupId>org.apache.rat</groupId>
        				<artifactId>apache-rat-plugin</artifactId>
        				<inherited>false</inherited>
						<executions>
							<execution>
								<phase>verify</phase>
								<goals>
									<goal>check</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<!-- temporarily disable due to build problem -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		
		<!-- empire-db-dist -->
		<profile>
			<!-- Part of the release profile, merged with release profile defined in apache parent pom -->
			<id>apache-release</id>
			<modules>
				<module>empire-db-dist</module>
			</modules>
			<build>
				<plugins>
					<!-- maven-enforcer-plugin -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>enforce-maven</id>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<requireMavenVersion>
											<version>3.0</version>
										</requireMavenVersion>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- RAT-Plugin -->					
					<plugin>
			      		<groupId>org.apache.rat</groupId>
        				<artifactId>apache-rat-plugin</artifactId>
        				<inherited>false</inherited>
						<executions>
							<execution>
								<phase>verify</phase>
								<goals>
									<goal>check</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<!-- temporarily disable due to build problem -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		
		<!-- eclipse-plugin -->
		<profile>
			<id>eclipse-plugin</id>
			<modules>
				<module>empire-db-eclipse-codegen</module>
			</modules>
		</profile>
		
	</profiles>
	
	<!-- project info -->
	<url>https://empire-db.apache.org</url>
	<organization>
		<name>Apache Software Foundation</name>
		<url>https://apache.org</url>
	</organization>
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<scm>
		<connection>scm:git:https://gitbox.apache.org/repos/asf/empire-db.git</connection>
		<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/empire-db.git</developerConnection>
		<url>https://gitbox.apache.org/repos/asf/empire-db.git</url>
		<tag>apache-empire-db-3-0.0-rc1</tag>
	</scm>

	<mailingLists>
		<mailingList>
			<name>Empire-db User List</name>
			<post>user@empire-db.apache.org</post>
			<subscribe>user-subscribe@empire-db.apache.org</subscribe>
			<unsubscribe>user-unsubscribe@empire-db.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?user@empire-db.apache.org</archive>
		</mailingList>
		<mailingList>
			<name>Empire-db Development List</name>
			<post>dev@empire-db.apache.org</post>
			<subscribe>dev-subscribe@empire-db.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@empire-db.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?dev@empire-db.apache.org</archive>
		</mailingList>
		<mailingList>
			<name>Empire-db commit List</name>
			<subscribe>commits-subscribe@empire-db.apache.org</subscribe>
			<unsubscribe>commits-unsubscribe@empire-db.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?commits@empire-db.apache.org</archive>
		</mailingList>
	</mailingLists>

	<issueManagement>
		<system>jira</system>
		<url>https://issues.apache.org/jira/browse/EMPIREDB</url>
	</issueManagement>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.apache.empire-db</groupId>
				<artifactId>empire-db</artifactId>
				<version>${project.version}</version>
				<type>jar</type>
			</dependency>
			<dependency>
				<groupId>org.apache.empire-db</groupId>
				<artifactId>empire-db-jsf2</artifactId>
				<version>${project.version}</version>
				<type>jar</type>
			</dependency>
			<dependency>
				<groupId>org.apache.empire-db</groupId>
				<artifactId>empire-db-codegen</artifactId>
				<version>${project.version}</version>
				<type>jar</type>
			</dependency>
			<!-- logging -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.36</version>
			</dependency>
			<dependency>
			    <groupId>org.slf4j</groupId>
			    <artifactId>slf4j-reload4j</artifactId>
			    <version>1.7.36</version>
			</dependency>
			<!-- indirectly through slf4j-reload4j
			<dependency>
			    <groupId>ch.qos.reload4j</groupId>
			    <artifactId>reload4j</artifactId>
			    <version>1.2.19</version>
			</dependency>
			 -->
			<!-- commons -->			
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>1.9.4</version>
			</dependency>
			<dependency>
			    <groupId>commons-io</groupId>
			    <artifactId>commons-io</artifactId>
			    <version>2.8.0</version>
			    <scope>test</scope>
			</dependency>
			<!-- databases -->
			<dependency>
			    <groupId>org.hsqldb</groupId>
			    <artifactId>hsqldb</artifactId>
			    <version>2.5.2</version>
			</dependency>
			<dependency>
			    <groupId>com.h2database</groupId>
			    <artifactId>h2</artifactId>
			    <version>1.4.200</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.derby</groupId>
			    <artifactId>derby</artifactId>
			    <version>10.14.2.0</version>
			</dependency>
			<dependency>
			    <groupId>org.xerial</groupId>
			    <artifactId>sqlite-jdbc</artifactId>
			    <version>3.34.0</version>
			</dependency>
			<dependency>
			    <groupId>mysql</groupId>
			    <artifactId>mysql-connector-java</artifactId>
			    <version>8.0.28</version>
			</dependency>
			<dependency>
			    <groupId>org.postgresql</groupId>
			    <artifactId>postgresql</artifactId>
			    <version>42.2.24</version>
			</dependency>
			<dependency>
			    <groupId>com.microsoft.sqlserver</groupId>
			    <artifactId>mssql-jdbc</artifactId>
			    <version>9.4.1.jre8</version>
			</dependency>
			<dependency>
			    <groupId>com.oracle.database.jdbc</groupId>
			    <artifactId>ojdbc8</artifactId>
			    <version>19.13.0.0.1</version>
			</dependency>
			<!-- web -->
			<dependency>
			    <groupId>javax.servlet</groupId>
			    <artifactId>javax.servlet-api</artifactId>
			    <version>4.0.0</version>
			    <scope>provided</scope>
			</dependency>
			<!-- Sun Mojarra -->			
			<dependency>
				<groupId>com.sun.faces</groupId>
				<artifactId>jsf-api</artifactId>
				<version>2.2.20</version>
			</dependency>
			<dependency>
				<groupId>com.sun.faces</groupId>
				<artifactId>jsf-impl</artifactId>
				<version>2.2.20</version>
			</dependency>
			<!-- Apache MyFaces -->
			<dependency>
				<groupId>org.apache.myfaces.core</groupId>
				<artifactId>myfaces-api</artifactId>
				<version>2.2.14</version>
			</dependency>
			<dependency>
				<groupId>org.apache.myfaces.core</groupId>
				<artifactId>myfaces-impl</artifactId>
				<version>2.2.14</version>
			</dependency>
			<dependency>
			    <groupId>javax.el</groupId>
			    <artifactId>javax.el-api</artifactId>
			    <version>3.0.0</version>
			</dependency>
	        <!-- Misc -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.7</version>
			</dependency> 
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>1.8.2</version>
			</dependency> 
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<defaultGoal>install</defaultGoal>
		<plugins>
			<!-- maven-remote-resources-plugin -->
		 	<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <resourceBundles>
                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                            </resourceBundles>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
            	<!-- add osgi manifests -->
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<inherited>true</inherited>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>animal-sniffer-maven-plugin</artifactId>
			</plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
            </plugin>
        </plugins>
        
		<pluginManagement>
			<plugins>
				<!-- Release Audit Tool mvn rat:check -->
			    <plugin>
			      	<groupId>org.apache.rat</groupId>
        			<artifactId>apache-rat-plugin</artifactId>
			       	<version>0.11</version>
			       	<configuration>
			       		<excludes>
							<!-- folders -->
							<exclude>**/target/**</exclude>
							<exclude>**/.idea/**</exclude>
							<exclude>**/.settings/**</exclude>
							<exclude>**/empire-db-example-vue/src/main/webapp/static/**</exclude>
							<exclude>**/empire-db-example-vue/src/main/vue/node_modules/**</exclude>
							<!-- file types -->
							<exclude>**/*.iml</exclude>
							<exclude>**/*.json</exclude>
							<exclude>**/*.jml</exclude>
							<!-- specific files -->
							<exclude>**/META-INF/MANIFEST.MF</exclude>
							<exclude>**/.factorypath</exclude>                            
							<exclude>**/.project</exclude>
							<exclude>**/.classpath</exclude>
							<exclude>**/.tomcatplugin</exclude>
							<exclude>**/empire-db-example-vue/src/main/vue/.*</exclude>
							<exclude>**/_eslintrc.js.bak</exclude>
							<exclude>**/application.yml</exclude>
							<exclude>release.properties</exclude>
							<!-- should the sample databases be created in target? -->
							<exclude>**/hsqldb/sample.*</exclude>
			       		</excludes>
			       		<excludeSubProjects>false</excludeSubProjects>
			       	</configuration>
			  	</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<configuration>
						<!-- do not ask version for each module -->
						<autoVersionSubmodules>true</autoVersionSubmodules>
					</configuration>
				</plugin>
				<plugin>
					<inherited>true</inherited>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.1</version>
					<configuration>
						<source>${maven.compile.source}</source>
						<target>${maven.compile.target}</target>
						<optimize>true</optimize>
						<debug>true</debug>
					</configuration>
				</plugin>
				<plugin>
				    <inherited>true</inherited>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.1.1</version>
                    <configuration>
                    	<skipIfEmpty>true</skipIfEmpty>
                    	<!-- 
                        <useDefaultManifestFile>true</useDefaultManifestFile>
                         -->
                        <archive>
                            <manifestEntries>
                                <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
                                <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>
                            </manifestEntries>
                        </archive>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>test-jar</goal>
                            </goals>
                            <!-- 
                            <configuration>
                                <useDefaultManifestFile>false</useDefaultManifestFile>
                            </configuration>
                             -->
                        </execution>
                    </executions>
                </plugin>
                <!-- check license headers -->
				<plugin>
		            <groupId>com.mycila.maven-license-plugin</groupId>
		            <artifactId>maven-license-plugin</artifactId>
		            <version>1.9.0</version>
		            <configuration>
		                <basedir>${basedir}</basedir>
		                <header>tools/header.txt</header>
		                <!--<header>${basedir}/src/etc/header.txt</header>-->
		                <quiet>false</quiet>
		                <failIfMissing>true</failIfMissing>
		                <aggregate>false</aggregate>
		                <includes>
		                    <include>src/**</include>
		                    <include>**/*.xml</include>
		                </includes>
                        <excludes>
                            <exclude>**/.idea/**</exclude>
			       			<exclude>**/*.json</exclude>
			       			<exclude>**/*.vue</exclude>
			       			<exclude>**/_eslintrc.js.bak</exclude>
			       			<exclude>**/static/js/*.js</exclude>
			       			<exclude>**/app.*.css</exclude>
			       			<exclude>**/readme.txt</exclude>
			       			<exclude>**/application.yml</exclude>
			       			<exclude>**/.factorypath</exclude>
                        </excludes>
		                <encoding>UTF-8</encoding>
		            </configuration>
		            <executions>
		                <execution>
		                    <goals>
		                        <goal>check</goal>
		                    </goals>
		                </execution>
		            </executions>
		        </plugin>
				<!-- check that all api calls are java8 compatible -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>animal-sniffer-maven-plugin</artifactId>
					<version>1.20</version>
					<executions>
						<execution>
							<id>check-api</id>
							<phase>integration-test</phase>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
			        </executions>
					<configuration>
						<signature>
							<groupId>org.codehaus.mojo.signature</groupId>
							<artifactId>java18</artifactId>
							<version>1.0</version>
						</signature>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.10</version>
					<configuration>
						<downloadSources>true</downloadSources>
						<!-- downloadJavadocs>true</downloadJavadocs -->
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>3.5.1</version>
					<executions>
						<execution>
							<id>bundle-manifest</id>
							<phase>process-classes</phase>
							<goals>
								<goal>manifest</goal>
							</goals>
							<configuration>
								<instructions>
									<Import-Package>org.apache.empire*</Import-Package>
									<DynamicImport-Package>*</DynamicImport-Package>
									<_nouses>true</_nouses>
								</instructions>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
				    <groupId>org.apache.maven.plugins</groupId>
				    <artifactId>maven-surefire-plugin</artifactId>
				    <version>2.22.2</version>
				    <configuration>
				        <systemPropertyVariables>
				            <derby.stream.error.file>target/derby.log</derby.stream.error.file>
				        </systemPropertyVariables>
				    </configuration>
				</plugin>
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<!-- org.apache.felix:org.apache.felix -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.felix</groupId>
										<artifactId>maven-bundle-plugin</artifactId>
										<versionRange>[1.0.0,)</versionRange>
										<goals>
											<goal>manifest</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<!-- tycho-compiler-plugin -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.eclipse.tycho</groupId>
										<artifactId>tycho-compiler-plugin</artifactId>
										<versionRange>[0.0,)</versionRange>
										<goals>
											<goal>compile</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<!-- tycho-packaging-plugin -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.eclipse.tycho</groupId>
										<artifactId>tycho-packaging-plugin</artifactId>
										<versionRange>[0.0,)</versionRange>
										<goals>
											<goal>build-qualifier</goal>
											<goal>validate-id</goal>
											<goal>validate-version</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<!-- maven-remote-resources-plugin -->
								<!-- Eclipse: avoid message "maven-remote-resources-plugin (goal "process") is ignored by m2e." -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-remote-resources-plugin</artifactId>
										<versionRange>[1.0,)</versionRange>
										<goals>
											<goal>process</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>			
		</pluginManagement>
	</build>
	
	<reporting>
        <excludeDefaults>true</excludeDefaults>
        <outputDirectory>${project.build.directory}/site</outputDirectory>
		<plugins>
			<!--  maven-project-info-reports-plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.1.2</version>
                <configuration>
                    <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>dependencies</report>
                            <report>scm</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <!-- apache-rat-plugin -->
			<plugin>
			    <groupId>org.apache.rat</groupId>
        		<artifactId>apache-rat-plugin</artifactId>
		    </plugin>
		    <!-- maven-site-plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
			</plugin>
			<!-- maven-pmd-plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>3.15.0</version>
				<configuration>
					<targetJdk>1.8</targetJdk>
				</configuration>
			</plugin>
			<!-- findbugs-maven-plugin -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.5.5</version>
				<configuration>
					<findbugsXmlOutput>true</findbugsXmlOutput>
					<xmlOutput>true</xmlOutput>
					<omitVisitors>SerializableIdiom</omitVisitors>
				</configuration>
			</plugin>
			<!-- jdepend-maven-plugin -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jdepend-maven-plugin</artifactId>
				<version>2.0</version>
			</plugin>
			<!-- cobertura-maven-plugin -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<formats>
						<format>html</format>
						<format>xml</format>
					</formats>
				</configuration>
			</plugin>
			<!-- maven-jxr-plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>3.1.1</version>
			</plugin>
			<!-- maven-javadoc-plugin 
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
			</plugin>
			-->
			<!-- maven-changelog-plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-changelog-plugin</artifactId>
				<version>2.3</version>
			</plugin>
		</plugins>
	</reporting>

	<distributionManagement>
		<site>
			<id>people.apache.org.site</id>
			<name>Empire-db Maven Site</name>
			<!-- FIXME find a place for this -->
			<url>scp://people.apache.org/home/francisdb/public_html/empire-db/site</url>
		</site>
	</distributionManagement>

</project>
