<?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>
        <artifactId>gemini-blueprint</artifactId>
        <groupId>org.eclipse.gemini.blueprint</groupId>
        <version>2.0.0.BUILD-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>org.eclipse.gemini.blueprint</groupId>
    <artifactId>gemini-blueprint-io</artifactId>
    <packaging>jar</packaging>
    <name>Gemini Blueprint IO</name>
    <url>http://www.eclipse.org/gemini/blueprint/</url>
    <description>
        Eclipse Gemini Blueprint IO abstract classes. Provides Resource, ResourceLoader and ResourcePatternResolver for
        OSGi environments.
    </description>

    <properties>
        <javadoc.loc>${basedir}/../docs/src/javadoc</javadoc.loc>
        <spring.osgi.symbolic.name>${symName.prefix}.io</spring.osgi.symbolic.name>
        <bundlor.enabled>true</bundlor.enabled>
        <bundle.description>${project.description}</bundle.description>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.eclipse.gemini.blueprint</groupId>
            <artifactId>gemini-blueprint-mock</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>
