mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-04 21:15:35 +00:00
parent
cc777ef48c
commit
deab8eef82
21 changed files with 767 additions and 160 deletions
0
icu4j/extract-data-files.sh
Executable file → Normal file
0
icu4j/extract-data-files.sh
Executable file → Normal file
|
@ -8,7 +8,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>demos</artifactId>
|
||||
|
@ -35,4 +35,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>icu4j-charset</artifactId>
|
||||
<description>icu4j-charset is a supplemental library for icu4j, implementing Java Charset SPI.</description>
|
||||
|
||||
<properties>
|
||||
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
|
||||
|
@ -22,7 +24,7 @@
|
|||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<artifactId>icu4j</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>collate</artifactId>
|
||||
|
@ -66,4 +67,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>common_tests</artifactId>
|
||||
|
@ -96,6 +97,13 @@
|
|||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>core</artifactId>
|
||||
|
@ -52,9 +53,6 @@
|
|||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
|
@ -63,6 +61,13 @@
|
|||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>currdata</artifactId>
|
||||
|
@ -26,4 +27,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>framework</artifactId>
|
||||
|
@ -38,9 +39,6 @@
|
|||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
|
@ -49,8 +47,14 @@
|
|||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
</project>
|
||||
|
|
|
@ -8,11 +8,14 @@
|
|||
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>icu4j</artifactId>
|
||||
<description>International Components for Unicode for Java (ICU4J) is a mature, widely used Java library
|
||||
providing Unicode and Globalization support</description>
|
||||
|
||||
<properties>
|
||||
<icu4j.api.doc.root.dir>${project.basedir}/../..</icu4j.api.doc.root.dir>
|
||||
|
@ -66,6 +69,15 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>source-jar</id>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<createSourcesJar>true</createSourcesJar>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
|
@ -75,22 +87,60 @@
|
|||
<createDependencyReducedPom>true</createDependencyReducedPom>
|
||||
<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
|
||||
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
|
||||
<useDependencyReducedPomInJar>true</useDependencyReducedPomInJar>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<manifestEntries>
|
||||
<Main-Class>com.ibm.icu.util.VersionInfo</Main-Class>
|
||||
<Export-Package>com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.number,com.ibm.icu.text,com.ibm.icu.util</Export-Package>
|
||||
</manifestEntries>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<artifactId>maven-clean-plugin</artifactId>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Main-Class>com.ibm.icu.util.VersionInfo</Main-Class>
|
||||
<Export-Package>com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.number,com.ibm.icu.text,com.ibm.icu.util</Export-Package>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
<filesets>
|
||||
<fileset>
|
||||
<directory>.</directory>
|
||||
<includes>
|
||||
<include>**/dependency-reduced-pom.xml</include>
|
||||
</includes>
|
||||
<followSymlinks>false</followSymlinks>
|
||||
</fileset>
|
||||
</filesets>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>with_javadoc</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<!-- This is important. Since this is a shaded jar with no sources,
|
||||
there is no javadoc generated without this line.
|
||||
-->
|
||||
<includeDependencySources>true</includeDependencySources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>langdata</artifactId>
|
||||
|
@ -26,4 +27,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>icu4j-localespi</artifactId>
|
||||
<description>icu4j-localespi is a supplemental library for icu4j, implementing Java Locale SPI.</description>
|
||||
|
||||
<properties>
|
||||
<proj.displayname>JDK locale service provider</proj.displayname>
|
||||
|
@ -81,10 +83,10 @@
|
|||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
Mainly for running localespi tests in Java 8:
|
||||
The easiest way to get the integration tests to pass (in particular, to get the JVM that is
|
||||
spawned with the `-Djava.ext.dirs` system property value to be interpreted properly in order
|
||||
spawned with the `-Djava.ext.dirs` system property value to be interpreted properly in order
|
||||
for the extensions jars therein to be loaded correctly) was to copy the jars needed to a
|
||||
separate directory. (The alternative of pointing to the build directories of the respective
|
||||
submodules didn't seem to work.)
|
||||
|
@ -93,7 +95,6 @@
|
|||
classpath is to be used instead.
|
||||
-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
|
@ -125,9 +126,7 @@
|
|||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>3.1.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
|
@ -145,7 +144,7 @@
|
|||
<include>**/*ITCase.java</include>
|
||||
</includes>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
For Java 8:
|
||||
Set up the locale service provider using the .jar file of `icu4j-localespi` main code from the `package` phase
|
||||
|
||||
|
@ -153,7 +152,7 @@
|
|||
Using the `java.ext.dirs` special Java system property on Java 9+ runtimes triggers an
|
||||
error that tells the user to place those jars on the classpath instead.
|
||||
-->
|
||||
<!--
|
||||
<!--
|
||||
Notes:
|
||||
|
||||
https://stackoverflow.com/a/5039973/2077918
|
||||
|
@ -172,7 +171,7 @@
|
|||
-->
|
||||
<argLine>${localespi-tests.jvm.args}</argLine>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
For Java 9+:
|
||||
Configure to use the locale service provider using the .jar file of `icu4j-localespi` main code from the `package` phase
|
||||
|
||||
|
@ -190,7 +189,7 @@
|
|||
</build>
|
||||
|
||||
<profiles>
|
||||
<!--
|
||||
<!--
|
||||
For testing localespi using the Java extensions feature, which last existed in Java 8.
|
||||
ICU4J currently has a minimum supported version of 8.
|
||||
-->
|
||||
|
@ -218,6 +217,33 @@
|
|||
<localespi-tests.locale-providers>CLDR,COMPAT,SPI</localespi-tests.locale-providers>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>with_javadoc</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<!-- All files in com/ibm/icu/impl folders are exluded from javadoc.
|
||||
So we need to bring back this one file, to match the previously published artifacts.
|
||||
Without this all java files are excluded and no javadoc is generated.
|
||||
-->
|
||||
<sourceFileIncludes>
|
||||
<include>ICULocaleServiceProvider.java</include>
|
||||
</sourceFileIncludes>
|
||||
<sourcepath>${basedir}/src/main/java/com/ibm/icu/impl/javaspi</sourcepath>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
* © 2023 and later: Unicode, Inc. and others.
|
||||
* License & terms of use: http://www.unicode.org/copyright.html
|
||||
-->
|
||||
<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>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>main</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<icu4j.api.doc.root.dir>${project.basedir}/..</icu4j.api.doc.root.dir>
|
||||
</properties>
|
||||
|
||||
<modules>
|
||||
<module>framework</module>
|
||||
<module>core</module>
|
||||
|
||||
<!-- For publishing to Maven Central -->
|
||||
<module>charset</module>
|
||||
<module>collate</module>
|
||||
<module>currdata</module>
|
||||
<module>langdata</module>
|
||||
<module>regiondata</module>
|
||||
<module>translit</module>
|
||||
<module>common_tests</module>
|
||||
|
||||
<!-- Shaded jar for publishing to Maven Central -->
|
||||
<module>icu4j</module>
|
||||
|
||||
<!-- For publishing to Maven Central. Not shaded, but depends on the shaded artifacts above.
|
||||
Also contains all the project properties (developers, scm, etc) needed for maven publishing.
|
||||
-->
|
||||
<module>localespi</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>regiondata</artifactId>
|
||||
|
@ -26,4 +27,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>main</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>translit</artifactId>
|
||||
|
@ -61,4 +62,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
55
icu4j/maven-migration/perf-tests/pom.xml
Normal file
55
icu4j/maven-migration/perf-tests/pom.xml
Normal file
|
@ -0,0 +1,55 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
* © 2023 and later: Unicode, Inc. and others.
|
||||
* License & terms of use: http://www.unicode.org/copyright.html
|
||||
-->
|
||||
<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>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>perf-tests</artifactId>
|
||||
|
||||
<properties>
|
||||
<module-name>perf_tests</module-name>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>collate</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-charset</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>tools_misc</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
* © 2023 and later: Unicode, Inc. and others.
|
||||
* © 2016 and later: Unicode, Inc. and others.
|
||||
* License & terms of use: http://www.unicode.org/copyright.html
|
||||
-->
|
||||
<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">
|
||||
|
@ -8,12 +8,15 @@
|
|||
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<name>${proj-title} (${project.artifactId})</name>
|
||||
<description>International Component for Unicode for Java (ICU4J) is a mature, widely used Java library
|
||||
providing Unicode and Globalization support</description>
|
||||
<description>International Components for Unicode for Java (ICU4J) is a mature, widely used Java library
|
||||
providing Unicode and Globalization support.
|
||||
This is the base artifact with common settings, not intended to use directly.</description>
|
||||
<url>https://icu.unicode.org/</url>
|
||||
<inceptionYear>1995</inceptionYear>
|
||||
|
||||
<organization>
|
||||
<name>Unicode, Inc.</name>
|
||||
|
@ -21,10 +24,28 @@
|
|||
</organization>
|
||||
|
||||
<modules>
|
||||
<module>main</module>
|
||||
<module>main/framework</module>
|
||||
<module>main/core</module>
|
||||
<!-- For publishing to Maven Central -->
|
||||
<module>main/charset</module>
|
||||
<module>main/collate</module>
|
||||
<module>main/currdata</module>
|
||||
<module>main/langdata</module>
|
||||
<module>main/regiondata</module>
|
||||
<module>main/translit</module>
|
||||
<module>main/common_tests</module>
|
||||
<!-- Shaded jar for publishing to Maven Central -->
|
||||
<module>main/icu4j</module>
|
||||
<!-- For publishing to Maven Central. Not shaded, but depends on the shaded artifacts above.
|
||||
Also contains all the project properties (developers, scm, etc) needed for maven publishing.
|
||||
-->
|
||||
<module>main/localespi</module>
|
||||
|
||||
<module>demos</module>
|
||||
<module>samples</module>
|
||||
<module>tools/misc</module>
|
||||
<module>tools/utilities-for-cldr</module>
|
||||
<module>perf-tests</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
@ -32,26 +53,33 @@
|
|||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
|
||||
<maven-central-repo-url>https://oss.sonatype.org</maven-central-repo-url>
|
||||
<maven-central-snapshots-repo-url>${maven-central-repo-url}/content/repositories/snapshots</maven-central-snapshots-repo-url>
|
||||
|
||||
<junit.version>4.13.2</junit.version>
|
||||
<junitparams.version>1.1.1</junitparams.version>
|
||||
|
||||
<proj-title>International Components for Unicode for Java</proj-title>
|
||||
<proj.displayname>${project.artifactId}</proj.displayname>
|
||||
|
||||
<!-- Version update! -->
|
||||
<icu.major.version>74</icu.major.version>
|
||||
|
||||
<!-- Variables used to generate the javadoc -->
|
||||
<api.doc.version>74 Release Candidate</api.doc.version>
|
||||
<!-- Version update! -->
|
||||
<api.doc.version>${icu.major.version} Release Candidate</api.doc.version>
|
||||
<icu4j.api.doc.window.title>ICU4J ${api.doc.version}</icu4j.api.doc.window.title>
|
||||
<icu4j.api.doc.header>ICU4J ${api.doc.version}</icu4j.api.doc.header>
|
||||
<icu4j.api.doc.copyright.footer><font size=-1>Copyright © 2016 Unicode, Inc. and others.</font></icu4j.api.doc.copyright.footer>
|
||||
|
||||
<!-- Needs to be overriden in sub-modules -->
|
||||
<icu4j.api.doc.root.dir>${project.basedir}</icu4j.api.doc.root.dir>
|
||||
<icu4j.api.report.version>${icu.major.version}</icu4j.api.report.version>
|
||||
|
||||
<!-- Used for the .jar Manifest files -->
|
||||
|
||||
<mf.Specification-Version>74</mf.Specification-Version>
|
||||
<mf.Implementation-Version>74.0.1</mf.Implementation-Version>
|
||||
<mf.Bundle-Version>74.0.1</mf.Bundle-Version>
|
||||
|
||||
<mf.Specification-Version>${icu.major.version}</mf.Specification-Version>
|
||||
<mf.Implementation-Version>${project.version}</mf.Implementation-Version>
|
||||
<mf.Bundle-Version>${project.version}</mf.Bundle-Version>
|
||||
<mf.Bundle-RequiredExecutionEnvironment>JavaSE-1.8</mf.Bundle-RequiredExecutionEnvironment>
|
||||
|
||||
<!-- For most modules artifactId does not have an "icu4j" prefix, so this is a good default -->
|
||||
|
@ -74,6 +102,81 @@
|
|||
<mf.Bundle-Copyright>© 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html</mf.Bundle-Copyright>
|
||||
</properties>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>Unicode/ICU License</name>
|
||||
<url>https://raw.githubusercontent.com/unicode-org/icu/main/LICENSE</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<id>markusicu</id>
|
||||
<name>Markus Scherer</name>
|
||||
<organization>Google</organization>
|
||||
<roles>
|
||||
<role>Chair</role>
|
||||
</roles>
|
||||
</developer>
|
||||
<developer>
|
||||
<id>yumaoka</id>
|
||||
<name>Yoshito Umaoka</name>
|
||||
<organization>IBM</organization>
|
||||
<roles>
|
||||
<role>Vice chair</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>${maven-central-releases-repo-url}</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>icu4j-snapshots</id>
|
||||
<name>ICU4J Central Development Repository</name>
|
||||
<url>${maven-central-snapshots-repo-url}</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
|
@ -88,10 +191,34 @@
|
|||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.11.0</version>
|
||||
<!-- Plugin bug, maven.compiler.* properties are not honored, see
|
||||
https://issues.apache.org/jira/browse/MCOMPILER-545
|
||||
-->
|
||||
<configuration>
|
||||
<source>${maven.compiler.source}</source>
|
||||
<target>${maven.compiler.target}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.1.2</version>
|
||||
<configuration>
|
||||
<includes>
|
||||
<!-- Some test files start with "IntlTest...". Many don't fit
|
||||
the Surefire test file name default patterns. To be safe, use
|
||||
a catchall pattern instead of the default patterns.
|
||||
|
||||
FYI, the default patterns are documented on the website of the
|
||||
testing plugin:
|
||||
https://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html
|
||||
-->
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>3.1.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-install-plugin</artifactId>
|
||||
|
@ -125,6 +252,43 @@
|
|||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<version>3.6.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<version>3.4.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<!-- Workaround for Windows symlink issue:
|
||||
https://issues.apache.org/jira/browse/MRESOURCES-237
|
||||
Note: The recommended fix there is to filter out the symlink files, which
|
||||
would result in no license files in the .jar. That is not what we want.
|
||||
Instead, this `<execution>` config copies the LICENSE file to `target` at build time.
|
||||
-->
|
||||
<id>add-resource</id>
|
||||
<goals>
|
||||
<goal>add-resource</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${rootlocation}/..</directory>
|
||||
<includes>
|
||||
<include>LICENSE</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>root-location</id>
|
||||
<phase>initialize</phase>
|
||||
<goals>
|
||||
<goal>rootlocation</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
|
@ -132,6 +296,21 @@
|
|||
<plugin>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>enforce-maven</id>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<rules>
|
||||
<requireMavenVersion>
|
||||
<version>3.2.5</version>
|
||||
</requireMavenVersion>
|
||||
</rules>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
|
@ -169,20 +348,22 @@
|
|||
<taglets>
|
||||
<taglet>
|
||||
<tagletClass>com.ibm.icu.dev.tool.docs.ICUTaglet</tagletClass>
|
||||
<!-- We can use `tagletArtifact` instead of `tagletpath`,
|
||||
but then we must `mvn install` the `tools_build` artifact. -->
|
||||
<tagletpath>${icu4j.api.doc.root.dir}/tools/build/target/classes</tagletpath>
|
||||
<tagletArtifact>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>tools_build</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</tagletArtifact>
|
||||
</taglet>
|
||||
<taglet>
|
||||
<tagletClass>ch.arrenbrecht.jcite.JCiteTaglet</tagletClass>
|
||||
<tagletArtifact>
|
||||
<groupId>org.mcraig</groupId>
|
||||
<artifactId>jcite</artifactId>
|
||||
<version>1.13.0</version>
|
||||
</tagletArtifact>
|
||||
</taglet>
|
||||
</taglets>
|
||||
<tagletArtifacts>
|
||||
<tagletArtifact>
|
||||
<groupId>org.mcraig</groupId>
|
||||
<artifactId>jcite</artifactId>
|
||||
<version>1.13.0</version>
|
||||
</tagletArtifact>
|
||||
<!-- Dependencies for org.mcraig:jcite -->
|
||||
<tagletArtifact>
|
||||
<groupId>commons-discovery</groupId>
|
||||
|
@ -242,21 +423,10 @@
|
|||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>enforce-maven</id>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<rules>
|
||||
<requireMavenVersion>
|
||||
<version>3.2.5</version>
|
||||
</requireMavenVersion>
|
||||
</rules>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
|
@ -265,7 +435,6 @@
|
|||
<profiles>
|
||||
|
||||
<!-- This is used to create the *-sources.jar for individual modules -->
|
||||
<!-- TODO: the shaded equivalent. -->
|
||||
<profile>
|
||||
<id>with_sources</id>
|
||||
<build>
|
||||
|
@ -286,7 +455,6 @@
|
|||
</profile>
|
||||
|
||||
<!-- This is used to create the *-javadoc.jar for individual modules -->
|
||||
<!-- TODO: the shaded equivalent. -->
|
||||
<profile>
|
||||
<id>with_javadoc</id>
|
||||
<build>
|
||||
|
@ -327,10 +495,63 @@
|
|||
</build>
|
||||
</profile>
|
||||
|
||||
<!-- This is used to gather API data used to generate API reports
|
||||
(regular, draft, deprecated, status consistency, etc.)
|
||||
To run it:
|
||||
mvn install -DskipITs -DskipTests
|
||||
mvn site -DskipITs -DskipTests -P gatherapi
|
||||
-->
|
||||
<profile>
|
||||
<id>gatherapi</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>aggregate</id>
|
||||
<phase>site</phase>
|
||||
<goals>
|
||||
<goal>aggregate</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<!-- For incomplete doc tags javadoc fails with:
|
||||
```
|
||||
Error while creating javadoc report:
|
||||
Exit code: 1
|
||||
Command line was: ...
|
||||
Refer to the generated Javadoc files in '...' dir.
|
||||
```
|
||||
But in most cases these are not related to what we do here, which is API reporting.
|
||||
We ignore them so that we can progess with what we really care.
|
||||
-->
|
||||
<failOnError>false</failOnError>
|
||||
<useStandardDocletOptions>false</useStandardDocletOptions>
|
||||
<doclet>com.ibm.icu.dev.tool.docs.GatherAPIData</doclet>
|
||||
<docletArtifact>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>tools_build</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</docletArtifact>
|
||||
<additionalOptions>
|
||||
<additionalOption>-name 'ICU4J ${mf.Implementation-Version}'</additionalOption>
|
||||
<additionalOption>-output ${project.build.directory}/icu4j${icu4j.api.report.version}.api3</additionalOption>
|
||||
<additionalOption>-internal</additionalOption>
|
||||
<additionalOption>-version</additionalOption>
|
||||
<additionalOption>-gzip</additionalOption>
|
||||
</additionalOptions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!-- The tools/build module depends on the old tools.jar (jdk 1.8)
|
||||
The com.sun.javadoc package was deprecated in Java 11, and has been removed for Java 17.
|
||||
JDK 11 does not include tools.jar anymore. The code must be updated, see migration guide at
|
||||
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.javadoc/jdk/javadoc/doclet/package-summary.html#migration
|
||||
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.javadoc/jdk/javadoc/doclet/package-summary.html#migration
|
||||
-->
|
||||
<profile>
|
||||
<id>old_jdk_taglet</id>
|
||||
|
@ -341,6 +562,31 @@
|
|||
<module>tools/build</module>
|
||||
</modules>
|
||||
</profile>
|
||||
|
||||
<!-- Starting with JDK 9, the Java compiler supports the −−release version.
|
||||
Unlike source (checking the language features) and target (the version of the classes generated),
|
||||
this option also checks that newer APIs are not used.
|
||||
https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-release.html
|
||||
Would be nice if the maven-compiler-plugin would filter this out below JDK 9, but it does not.
|
||||
So we must use an auto-activated profile for this option.
|
||||
-->
|
||||
<profile>
|
||||
<id>newer_jdk</id>
|
||||
<activation>
|
||||
<jdk>[9,)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<release>8</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>samples</artifactId>
|
||||
|
@ -30,4 +30,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -28,6 +28,17 @@
|
|||
#
|
||||
# Then we cleanup older Eclipse project & launcher files, ant scripts, manifest.stub
|
||||
|
||||
function safeMkdir() {
|
||||
mkdir -p "$1"
|
||||
}
|
||||
|
||||
function moveOrRename() {
|
||||
local SRC=$1
|
||||
local DEST=$2
|
||||
|
||||
mv "$SRC" "$DEST"
|
||||
}
|
||||
|
||||
function rmDirIfExists() {
|
||||
[ -d "$1" ] && rm -fr "$1"
|
||||
}
|
||||
|
@ -36,10 +47,17 @@ function rmFileIfExists() {
|
|||
[ -f "$1" ] && rm "$1"
|
||||
}
|
||||
|
||||
function copyRecursive() {
|
||||
local SRC=$1
|
||||
local DEST=$2
|
||||
|
||||
cp -R "$SRC" "$DEST"
|
||||
}
|
||||
|
||||
function safeMoveDir() {
|
||||
export FOLDER_NAME=$1
|
||||
export FROM_FOLDER=$2
|
||||
export TO_FOLDER=$3
|
||||
local FOLDER_NAME=$1
|
||||
local FROM_FOLDER=$2
|
||||
local TO_FOLDER=$3
|
||||
|
||||
if [ ! -d "$FROM_FOLDER/$FOLDER_NAME" ]; then
|
||||
echo " No '$FROM_FOLDER/$FOLDER_NAME' to move."
|
||||
|
@ -49,29 +67,43 @@ function safeMoveDir() {
|
|||
echo " Error: folder '$TO_FOLDER/$FOLDER_NAME' already exists!"
|
||||
exit
|
||||
else
|
||||
mkdir -p $TO_FOLDER
|
||||
mv $FROM_FOLDER/$FOLDER_NAME $TO_FOLDER/
|
||||
safeMkdir $TO_FOLDER
|
||||
moveOrRename $FROM_FOLDER/$FOLDER_NAME $TO_FOLDER/
|
||||
echo " Moving '$FOLDER_NAME' folder from '$FROM_FOLDER' to '$TO_FOLDER'"
|
||||
fi
|
||||
}
|
||||
|
||||
function rmFileGlobInDir() {
|
||||
local DIR=$1
|
||||
local PATTERN=$2
|
||||
|
||||
find "$DIR" -type f -name "$PATTERN" -exec rm {} \;
|
||||
}
|
||||
|
||||
function keepOnlyFileGlobInDir() {
|
||||
local DIR=$1
|
||||
local PATTERN=$2
|
||||
|
||||
find "$DIR" -type f -not -name "$PATTERN" -exec rm {} \;
|
||||
}
|
||||
|
||||
# Split the content of the `java` foldert into `java` and `resources`, the way maven wants it
|
||||
function splitJavaToResources() {
|
||||
# Should point to the folder containing `java`, either main/ or test/
|
||||
export BASE_FOLDER=$1
|
||||
local BASE_FOLDER=$1
|
||||
|
||||
echo " Splitting '$BASE_FOLDER/java/' into '$BASE_FOLDER/java/' and '$BASE_FOLDER/resources/'"
|
||||
# copy `java` to `resources`
|
||||
cp -R $BASE_FOLDER/java/ $BASE_FOLDER/resources/
|
||||
copyRecursive $BASE_FOLDER/java/ $BASE_FOLDER/resources/
|
||||
# delete all not `.java` from `java`
|
||||
find $BASE_FOLDER/java/ -type f -not -name *.java -exec rm {} \;
|
||||
keepOnlyFileGlobInDir $BASE_FOLDER/java/ *.java
|
||||
# delete all `.java` from `resources`
|
||||
find $BASE_FOLDER/resources/ -type f -name *.java -exec rm {} \;
|
||||
rmFileGlobInDir $BASE_FOLDER/resources/ *.java
|
||||
}
|
||||
|
||||
function removeEclipseProjectFiles() {
|
||||
# Should point to the old folder (to be moved), containing the eclipse / ant files
|
||||
export BASE_FOLDER=$1
|
||||
local BASE_FOLDER=$1
|
||||
|
||||
# Cleanup Eclipse project & launcher files, ant projects, other stuff
|
||||
# Eclipse
|
||||
|
@ -89,7 +121,7 @@ function removeEclipseProjectFiles() {
|
|||
|
||||
# Takes a folder as parameter and removes the all the empty sub-folders.
|
||||
function removeEmptyFolders() {
|
||||
export BASE_FOLDER=$1
|
||||
local BASE_FOLDER=$1
|
||||
# `find -type d .` finds all subfolders, empty or not.
|
||||
# We can't just force delete (-r), as that would also delete non-empty folders.
|
||||
# And the find iteration is not children first, but parent first.
|
||||
|
@ -112,11 +144,11 @@ function removeEmptyFolders() {
|
|||
|
||||
function moveMainModuleToMaven() {
|
||||
# 1. $1: component name (core, charset, etc)
|
||||
export MODULE_NAME=$1
|
||||
local MODULE_NAME=$1
|
||||
# 2. folder name in the pre-maven structure (`classes` or `tests`)
|
||||
export SRC_TYPE=$2
|
||||
local SRC_TYPE=$2
|
||||
# 3. folder name in the maven standard structure (`main` or `test`)
|
||||
export TRG_TYPE=$3
|
||||
local TRG_TYPE=$3
|
||||
|
||||
if [ ! -d main/$SRC_TYPE/$MODULE_NAME ]; then
|
||||
echo " Module '$MODULE_NAME' does not have '$SRC_TYPE' to move to '$TRG_TYPE'"
|
||||
|
@ -148,14 +180,14 @@ function mainModuleToMaven() {
|
|||
echo "Migrating $1 to maven"
|
||||
moveMainModuleToMaven $1 classes main
|
||||
moveMainModuleToMaven $1 tests test
|
||||
mkdir -p main/$MODULE_NAME/src/main/resources/
|
||||
safeMkdir main/$MODULE_NAME/src/main/resources/
|
||||
ln -s ../../../../../../LICENSE main/$MODULE_NAME/src/main/resources/LICENSE
|
||||
}
|
||||
|
||||
function simpleModuleToMaven() {
|
||||
# 1. $1: component name (core, charset, etc)
|
||||
export MODULE_NAME=$1
|
||||
export LICENSE_PATH=$2
|
||||
local MODULE_NAME=$1
|
||||
local LICENSE_PATH=$2
|
||||
echo "Migrating $MODULE_NAME to maven"
|
||||
|
||||
safeMoveDir com $MODULE_NAME/src $MODULE_NAME/src/main/java
|
||||
|
@ -163,7 +195,7 @@ function simpleModuleToMaven() {
|
|||
|
||||
removeEclipseProjectFiles $MODULE_NAME
|
||||
|
||||
mkdir -p $MODULE_NAME/src/main/resources/
|
||||
safeMkdir $MODULE_NAME/src/main/resources/
|
||||
ln -s $LICENSE_PATH $MODULE_NAME/src/main/resources/LICENSE
|
||||
|
||||
echo " Remove empty folders from '$MODULE_NAME'"
|
||||
|
@ -171,22 +203,24 @@ function simpleModuleToMaven() {
|
|||
}
|
||||
|
||||
function moveCoreTestFileToCommon() {
|
||||
export FOLDER_NAME=$1
|
||||
export FILE_NAME=$2
|
||||
mkdir -p $COMMON_TEST_FOLDER/$FOLDER_NAME
|
||||
mv $CORE_TEST_FOLDER/$FOLDER_NAME/$FILE_NAME $COMMON_TEST_FOLDER/$FOLDER_NAME/
|
||||
local FOLDER_NAME=$1
|
||||
local FILE_NAME=$2
|
||||
safeMkdir $COMMON_TEST_FOLDER/$FOLDER_NAME
|
||||
moveOrRename $CORE_TEST_FOLDER/$FOLDER_NAME/$FILE_NAME $COMMON_TEST_FOLDER/$FOLDER_NAME/
|
||||
}
|
||||
|
||||
function moveCircDepTestOutOfCore() {
|
||||
export CORE_TEST_FOLDER=main/core/src/test/java/com/ibm/icu/dev/test
|
||||
export COMMON_TEST_FOLDER=main/common_tests/src/test/java/com/ibm/icu/dev/test
|
||||
|
||||
mkdir -p $CORE_TEST_FOLDER
|
||||
safeMkdir $CORE_TEST_FOLDER
|
||||
|
||||
moveCoreTestFileToCommon calendar DataDrivenCalendarTest.java
|
||||
moveCoreTestFileToCommon format CompactDecimalFormatTest.java
|
||||
moveCoreTestFileToCommon format DataDrivenFormatTest.java
|
||||
moveCoreTestFileToCommon format DateFormatTest.java
|
||||
moveCoreTestFileToCommon format IntlTestDecimalFormatSymbolsC.java
|
||||
moveCoreTestFileToCommon format IntlTestDecimalFormatAPIC.java
|
||||
moveCoreTestFileToCommon format MeasureUnitTest.java
|
||||
moveCoreTestFileToCommon format NumberFormatDataDrivenTest.java
|
||||
moveCoreTestFileToCommon format NumberFormatRegressionTest.java
|
||||
|
@ -226,7 +260,7 @@ function moveCircDepTestOutOfCore() {
|
|||
|
||||
# Looks like the packaging project was already some kind of test for how things come together.
|
||||
# Should we move all the files in this project instead of common_tests?
|
||||
mv main/tests/packaging/src/com/ibm/icu/dev/test/* $COMMON_TEST_FOLDER/
|
||||
moveOrRename main/tests/packaging/src/com/ibm/icu/dev/test/* $COMMON_TEST_FOLDER/
|
||||
removeEclipseProjectFiles main/tests/packaging
|
||||
|
||||
# At this point this folder should be empty
|
||||
|
@ -234,6 +268,14 @@ function moveCircDepTestOutOfCore() {
|
|||
rm -d main/core/src/test/java/com/ibm/icu/dev/test/serializable
|
||||
}
|
||||
|
||||
function moveFilesInTools() {
|
||||
local TOOLS_SRC_ROOT_FOLDER=tools/misc/src/main/java/com/ibm/icu/dev/tool
|
||||
local TOOLS_SRC_SHARED_SUBFOLDER=tools/misc/src/main/java/com/ibm/icu/dev/tool/shared
|
||||
|
||||
safeMkdir $TOOLS_SRC_SHARED_SUBFOLDER
|
||||
moveOrRename $TOOLS_SRC_ROOT_FOLDER/UOption.java $TOOLS_SRC_SHARED_SUBFOLDER/
|
||||
}
|
||||
|
||||
# ===============================================================
|
||||
# Here starts the real script execution
|
||||
|
||||
|
@ -247,13 +289,13 @@ if [ ! -f "main/classes/core/build.xml" ]; then
|
|||
exit
|
||||
fi
|
||||
|
||||
# Copy over most files from `maven-migration` dir needed for Maven build...
|
||||
MVN_MIG_DIR="$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
cp -R ${MVN_MIG_DIR}/* .
|
||||
# Don't copy files that are only used for migration
|
||||
rm README_MAVEN.md
|
||||
rm toMaven.sh
|
||||
rm unpack_jars.sh
|
||||
copyRecursive ${MVN_MIG_DIR}/* .
|
||||
# ...but don't copy files that are only used for migration
|
||||
rmFileIfExists README_MAVEN.md
|
||||
rmFileIfExists toMaven.sh
|
||||
rmFileIfExists unpack_jars.sh
|
||||
|
||||
# Migrate the modules in icu4j/main, which have code (in main/classes) & unit tests (in main/test)
|
||||
echo "===================================="
|
||||
|
@ -286,6 +328,16 @@ echo "==========================================================================
|
|||
|
||||
moveCircDepTestOutOfCore
|
||||
|
||||
echo "================================================================="
|
||||
echo "==== Move files to resolve dependency cycles in tools, etc. ====="
|
||||
echo "================================================================="
|
||||
|
||||
moveFilesInTools
|
||||
|
||||
# Cleanup of Ant-specific dirs & prototype Maven build dirs
|
||||
rmDirIfExists "$BASE_FOLDER/maven/"
|
||||
rmDirIfExists "$BASE_FOLDER/maven-build/"
|
||||
|
||||
# Some final cleanup for any empty folders
|
||||
removeEmptyFolders main/classes
|
||||
removeEmptyFolders main/tests
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -28,4 +28,16 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<parent>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.0.1-SNAPSHOT</version>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@ -43,6 +43,13 @@
|
|||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<!-- We don't want to deploy this to Maven -->
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
94
icu4j/maven-migration/tools/utilities-for-cldr/pom.xml
Normal file
94
icu4j/maven-migration/tools/utilities-for-cldr/pom.xml
Normal file
|
@ -0,0 +1,94 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
* © 2023 and later: Unicode, Inc. and others.
|
||||
* License & terms of use: http://www.unicode.org/copyright.html
|
||||
-->
|
||||
<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>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j-root</artifactId>
|
||||
<version>74.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>utilities-for-cldr</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<proj.displayname>Utilities</proj.displayname>
|
||||
<mf.Automatic-Module-Name>com.ibm.icu.utilities</mf.Automatic-Module-Name>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>add-source</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>add-source</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<sources>
|
||||
<source>../misc/src/main/java/com/ibm/icu/dev/tool/shared</source>
|
||||
<source>../../main/framework/src/test/java/com/ibm/icu/dev/util</source>
|
||||
<source>../../main/translit/src/test/java/com/ibm/icu/dev/util</source>
|
||||
</sources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<!-- Since this artifact is built from bits and pieces generating javadoc
|
||||
for it fails (can't access references). And we don't really need it.
|
||||
We publish the sources, and most IDEs can access the doc from there.
|
||||
-->
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<!-- We don't want this deployed to Maven Central. So by default we skip it. -->
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>cldr_utilities</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<!-- Only deploy when the `cldr_utilities` profile is active,
|
||||
otherwise it will also be deployed to Maven Central.
|
||||
We only invoke this profile when we want to deploy to the GitHub Maven repository.
|
||||
We can even try to specify it here with `altDeploymentRepository`.
|
||||
-->
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
Loading…
Add table
Reference in a new issue