<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<!-- =========================================== -->
	<!-- Project information                         -->
	<!-- =========================================== -->
	<parent>
		<artifactId>mdr</artifactId>
		<groupId>edu.utah.further.mdr</groupId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>
	<modelVersion>4.0.0</modelVersion>
	<groupId>edu.utah.further.mdr</groupId>
	<artifactId>mdr-impl</artifactId>
	<packaging>bundle</packaging>
	<name>MDR Service Impl</name>
	<description>Metadata repository service implementation</description>
	<url>http://further.utah.edu</url>


	<!-- =========================================== -->
	<!-- Properties / version numbers                -->
	<!-- =========================================== -->
	<properties>
		<!-- General -->
		<final.name>mdr-impl</final.name>
	</properties>

	<!-- =========================================== -->
	<!-- Dependencies                                -->
	<!-- =========================================== -->
	<dependencies>

		<!-- ########################## -->
		<!-- OSGi bundle                -->
		<!-- ########################## -->

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-commons-annotations</artifactId>
			<version>3.1.0.GA</version>
		</dependency>

		<!-- ########################## -->
		<!-- Compile-time               -->
		<!-- ########################## -->

		<!-- Core utilities -->
		<dependency>
			<groupId>edu.utah.further.core</groupId>
			<artifactId>core-util</artifactId>
			<version>${project.version}</version>
		</dependency>

		<!-- Query framework (API only) -->
		<dependency>
			<groupId>edu.utah.further.core</groupId>
			<artifactId>core-query</artifactId>
			<version>${project.version}</version>
		</dependency>

		<!-- MDR business API -->
		<dependency>
			<groupId>edu.utah.further.mdr</groupId>
			<artifactId>mdr-api</artifactId>
		</dependency>

		<!-- Oracle connector and custom type libraries -->
		<dependency>
			<groupId>edu.utah.further.core</groupId>
			<artifactId>core-data-oracle</artifactId>
			<version>${project.version}</version>
		</dependency>

		<!-- XQuery XQJ API -->
		<!--
			Includes the implementation-agnostic package javax.xml, as well as
			some extra BaseX API that we can choose to use or not to use.
		-->
		<dependency>
			<groupId>org.basex</groupId>
			<artifactId>basex-xqj</artifactId>
			<version>${org.basex.version}</version>
		</dependency>

		<!-- ########################## -->
		<!-- Runtime                    -->
		<!-- ########################## -->

		<!-- XQuery implementation -->
		<!--
			<dependency> <groupId>com.ddtek</groupId>
			<artifactId>xquery3</artifactId> <version>1.0</version>
			<scope>runtime</scope> </dependency>
		-->
		<!--
			<dependency> <groupId>org.basex</groupId>
			<artifactId>basex</artifactId>
			<version>${org.basex.version}</version> <scope>runtime</scope>
			</dependency>
		-->
		<dependency>
			<groupId>net.sf.saxon</groupId>
			<artifactId>saxon</artifactId>
			<version>${saxone.version}</version>
		</dependency>

		<!-- DTS implementation -->
		<dependency>
			<groupId>edu.utah.further.dts</groupId>
			<artifactId>dts-impl</artifactId>
			<version>${project.version}</version>
			<scope>runtime</scope>
		</dependency>

		<!-- Data layer -->

		<!-- HSQLDB (includes connector) -->
		<!--
			<dependency> <groupId>hsqldb</groupId>
			<artifactId>hsqldb</artifactId> <version>${hsqldb.version}</version>
			<scope>${hsqldb.version}</scope> </dependency>
		-->

		<!-- MySQL connector: use in place of oracle, not concurrently with -->
		<!--
			<dependency> <groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql.connector.java.version} </version>
			<scope>runtime</scope> </dependency>
		-->

		<!-- Using Apache Commons connection pool -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>com.springsource.org.apache.commons.dbcp</artifactId>
			<version>${commons.dbcp.version}</version>
		</dependency>

		<!-- Hibernate entity manager -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-annotations</artifactId>
			<version>${org.hibernate.annotations.version}</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>${org.hibernate.entitymanager.version}</version>
			<scope>runtime</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Spring JDBC access support -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>org.springframework.jdbc</artifactId>
			<version>${org.springframework.version}</version>
			<scope>runtime</scope>
		</dependency>

		<!-- ########################## -->
		<!-- Testing                    -->
		<!-- ########################## -->

	</dependencies>

	<build>
		<!-- =========================================== -->
		<!-- Plugins                                     -->
		<!-- =========================================== -->
		<plugins>

			<!-- ########################## -->
			<!-- Felix OSGi Packaging       -->
			<!-- ########################## -->

			<!-- for packaging as an OSGi bundle, we use the maven-bundle-plugin -->

			<!--
				see http://felix.apache.org/site/maven-bundle-plugin-bnd.html for
				more info
			-->
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<version>1.4.0</version>
				<configuration>
					<manifestLocation>META-INF</manifestLocation>
					<instructions>
						<Bundle-Name>further-${project.artifactId}</Bundle-Name>
						<Export-Package>
							!edu.utah.further.mdr.impl.internal,
							edu.utah.further.mdr.impl*,
                        </Export-Package>
						<Import-Package>
							org.springframework.beans.factory.aspectj,
							org.springframework.transaction.aspectj,
							org.aspectj.lang,
							org.aspectj.lang.reflect,
							org.aspectj.lang.annotation,
							com.apelon.*,
							edu.utah.further.core.data.service,
							org.springframework.orm.hibernate3,
							org.springframework.orm.hibernate3.annotation,
							org.springframework.aop.aspectj.annotation,
							org.springframework.jdbc.support.lob,
							org.hibernate.cfg,
							org.hibernate.annotations.common.reflection,
							org.apache.commons.dbcp,
							org.apache.commons.lang.exception,
							*</Import-Package>
						<!--
							add ,plugin.xml if it's present i.e.
							src/main/resources,plugin.xml
						-->
						<!-- <Include-Resource>src/main/resources</Include-Resource> -->
					</instructions>
				</configuration>
			</plugin>

			<!-- generate manifest automatically once the classes are processed -->
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<executions>
					<execution>
						<id>bundle-manifest</id>
						<phase>process-classes</phase>
						<goals>
							<goal>manifest</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>

</project>