Skip to content

Commit 4aa3267

Browse files
committed
CLDR-19009 Use latest (Sep 23) version of ICU4J, improve instructions for updating ICU
1 parent 3c056cb commit 4aa3267

File tree

1 file changed

+45
-8
lines changed

1 file changed

+45
-8
lines changed

tools/pom.xml

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,51 @@
1818
<properties>
1919
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2020
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
21-
<!-- Note: see https://github.com/unicode-org/icu/packages/1954682/versions
22-
for the icu4j.version tag to use. While latest ICU4J has a published version
23-
like nn.0.1-SNAPSHOT (i.e. before release candidate), we should use a specific
24-
dated asset as found by clicking the version at the link above. When ICU4J reaches
25-
release candidate and changes to a version like nn.1-SNAPSHOT, we should just use
26-
that so we are always getting the latest version pushed (and should not have CLDR
27-
compatibility issues at that point). -->
28-
<icu4j.version>78.0.1-20250916.173842-8</icu4j.version> <!-- before ICU rc, specific dated version -->
21+
<!-- Update ICU4J libraries in CLDR
22+
To update the version of ICU4J libraries in CLDR, we must *first* use ICU github to
23+
to publish updated ICU4J libraries to the github maven repo using an ICU github
24+
action, and *then* update the version in the appropriate one of the two icu4j.version
25+
entries below (the unused entry should be commented out). Details:
26+
1. First you need to know whether development for the current ICU release (coordinated
27+
with the curret CLDR release) is on the ICU github "main" branch or on a maintenance
28+
branch such as "maint/maint-78".
29+
2. Then in the ICU github main page <https://github.com/unicode-org/icu>, select
30+
"Actions" from the top bar. In the Actions page, on the left sidebar, click on "Show
31+
more workflows...". In the resulting expanded list of actions in the left sidebar,
32+
click on "Publish snapshot icu4j.jar to GH Maven". In the resulting detail page for
33+
that action, click on the "Run workflow ⏷" button. THis brings up a panel in which
34+
you need to select whether to publish from the ICU "main" branch or the appropriate
35+
maintenance branch, as noted in step 1. Select the correct branch and then click
36+
the "Run workflow" button in the panel. This will add an entry for this new workflow
37+
to the top of the list, where you can monitor its progress. Wait until the workflow
38+
completes before doing the next steps; it may take 2-10 minutes for the workflow to
39+
complete.
40+
3. Once it has completed, look at the github page where the results are published:
41+
<https://github.com/unicode-org/icu/packages/1954682/versions>.
42+
* If the latest version has a 2-part version of the form nn.1-SNAPSHOT (which will
43+
generally not happen until after ICU has branched to a maint branch and is at rc),
44+
then use the second of the two icu4j.version lines below (uncomment it, comment out
45+
the other one) and make sure it reflects the latest version published to the github
46+
page above. If it already does, then you are done, nothing needs doing in CLDR,
47+
which will automatically use the latest version published to the github maven repo;
48+
at that point CLDR should not encounter new compatibility problems with post-rc
49+
changes in ICU (if there are any).
50+
* If the latest version has a 3-part version of the form nn.0.1-SNAPSHOT, then you
51+
need to specify an explicit dated version, not just a version number. Click on that
52+
version number to get the detail page for that version. In the detail page there
53+
is a list of assets on the right side, with names like
54+
"icu4j-78.0.1-20250924.061614-9.jar.md5"; these have a version (here 78.0.1), a
55+
date.time stamp (here 20250924.061614) and a sequence number (here 9). For the
56+
topmost entry, extract the middle section consisting of just those parts (i.e.
57+
"78.0.1-20250924.061614-9" in this example). Use the first of the
58+
two icu4j.version lines below (uncomment it, comment out the other one) and update
59+
it to use this extracted value.
60+
4. If you have updated this pom file, then you need to run the usual pre-commit tests
61+
as with any PR. And of course these tests may sometimes reveal compatibility issues
62+
between CLDR and the updated version of ICU, which would need to be fixed as part
63+
of the PR.
64+
-->
65+
<icu4j.version>78.0.1-20250924.061614-9</icu4j.version> <!-- before ICU rc, specific dated version -->
2966
<!--<icu4j.version>78.1-SNAPSHOT</icu4j.version>--> <!-- after ICU rc, latest published version -->
3067
<junit.jupiter.version>5.8.2</junit.jupiter.version>
3168
<maven-surefire-plugin-version>3.3.1</maven-surefire-plugin-version>

0 commit comments

Comments
 (0)