<?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>10</version>
	</parent>
	
	<groupId>org.apache.empire-db</groupId>
	<artifactId>empire-db-parent</artifactId>
	<packaging>pom</packaging>
	<version>2.4.1</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>
		<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.5</maven.compile.source>
		<maven.compile.target>1.5</maven.compile.target>
		<disclaimer.dir>{project.basedir}</disclaimer.dir>
	</properties>
	
	<profiles>
		<profile>
			<!-- Hudson profile -->
			<id>CI</id>
			<build>
				<plugins>
					<!-- 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>
					<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>
					<!-- enable enforcer for java 1.5 --><!--
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>enforce-versions</id>
								<goals>
									<goal>enforce</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				--></plugins>
			</build>
		</profile>
		<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>
					<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>
					<!-- enable enforcer for java 1.5 -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>enforce-versions</id>
								<goals>
									<goal>enforce</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</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:svn:http://svn.apache.org/repos/asf/empire-db/tags/apache-empire-db-2.4.1-rc1</connection>
		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/empire-db/tags/apache-empire-db-2.4.1-rc1</developerConnection>
		<url>http://svn.apache.org/viewvc/empire-db/tags/apache-empire-db-2.4.1-rc1</url>
	</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-codegen</artifactId>
				<version>${project.version}</version>
				<type>jar</type>
			</dependency>
			<!-- logging -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.6.1</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>1.6.1</version>
			</dependency>			
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>1.6.1</version>
			</dependency>
			<!-- commons -->			
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>1.8.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>
			<!-- jsf2 -->			
			<dependency>
				<groupId>com.sun.faces</groupId>
				<artifactId>jsf-api</artifactId>
				<version>2.1.6</version>
			</dependency>
			<dependency>
				<groupId>com.sun.faces</groupId>
				<artifactId>jsf-impl</artifactId>
				<version>2.1.6</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>
		 	<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>
        </plugins>
        
		<pluginManagement>
			<plugins>
				<!-- Release Audit Tool mvn rat:check -->
			    <plugin>
			      	<groupId>org.apache.rat</groupId>
        			<artifactId>apache-rat-plugin</artifactId>
			       	<version>0.7</version>
			       	<configuration>
			       		<excludes>
			       			<!-- This might be to generic  -->
			       			<exclude>release.properties</exclude>
			       			<exclude>**/target/**</exclude>
			      			<exclude>**/dependencies.txt</exclude>
			       			<exclude>**/.settings/**</exclude>
			       			<exclude>**/.project</exclude>
			       			<exclude>**/.classpath</exclude>
			       			<exclude>**/.tomcatplugin</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>2.3.2</version>
					<configuration>
						<source>${maven.compile.source}</source>
						<target>${maven.compile.target}</target>
						<optimise>true</optimise>
						<debug>true</debug>
					</configuration>
				</plugin>
				<plugin>
				    <inherited>true</inherited>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.3.1</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>
				<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>
		                <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 2.x -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>1.1.1</version>
					<executions>
						<execution>
							<id>enforce-versions</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<requireMavenVersion>
										<version>[2.0.0,3.0.0)</version>
									</requireMavenVersion>
									<requireJavaVersion>
										<version>[1.6,1.7)</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.8</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>java15</artifactId>
							<version>1.0</version>
						</signature>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.8</version>
					<configuration>
						<downloadSources>true</downloadSources>
						<!-- downloadJavadocs>true</downloadJavadocs -->
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.3.7</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.7.1</version>
				    <configuration>
				        <systemPropertyVariables>
				            <derby.stream.error.file>target/derby.log</derby.stream.error.file>
				        </systemPropertyVariables>
				    </configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	
	<reporting>
		<plugins>
			<plugin>
			    <groupId>org.apache.rat</groupId>
        		<artifactId>apache-rat-plugin</artifactId>
		        <version>0.7</version>
		    </plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>2.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<targetJdk>1.5</targetJdk>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.3.1</version>
				<configuration>
					<findbugsXmlOutput>true</findbugsXmlOutput>
					<xmlOutput>true</xmlOutput>
					<omitVisitors>SerializableIdiom</omitVisitors>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jdepend-maven-plugin</artifactId>
				<version>2.0-beta-2</version>
			</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>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.7</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-changelog-plugin</artifactId>
				<version>2.2</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>
