<?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>2.5.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-struts2</module>
		<module>empire-db-jsf2</module>
		<module>empire-db-codegen</module>
		<!-- excluded due to maven build error "Unqualified OSGi version 2.4.4.qualifier must match unqualified Maven version"
		<module>empire-db-eclipse-codegen</module>
		 -->
		<module>empire-db-maven-plugin</module>
		<module>empire-db-spring</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.6</maven.compile.source>
		<maven.compile.target>1.6</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>
						<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>
				</plugins>
			</build>
		</profile>
		
		<!-- eclipse-plugin -->
		<profile>
			<id>eclipse-plugin</id>
			<modules>
				<module>empire-db-eclipse-codegen</module>
			</modules>
		</profile>
		
	</profiles>
	
	
	<url>http://empire-db.apache.org/${project.artifactId}</url>
	<organization>
		<name>Apache Software Foundation</name>
		<url>http://apache.org</url>
	</organization>
	<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>
	<scm>
		<connection>scm:git:http://git-wip-us.apache.org/repos/asf/empire-db.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/empire-db.git</developerConnection>
		<url>http://git-wip-us.apache.org/repos/asf/wicket/repo?p=empire-db.git</url>
		<tag>apache-empire-db-2.5.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>http://mail-archives.apache.org/mod_mbox/empire-user/</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>http://mail-archives.apache.org/mod_mbox/empire-dev/</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>http://mail-archives.apache.org/mod_mbox/empire-commits/</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-struts2</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-spring</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.26</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>1.7.26</version>
			</dependency>			
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>1.7.26</version>
			</dependency>
			<!-- commons -->			
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>1.9.3</version>
			</dependency>
			<!-- databases -->			
			<dependency>
			    <groupId>hsqldb</groupId>
			    <artifactId>hsqldb</artifactId>
			    <version>1.8.0.10</version>
			</dependency> 
			<dependency>
			    <groupId>com.h2database</groupId>
			    <artifactId>h2</artifactId>
			    <version>1.3.148</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.derby</groupId>
			    <artifactId>derby</artifactId>
			    <version>10.7.1.1</version>
			</dependency>
			<!-- web -->
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>2.5</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>jsp-api</artifactId>
				<version>2.0</version>
				<scope>provided</scope>
			</dependency> 
	        <dependency>
	            <groupId>javax.portlet</groupId>
	            <artifactId>portlet-api</artifactId>
	            <version>1.0</version>
	            <scope>provided</scope>
	        </dependency>
			<!-- struts2 -->			
			<dependency>
				<groupId>org.apache.struts</groupId>
				<artifactId>struts2-core</artifactId>
				<version>2.2.1</version>
			</dependency> 
			<dependency>
				<groupId>org.apache.struts</groupId>
				<artifactId>struts2-portlet-plugin</artifactId>
				<version>2.2.1</version>
			</dependency>
			<dependency>
	            <groupId>org.apache.struts.xwork</groupId>
	            <artifactId>xwork-core</artifactId>
	            <version>2.2.1</version>
	        </dependency>
			<dependency>
				<!-- DO NOT REMOVE: required for struts2 extentions! -->
			    <groupId>javassist</groupId>
			    <artifactId>javassist</artifactId>
			    <version>3.8.0.GA</version>
			</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.12</version>
			</dependency>
			<dependency>
				<groupId>org.apache.myfaces.core</groupId>
				<artifactId>myfaces-impl</artifactId>
				<version>2.2.12</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-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>
			<!-- 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>
			       			<!-- specific files -->
                            <exclude>**/META-INF/MANIFEST.MF</exclude>
			       			<exclude>**/.project</exclude>
			       			<exclude>**/.classpath</exclude>
			       			<exclude>**/.tomcatplugin</exclude>
							<exclude>**/empire-db-example-vue/src/main/vue/.*</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>2.5</version>
                    <configuration>
                        <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>**/static/js/*.js</exclude>
			       			<exclude>**/app.*.css</exclude>
			       			<exclude>**/readme.txt</exclude>
                        </excludes>
		                <encoding>UTF-8</encoding>
		            </configuration>
		            <executions>
		                <execution>
		                    <goals>
		                        <goal>check</goal>
		                    </goals>
		                </execution>
		            </executions>
		        </plugin>
		        <!-- When enforcer enabled this will make sure we compile using java 1.6.x using maven 3.x -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>3.0.0-M2</version>
					<executions>
						<execution>
							<id>enforce-maven</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<requireMavenVersion>
										<version>3.0</version>
									</requireMavenVersion>
                                    <!-- we can no longer release with jdk6 because of certificate issues 
									<requireJavaVersion>
										<version>[1.6,1.8)</version>
									</requireJavaVersion>
									-->
								</rules>
							</configuration>
						</execution>
					</executions>
				</plugin>		        
				<!-- check that all api calls are java5 compatible -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>animal-sniffer-maven-plugin</artifactId>
					<version>1.14</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>java16</artifactId>
							<version>1.0</version>
						</signature>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.9</version>
					<configuration>
						<downloadSources>true</downloadSources>
						<!-- downloadJavadocs>true</downloadJavadocs -->
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.5.0</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.17</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>
							</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>2.8</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.1</version>
				<configuration>
					<targetJdk>1.6</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>2.4</version>
			</plugin>
			<!-- maven-javadoc-plugin
				 temporarily disable due to build problem 
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
			</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>
