<?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">
    
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.taverna.workbench.commonactivities</groupId>
        <artifactId>apache-taverna-workbench-commonactivities</artifactId>
        <version>3.1.0-incubating-SNAPSHOT</version>
    </parent>
    
    <groupId>org.apache.taverna.ui-activities</groupId>
    <artifactId>taverna-beanshell-activity-ui</artifactId>
    <packaging>bundle</packaging>
    <name>Taverna 2 Beanshell Activity UI</name>
    
    <dependencies>
         
	 <dependency>
            <groupId>org.apache.taverna.workbench</groupId>
            <artifactId>taverna-activity-tools</artifactId>
            <version>${taverna.workbench.version}</version>
        </dependency>


                <dependency>
	  <groupId>org.apache.taverna.language</groupId>
	  <artifactId>taverna-scufl2-api</artifactId>
	  <version>${taverna.language.version}</version>
	  <type>jar</type>
	 </dependency>
	 <dependency>
	  <groupId>org.apache.taverna.osgi</groupId>
	  <artifactId>taverna-app-configuration-api</artifactId>
	  <version>0.2.0-incubating-SNAPSHOT</version>
	  <type>jar</type>
	 </dependency>
	 <dependency>
	  <groupId>org.apache.taverna.workbench</groupId>
	  <artifactId>taverna-contextual-views-api</artifactId>
	  <version>3.1.0-incubating-SNAPSHOT</version>
	  <type>jar</type>
	 </dependency>
	 <dependency>
	  <groupId>org.apache.taverna.workbench</groupId>
	  <artifactId>taverna-workflow-view</artifactId>
	  <version>3.1.0-incubating-SNAPSHOT</version>
	  <type>jar</type>
	 </dependency>
         
<!--
		<dependency>
			<groupId>uk.org.taverna.commons</groupId>
			<artifactId>taverna-services-api</artifactId>
			<version>0.1.0-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>uk.org.taverna.scufl2</groupId>
			<artifactId>scufl2-api</artifactId>
			<version>${scufl2.version}</version>
		</dependency>
-->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
            <version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

	</dependencies>	
</project>

