<?xml version="1.0" encoding="UTF-8"?>

<!-- Please see Cogchar open source license at bottom of this file -->

<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.cogchar</groupId>
		<artifactId>org.cogchar.modules.main</artifactId>
		<version>1.0.5</version>
		<relativePath>../org.cogchar.modules.main/pom.xml</relativePath>
	</parent>		
	
	<artifactId>org.cogchar.lib.core</artifactId>
	<name>${project.artifactId} - POJO + Scala</name>
	<description>Cogchar core - does not include Render binding or Robot binding</description>

	<dependencies>
		
		<dependency>
			<groupId>org.appdapter</groupId>
			<artifactId>org.appdapter.bundle.core</artifactId>
			<version>${appdapter.version}</version>
		</dependency>
		<!-- From the appdapter bundle above, we get transitive *runtime* dependence on many of the extern bundles
			below.  But, netbeans has a hard time using those for syntax highlighting, hence the
			redundant direct deps below.
		-->
		<dependency>
			<groupId>org.appdapter</groupId>
			<artifactId>ext.bundle.math.jscience_50SNAP</artifactId>
			<version>${appdapter.version}</version>
		</dependency>
		
		<dependency>
			<artifactId>ext.bundle.jena_all_264</artifactId>
			<groupId>org.appdapter</groupId>
			<version>${appdapter.version}</version>
		</dependency>		
		<dependency>
			<groupId>org.scalaquery</groupId>
			<artifactId>scalaquery_2.8.1</artifactId>
			<version>0.9.4</version>
			<exclusions>
				<exclusion>
					<artifactId>scala-library</artifactId>
					<groupId>org.scala-lang</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<!-- commons-math used in both o.c.l.animoid and o.c.l.sonograph -->
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-math</artifactId>
			<version>2.2</version>
		</dependency>				
		<dependency>
			<groupId>org.apache.servicemix.bundles</groupId>
			<artifactId>org.apache.servicemix.bundles.xpp3</artifactId>
			<version>1.1.4c_5</version>
		</dependency>
		<dependency>
			<groupId>com.thoughtworks.xstream</groupId>
			<artifactId>xstream</artifactId>
			<version>1.4</version>
			<exclusions>
				<exclusion>
					<artifactId>kxml2-min</artifactId>
					<groupId>net.sf.kxml</groupId>
				</exclusion>
			</exclusions>
		</dependency>	
    <!-- Test -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.scalatest</groupId>
			<artifactId>scalatest</artifactId>
			<version>1.2</version>
			<scope>test</scope>
		</dependency>		
		<dependency>
			<groupId>org.scala-tools.testing</groupId>
			<artifactId>specs_2.8.1</artifactId>
			<version>1.6.8</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<artifactId>scala-library</artifactId>
					<groupId>org.scala-lang</groupId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.6.1</version>
		</dependency>
		<dependency>
			<groupId>org.appdapter</groupId>
			<artifactId>ext.bundle.xml.dom4j_161</artifactId>
			<version>${appdapter.version}</version>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<version>1.3.157</version>
		</dependency>
		<!-- This SLF4J binding normally has scope=test.  See LoggingGLUE at
		https://docs.google.com/document/d/1VxUgulYjAYEpe6t5D5AX7Yv2tCZdotR6Nb-7hAauzFA
		-->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.6.1</version>
			<!-- You must temporarily change scope to "runtime" or "compile" in order to activate Log4J for 
			dev unit testing (outside of JUnit).  But the svn-committed (and mvn-deployed, etc.) versions
			should always have this scope marked as "test", so that clients can use their own logger binding.  
			-->
			<scope>test</scope>
		    <exclusions>
				<!-- This embedded Log4J version is not OSGi friendly -->				
		        <exclusion>
		            <artifactId>log4j</artifactId>
		            <groupId>log4j</groupId>
		        </exclusion>
		    </exclusions>
		</dependency>
		<!--  We include "correct" (OGSi-friendly) Log4J version in "provided"
			scope, so that our test programs can invoke Log4J configuration code,
			and so that client projects can correctly+easily use Log4J (preferably
			via SLF4J!), if they choose.
			
			However, there is no SLF4J binding without the above dependency.
			Also, in an OSGi environment, our Log4J dep will not pass through
			unless also declared by our wrapping bundle (i.e. o.c.bundle.core,
			which in fact does *not* declare this dep, at present).  
			
			To see Log4J output, one also needs to see to configuration, e.g. by 
			using "BasicConfigurator" or "forceLog4JConfig".
		-->
		<dependency>
			<groupId>org.apache.log4j</groupId>
			<artifactId>com.springsource.org.apache.log4j</artifactId>
			<version>1.2.16</version>
			<scope>compile</scope>			
		</dependency>		
	</dependencies>

	<build>
<!--	  
    <sourceDirectory>src/main/scala</sourceDirectory>
    <testSourceDirectory>src/test/scala</testSourceDirectory>
-->
		<plugins>
			<plugin>
				<groupId>org.scala-tools</groupId>
				<artifactId>maven-scala-plugin</artifactId>
				<version>2.15.2</version>
				<executions>
					<execution>
						<goals>
							<goal>compile</goal>
							<!-- We're not actually using any scala tests right now
							<goal>testCompile</goal>
							-->
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<skipTests>true</skipTests>
					<useFile>false</useFile>
					<disableXmlReport>true</disableXmlReport>
          <!-- If you have classpath issue like NoDefClassError,... -->
          <!-- useManifestOnlyJar>false</useManifestOnlyJar -->
					<includes>
						<include>**/*Test.*</include>
						<include>**/*Suite.*</include>
					</includes>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

<!--
/*
 *  Copyright 2011 by The Cogchar Project (www.cogchar.org).
 *
 *  Licensed 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.
 */
 -->
