<?xml version="1.0"?>
<project>
  <parent>
    <artifactId>gemini-blueprint</artifactId>
    <groupId>org.eclipse.gemini.blueprint</groupId>
    <version>1.0.0.RC1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.eclipse.gemini.blueprint</groupId>
  <artifactId>gemini-blueprint-core</artifactId>
  <packaging>jar</packaging>
  <url>http://www.eclipse.org/gemini/blueprint/</url>
  <name>Gemini Blueprint Core</name>
  <description>
  Eclipse Gemini Blueprint core classes. Offers OSGi-based application context and importer/exporter functionality.
  </description>
  
  
  <properties>
    <javadoc.loc>${basedir}/../docs/src/javadoc</javadoc.loc>
    <spring.osgi.symbolic.name>${symName.prefix}.core</spring.osgi.symbolic.name>
  </properties>
  
  <dependencies>
    <dependency>
      <groupId>org.eclipse.gemini.blueprint</groupId>
      <artifactId>gemini-blueprint-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.gemini.blueprint</groupId>
      <artifactId>gemini-blueprint-mock</artifactId>
      <scope>test</scope>
    </dependency>
	<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.aop</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.beans</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.context</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>org.springframework.test</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.aopalliance</groupId>
      <artifactId>com.springsource.org.aopalliance</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>osgi_R4_compendium</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>multithreadedtc</groupId>
        <artifactId>multithreadedtc</artifactId>
        <version>1.01</version>
        <scope>test</scope>
        <exclusions>      
      	 <exclusion>
          <groupId>backport-util-concurrent</groupId>
	      <artifactId>backport-util-concurrent</artifactId>
      	 </exclusion>
        </exclusions> 
    </dependency>
  </dependencies>
  
</project>