<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</version>  
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>abdera-parser</artifactId>
  <packaging>bundle</packaging>
  <name>Abdera Parser</name>
  <version>1.1</version>  
  <description>Atom Specification Implementation Parser</description>

  <properties>
    <topDir>${basedir}/..</topDir>
  </properties>
  <build>
    <plugins>
      <plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<instructions>
						<Export-Package>
              org.apache.abdera.parser.*;version=${pom.version}
            </Export-Package>
            <Embed-Dependency>
              axiom-api,
							axiom-impl,
							geronimo-stax-api_1.0_spec,
							jaxen,
							wstx-asl
            </Embed-Dependency>
            <Private-Package>
              org.apache.axiom.*,
            </Private-Package>
            <Import-Package>
							!org.dom4j.*;resolution:=optional,
							!org.jdom.*;resolution:=optional,
              !nu.xom.*;resolution:=optional,
              !junit.framework.*;resolution:=optional,
              !com.sun.msv.*;resolution:=optional,
              !org.relaxng.datatype.*;resolution:=optional,
							*
            </Import-Package>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.abdera</groupId>
      <artifactId>abdera-core</artifactId>
      <version>1.1</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>
</project>
