<?xml version="1.0" encoding="UTF-8"?>
<project>

 <!-- General information -->

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.codehaus.jackson</groupId>
  <artifactId>jackson-xc</artifactId>
  <packaging>jar</packaging>
  <name>Xml Compatibility extensions for Jackson</name>
  <version>@VERSION@</version>
  <description>Extensions that provide interoperability support for
Jackson JSON processor's data binding functionality.
</description>

 <!-- Contact information -->

  <url>http://jackson.codehaus.org</url>
  <issueManagement>
    <url>http://jira.codehaus.org/browse/JACKSON</url>
  </issueManagement>
  <developers>
    <developer>
      <id>cowtowncoder</id>
      <name>Tatu Saloranta</name>
      <email>tatu@fasterxml.com</email>
    </developer>
  </developers>

 <!-- Dependency information -->
 
  <dependencies>
    <!-- need the core Jackson core and mapper jars
      -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-core-asl</artifactId>
      <version>@VERSION@</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>@VERSION@</version>
    </dependency>
  </dependencies>

  <!-- Licensing: ASL or GPL -->
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
    <license>
      <name>GNU Lesser General Public License (LGPL), Version 2.1</name>
      <url>http://www.fsf.org/licensing/licenses/lgpl.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <organization>
    <name>FasterXML</name>
    <url>http://fasterxml.com</url>
  </organization>

</project>
