<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.2-SNAPSHOT</version>  
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>abdera-parser</artifactId>
  <packaging>bundle</packaging>
  <name>Abdera Parser</name>
  <version>1.2-SNAPSHOT</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.2-SNAPSHOT</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>
