<?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.taverna.workbench</groupId>
		<artifactId>taverna-workbench</artifactId>
		<version>3.1.0-incubating-SNAPSHOT</version>
	</parent>
	<artifactId>activity-palette-impl</artifactId>
	<packaging>bundle</packaging>
	<name>Activity Palette Impl</name>
	<description>Activity Palette Implementation</description>
	<dependencies>
		<dependency>
			<groupId>net.sf.taverna.t2.ui-api</groupId>
			<artifactId>activity-palette-api</artifactId>
			<version>${t2.ui.api.version}</version>
		</dependency>
		<dependency>
			<groupId>net.sf.taverna.t2.core</groupId>
			<artifactId>workflowmodel-api</artifactId>
			<version>${t2.core.version}</version>
		</dependency>
		<dependency>
			<groupId>net.sf.taverna.t2.lang</groupId>
			<artifactId>observer</artifactId>
			<version>${t2.lang.version}</version>
		</dependency>
		<dependency>
			<groupId>uk.org.taverna.configuration</groupId>
			<artifactId>taverna-configuration-api</artifactId>
			<version>${taverna.configuration.version}</version>
		</dependency>
		<dependency>
			<groupId>uk.org.taverna.configuration</groupId>
			<artifactId>taverna-app-configuration-api</artifactId>
			<version>${taverna.configuration.version}</version>
		</dependency>

		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jdom</groupId>
			<artifactId>com.springsource.org.jdom</artifactId>
		</dependency>

		<!-- TODO Remove non-test impl dependency -->
		<dependency>
			<groupId>net.sf.taverna.t2.core</groupId>
			<artifactId>workflowmodel-impl</artifactId>
			<version>${t2.core.version}</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>uk.org.taverna.configuration</groupId>
			<artifactId>taverna-configuration-impl</artifactId>
			<version>${taverna.configuration.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>uk.org.taverna.configuration</groupId>
			<artifactId>taverna-app-configuration-impl</artifactId>
			<version>${taverna.configuration.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>
