<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <!-- 22-Mar-2019, tatu: 3.0 extends `oss-parent` directly, skips (now) obsolete
        `jackson-parent` completely
      -->
    <groupId>com.fasterxml</groupId>
    <artifactId>oss-parent</artifactId>
    <version>64</version>
  </parent>

  <groupId>tools.jackson</groupId>
  <artifactId>jackson-bom</artifactId>
  <name>Jackson BOM</name>
  <description>Bill of Materials pom for getting full, complete set of compatible versions
of Jackson 3.x components maintained by FasterXML.com
  </description>
  <version>3.0.0-rc2</version>
  <packaging>pom</packaging>

  <modules>
   <module>base</module> <!-- "It's all about that base 'bout that base..." -->
  </modules>

  <organization>
    <name>FasterXML</name>
    <url>http://fasterxml.com/</url>
  </organization>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <developers>
    <developer>
      <id>cowtowncoder</id>
      <name>Tatu Saloranta</name>
      <email>tatu@fasterxml.com</email>
    </developer>
  </developers>

  <url>https://github.com/FasterXML/jackson-bom</url>
  <scm>
    <connection>scm:git:git@github.com:FasterXML/jackson-bom.git</connection>
    <developerConnection>scm:git:git@github.com:FasterXML/jackson-bom.git</developerConnection>
    <url>http://github.com/FasterXML/jackson-bom</url>
    <tag>jackson-bom-3.0.0-rc2</tag>
  </scm>

  <properties>
    <jackson.version>3.0.0-rc2</jackson.version>

    <!-- 08-Aug-2017, tatu: With Jackson 3.x we will drop patch version from
       annotations module, as there are no patch-level changes, ever
      -->
    <jackson.version.annotations>3.0-rc2</jackson.version.annotations>

    <jackson.version.core>${jackson.version}</jackson.version.core>
    <jackson.version.databind>${jackson.version}</jackson.version.databind>
    <jackson.version.dataformat>${jackson.version}</jackson.version.dataformat>
    <jackson.version.datatype>${jackson.version}</jackson.version.datatype>
    <jackson.version.jaxrs>${jackson.version}</jackson.version.jaxrs>
    <jackson.version.jakarta.rs>${jackson.version}</jackson.version.jakarta.rs>
    <jackson.version.jacksonjr>${jackson.version}</jackson.version.jacksonjr>

    <jackson.version.module>${jackson.version}</jackson.version.module>
    <jackson.version.module.kotlin>${jackson.version.module}</jackson.version.module.kotlin>
    <jackson.version.module.scala>${jackson.version.module}</jackson.version.module.scala>

    <!-- 3rd party dependency versions -->
    <woodstox.version>7.1.0</woodstox.version>
    <stax2.version>4.2.2</stax2.version>

    <!-- for Reproducible Builds -->
    <project.build.outputTimestamp>2025-03-28T22:25:05Z</project.build.outputTimestamp>
  </properties>

  <!-- 13-Jul-2022, tatu: Jackson 3.x now at the "new" Sonatype OSS repo.
       NOTE: unfortunately we DO need this here to publish bom itself.
       Hopefully that does not leak to downstream projects
    -->
  <distributionManagement>
    <snapshotRepository>
      <id>sonatype-nexus-snapshots-new</id>
      <name>Sonatype Nexus Snapshots (new)</name>
      <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>

    <repository>
      <id>sonatype-nexus-staging-new</id>
      <name>Nexus Release Repository (new)</name>
      <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>

  <dependencyManagement>
    <dependencies>

      <!-- Core -->

      <!-- 13-Jul-2022, tatu: NOTE! There is one notable exception to renaming
	   of packages between Jackson 2.x and 3.0: annotations will remain
	   in the "old" `com.fasterxml.jackson.core` group and NOT move to
	   `tools.jackson.core`. This is due to specific nature of annotations
	   as API: we want 2.x/3.x to be essentially compatible as if that was
	   just a Minor version upgrade, not Major.
	-->
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version.annotations}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version.core}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version.databind}</version>
      </dependency>

      <!-- Data Formats -->
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-avro</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-cbor</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-csv</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-ion</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-properties</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-protobuf</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-smile</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-toml</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-xml</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${jackson.version.dataformat}</version>
      </dependency>

      <!-- Data Types -->
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-eclipse-collections</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-guava</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>

      <!-- 17-Dec-2022, tatu: Hibernate modules not converted to 3.0, may not be ported -->
      <!-- 25-Feb-2021, tatu: as per [datatype-hibernate#139], h3 dropped from 2.13 -->
      <!--
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-hibernate4</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-hibernate5</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-hibernate6</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      -->
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-hppc</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-javax-money</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jakarta-jsonp</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jaxrs</artifactId>
        <!-- Should this follow datatype or JAX-RS version info?
          -->
        <version>${jackson.version.datatype}</version>
      </dependency>
      <!-- 19-Mar-2025, tatu: Merged into jackson-databind for Jackson 3.0
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      -->
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-joda</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-joda-money</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-json-org</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr353</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency> <!-- Java Money RI: -->
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-moneta</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.datatype</groupId>
        <artifactId>jackson-datatype-pcollections</artifactId>
        <version>${jackson.version.datatype}</version>
      </dependency>

      <!-- JAX-RS -->
      <dependency>
        <groupId>tools.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-base</artifactId>
        <version>${jackson.version.jaxrs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-cbor-provider</artifactId>
        <version>${jackson.version.jaxrs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${jackson.version.jaxrs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-smile-provider</artifactId>
        <version>${jackson.version.jaxrs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-xml-provider</artifactId>
        <version>${jackson.version.jaxrs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-yaml-provider</artifactId>
        <version>${jackson.version.jaxrs}</version>
      </dependency>

      <!-- Jakarta-RS (2.13+) -->
      <dependency>
        <groupId>tools.jackson.jakarta.rs</groupId>
        <artifactId>jackson-jakarta-rs-base</artifactId>
        <version>${jackson.version.jakarta.rs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jakarta.rs</groupId>
        <artifactId>jackson-jakarta-rs-cbor-provider</artifactId>
        <version>${jackson.version.jakarta.rs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jakarta.rs</groupId>
        <artifactId>jackson-jakarta-rs-json-provider</artifactId>
        <version>${jackson.version.jakarta.rs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jakarta.rs</groupId>
        <artifactId>jackson-jakarta-rs-smile-provider</artifactId>
        <version>${jackson.version.jakarta.rs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jakarta.rs</groupId>
        <artifactId>jackson-jakarta-rs-xml-provider</artifactId>
        <version>${jackson.version.jakarta.rs}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jakarta.rs</groupId>
        <artifactId>jackson-jakarta-rs-yaml-provider</artifactId>
        <version>${jackson.version.jakarta.rs}</version>
      </dependency>

      <!-- Jackson Jr. -->
      <dependency>
        <groupId>tools.jackson.jr</groupId>
        <artifactId>jackson-jr-all</artifactId>
        <version>${jackson.version.jacksonjr}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jr</groupId>
        <artifactId>jackson-jr-annotation-support</artifactId>
        <version>${jackson.version.jacksonjr}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jr</groupId>
        <artifactId>jackson-jr-extension-javatime</artifactId>
        <version>${jackson.version.jacksonjr}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jr</groupId>
        <artifactId>jackson-jr-objects</artifactId>
        <version>${jackson.version.jacksonjr}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jr</groupId>
        <artifactId>jackson-jr-retrofit2</artifactId>
        <version>${jackson.version.jacksonjr}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.jr</groupId>
        <artifactId>jackson-jr-stree</artifactId>
        <version>${jackson.version.jacksonjr}</version>
      </dependency>

      <!-- Modules, basic -->
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-afterburner</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-android-record</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-blackbird</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-guice</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-guice7</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-jaxb-annotations</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>

      <!-- 04-Mar-2023, tatu: These two dropped from Jackson 3.0
      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-jsonSchema</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-jsonSchema-jakarta</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      -->

      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-kotlin</artifactId>
        <version>${jackson.version.module.kotlin}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-mrbean</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-no-ctor-deser</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-osgi</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>

      <!-- 19-Mar-2025, tatu: Merged into jackson-databind for Jackson 3.0
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-parameter-names</artifactId>
        <version>${jackson.version.module}</version>
      </dependency>
      -->

      <!-- Language Modules -->

      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-scala_2.11</artifactId>
        <version>${jackson.version.module.scala}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-scala_2.12</artifactId>
        <version>${jackson.version.module.scala}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-scala_2.13</artifactId>
        <version>${jackson.version.module.scala}</version>
      </dependency>
      <dependency>
        <groupId>tools.jackson.module</groupId>
        <artifactId>jackson-module-scala_3</artifactId>
        <version>${jackson.version.module.scala}</version>
      </dependency>

      <!-- 3rd-party dependencies from primary Jackson components
        -->
      <dependency>
        <groupId>org.codehaus.woodstox</groupId>
        <artifactId>stax2-api</artifactId>
        <version>${stax2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.woodstox</groupId>
        <artifactId>woodstox-core</artifactId>
	<version>${woodstox.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <!-- Alas, need to include snapshot reference since otherwise can not find
       snapshot of parent... -->
  <!-- 13-Jul-2022, tatu: Jackson 3.x now at the "new" Sonatype OSS repo -->
  <repositories>
    <repository>
      <id>sonatype-nexus-snapshots-new</id>
      <name>Sonatype Nexus Snapshots (new)</name>
      <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
      <releases><enabled>false</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>
  </repositories>

</project>
