<?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.4.6</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-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>
					<!-- 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>
				</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>
					<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.6 -->
					<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>
		
		<!-- 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.4.6-rc2</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.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>
			<!-- Sun Mojarra -->			
			<dependency>
				<groupId>com.sun.faces</groupId>
				<artifactId>jsf-api</artifactId>
				<version>2.2.12</version>
			</dependency>
			<dependency>
				<groupId>com.sun.faces</groupId>
				<artifactId>jsf-impl</artifactId>
				<version>2.2.12</version>
			</dependency>
			<!-- Apache MyFaces -->
			<dependency>
				<groupId>org.apache.myfaces.core</groupId>
				<artifactId>myfaces-api</artifactId>
				<version>2.2.8</version>
			</dependency>
			<dependency>
				<groupId>org.apache.myfaces.core</groupId>
				<artifactId>myfaces-impl</artifactId>
				<version>2.2.8</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>
            <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>
			       			<!-- This might be to generic  -->
			       			<exclude>release.properties</exclude>
                            <exclude>**/META-INF/MANIFEST.MF</exclude>
			       			<exclude>**/target/**</exclude>
			      			<exclude>**/dependencies.txt</exclude>
                            <exclude>**/.idea/**</exclude>
                            <exclude>**/*.iml</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>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>
				<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>
                        </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>1.3.1</version>
					<executions>
						<execution>
							<id>enforce-versions</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<requireMavenVersion>
										<version>[3.0.0,)</version>
									</requireMavenVersion>
									<requireJavaVersion>
                                        <!-- we can no longer release with jdk6 because of certificate issues -->
										<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 -->
			<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>
