<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">
  <parent>
    <groupId>org.apache.abdera</groupId>
    <artifactId>abdera</artifactId>
    <version>1.1.2</version>  
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>abdera-parser</artifactId>
  <packaging>bundle</packaging>
  <name>Abdera Parser</name>
  <version>1.1.2</version>  
  <description>Atom Specification Implementation Parser</description>

  <properties>
    <topDir>${basedir}/..</topDir>
    <abdera.osgi.default.exports>
		org.apache.abdera.parser.stax.*
	</abdera.osgi.default.exports>
    <abdera.osgi.default.imports>
		!org.dom4j.*,
		!org.jdom.*,
		!nu.xom.*,
		!junit.framework.*,
		!com.sun.msv.*,
		!org.relaxng.datatype.*,
		!org.apache.axiom*,
		*
	</abdera.osgi.default.imports>
	<abdera.osgi.embed.dependencies>
        axiom-api,
		axiom-impl,
		geronimo-stax-api_1.0_spec,
		jaxen,
		wstx-asl
	</abdera.osgi.embed.dependencies>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.abdera</groupId>
      <artifactId>abdera-core</artifactId>
      <version>1.1.2</version>  
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.ws.commons.axiom</groupId>
      <artifactId>axiom-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
      <version>1.0.1</version>  
    </dependency> 
    <dependency>
      <groupId>org.codehaus.woodstox</groupId>
      <artifactId>wstx-asl</artifactId>
    </dependency>
    <dependency>
      <groupId>jaxen</groupId>
      <artifactId>jaxen</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
    <repositories>
        <repository>
            <id>apache.snapshots</id>
            <url>http://repository.apache.org/snapshots</url>
           <snapshots>
               <enabled>true</enabled>
           </snapshots>
        </repository>
    </repositories>
</project>
