<?xml version="1.0"?>
<!--
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html
*******************************************************************************
* Copyright (C) 2010-2016, International Business Machines Corporation and    *
* others. All Rights Reserved.                                                *
*******************************************************************************
-->
<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>

  <groupId>com.ibm.icu</groupId>
  <artifactId>icu4j-root</artifactId>
  <version>73.1-SNAPSHOT</version>

  <packaging>pom</packaging>

  <name>ICU4J Root</name>
  <description>
    International Component for Unicode for Java (ICU4J) is a mature, widely used Java library
    providing Unicode and Globalization support 
  </description>
  <url>https://icu.unicode.org/</url>
  <inceptionYear>2001</inceptionYear>

  <licenses>
    <license>
      <name>Unicode/ICU License</name>
      <url>https://raw.githubusercontent.com/unicode-org/icu/main/icu4c/LICENSE</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>macchiati</id>
      <name>Mark Davis</name>
      <organization>Google</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>JCEmmons</id>
      <name>John Emmons</name>
      <organization>IBM Corporation</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>dougfelt</id>
      <name>Doug Felt</name>
      <organization>Google</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>deborah</id>
      <name>Deborah Goldsmith</name>
      <organization>Apple</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>srl295</id>
      <name>Steven Loomis</name>
      <organization>IBM Corporation</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>markusicu</id>
      <name>Markus Scherer</name>
      <organization>Google</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>pedberg</id>
      <name>Peter Edberg</name>
      <organization>Apple</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
    <developer>
      <id>yumaoka</id>
      <name>Yoshito Umaoka</name>
      <organization>IBM Corporation</organization>
      <roles>
        <role>PMC Member</role>
      </roles>
    </developer>
  </developers>

  <mailingLists>
    <mailingList>
      <name>icu-support</name>
      <subscribe>https://lists.sourceforge.net/lists/listinfo/icu-support</subscribe>
      <unsubscribe>https://lists.sourceforge.net/lists/listinfo/icu-support</unsubscribe>
      <post>icu-support@lists.sourceforge.net</post>
      <archive>http://sourceforge.net/mailarchive/forum.php?forum_name=icu-support</archive>
    </mailingList>
    <mailingList>
      <name>icu-announce</name>
      <subscribe>https://lists.sourceforge.net/lists/listinfo/icu-announce</subscribe>
      <unsubscribe>https://lists.sourceforge.net/lists/listinfo/icu-announce</unsubscribe>
      <post>icu-announce@lists.sourceforge.net</post>
      <archive>http://sourceforge.net/mailarchive/forum.php?forum_name=icu-announce</archive>
    </mailingList>
    <mailingList>
      <name>icu-design</name>
      <subscribe>https://lists.sourceforge.net/lists/listinfo/icu-design</subscribe>
      <unsubscribe>https://lists.sourceforge.net/lists/listinfo/icu-design</unsubscribe>
      <post>icu-design@lists.sourceforge.net</post>
      <archive>http://sourceforge.net/mailarchive/forum.php?forum_name=icu-design</archive>
    </mailingList>
  </mailingLists>

  <scm>
    <connection>scm:git:git://github.com/unicode-org/icu.git</connection>
    <developerConnection>scm:git:git@github.com:unicode-org/icu.git</developerConnection>
    <url>https://github.com/unicode-org/icu</url>
  </scm>

  <issueManagement>
    <system>JIRA</system>
    <url>https://unicode-org.atlassian.net/projects/ICU</url>
  </issueManagement>

  <distributionManagement>
    <repository>
      <id>icu4j-releases</id>
      <name>ICU4J Central Repository</name>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
    <snapshotRepository>
      <id>icu4j-snapshots</id>
      <name>ICU4J Central Development Repository</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

  <profiles>
    <!-- 
      For testing localespi using the Java extensions feature, which last existed in Java 8.
      ICU4J currently has a minimum supported version of 8.
    -->
    <profile>
      <id>localespi-tests-java8</id>
      <activation>
        <jdk>(,8]</jdk>
      </activation>
      <properties>
        <localespi-tests.jvm.args>-Djava.ext.dirs="${java.io.tmpdir}/ext-test-jars"</localespi-tests.jvm.args>
        <localespi-tests.locale-providers></localespi-tests.locale-providers>
      </properties>
    </profile>
    <!--
      For testing localespi using the classpath for Java 9+, since Java extensions were
      deprecated after Java 8.
    -->
    <profile>
      <id>localespi-tests-java9</id>
      <activation>
        <jdk>[9,)</jdk>
      </activation>
      <properties>
        <localespi-tests.jvm.args></localespi-tests.jvm.args>
        <localespi-tests.locale-providers>CLDR,COMPAT,SPI</localespi-tests.locale-providers>
      </properties>
    </profile>
  </profiles>

  <properties>
    <!-- 
      Main ICU4J version number.
      Note: This version string must also be repeated in <version> of this root pom.xml above.
      Note: Keep the `jar.spec.version` number in sync with this value, too.
     -->
    <icu4j.version>73.1-SNAPSHOT</icu4j.version>

    <!-- ICU4J currently builds with Java 8 sources -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <!-- Keep the target class file versions consistent with the source file version -->
    <maven.compiler.target>1.8</maven.compiler.target>
    <!-- The encoding / encoding form of the source files -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- ICU4J currently builds with Java 8 sources -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <!-- Keep the target class file versions consistent with the source file version -->
    <maven.compiler.target>1.8</maven.compiler.target>
    <!-- The encoding / encoding form of the source files -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- Specification-Title -->
    <jar.spec.title>International Components for Unicode for Java</jar.spec.title>
    <!-- Specification-Version -->
    <jar.spec.version>73</jar.spec.version>
    <!-- Specification-Vendor -->
    <jar.spec.vendor>Unicode, Inc.</jar.spec.vendor>

    <!-- Implementation-Title -->
    <jar.impl.title>International Components for Unicode for Java</jar.impl.title>
    <!-- Implementation-Version -->
    <jar.impl.version>${icu4j.version}</jar.impl.version>
    <!-- Implementation-Vendor -->
    <jar.impl.vendor>Unicode, Inc.</jar.impl.vendor>
    <!-- Implementation-Vendor-Id -->
    <jar.impl.vendor.id>org.unicode</jar.impl.vendor.id>

    <!-- Bundle-ManifestVersion -->
    <jar.manifest.version>2</jar.manifest.version>
    <!-- Bundle-Name -->
    <jar.name>${project.name}</jar.name>
    <!-- Bundle-Description -->
    <jar.description>${project.name}</jar.description>
    <!-- Bundle-SymbolicName -->
    <jar.symbolic.name>${project.groupId}</jar.symbolic.name>
    <!-- Bundle-Version -->
    <jar.version>${project.version}</jar.version>
    <!-- Bundle-Vendor -->
    <jar.vendor>Unicode, Inc.</jar.vendor>
    <!-- Bundle-Copyright -->
    <jar.copyright.info>&#169; 2016 and later: Unicode, Inc. and others. License &#38; terms of use: http://www.unicode.org/copyright.html</jar.copyright.info>

    <!-- Main-Class -->
    <jar.main.class>com.ibm.icu.util.VersionInfo</jar.main.class>
  </properties>

  <modules>
    <module>maven-icu4j</module>
    <module>maven-icu4j-datafiles</module>
    <module>maven-icu4j-charset</module>
    <module>maven-icu4j-localespi</module>
    <module>maven-icu4j-test-datafiles</module>
  </modules>

  <build>
    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>

        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.2</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>3.0.0-M7</version>
        </plugin>

        <plugin>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>

      </plugins>
    </pluginManagement>
  </build>

  <dependencyManagement>
    <dependencies>

      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.13.1</version>
          <scope>test</scope>
      </dependency>

      <!-- this is for parameterized JUnit tests -->
      <dependency>
          <groupId>pl.pragmatists</groupId>
          <artifactId>JUnitParams</artifactId>
          <version>1.0.5</version>
          <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.ibm.icu</groupId>
        <artifactId>icu4j-datafiles</artifactId>
        <version>${icu4j.version}</version>
      </dependency>

      <dependency>
        <groupId>com.ibm.icu</groupId>
        <artifactId>icu4j-test-datafiles</artifactId>
        <version>${icu4j.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.ibm.icu</groupId>
        <artifactId>icu4j</artifactId>
        <version>${icu4j.version}</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

</project>
