blob: bf91cf2f3f69193454c1fe7a6ced18742702e421 [file] [log] [blame]
Neil Fuller3a353ce2015-10-09 13:30:08 +01001This directory contains tools for ICU updates.
2
3Data update tools
4=================
Neil Fuller994dcd12015-08-25 10:37:14 +01005
6update-tzdata.py
7 - downloads tzdata updates and regenerates the ICU and
8 libcore/bionic timezone data files.
9 There are sometimes code and metadata changes associated
10 with tzdata updates that should be applied at the same time.
11 e.g. see http://bugs.icu-project.org/trac/search?q=2015d
12
13 ICU and CTS tests for bionic / libcore should be run before
14 and after.
15
16updateicudata.py
17 - regerates the ICU data files.
18 ICU and CTS tests for libcore should be run before and
19 after.
Neil Fuller3a353ce2015-10-09 13:30:08 +010020
Neil Fullerca551272015-12-04 13:04:01 +000021Source code updates
22===================
Neil Fuller3a353ce2015-10-09 13:30:08 +010023
Neil Fullerca551272015-12-04 13:04:01 +000024The source code in android_icu4j is generated from the code in icu4j. Do not change the code
25in android_icu4j directly: instead you change the icu4j source or the rules used to generate
26android_icu4j.
27
28All changes made to icu4j should be accompanied by changes in android_icu4j and vice versa.
29
30Applying patches to ICU4J
31-------------------------
32
33After making changes to icu4j (e.g. after applying upstream patches):
34
35source build/envsetup.sh
36lunch
37
38cd external/icu/tools/srcgen
39./generate_android_icu4j.sh
40
41The code in android_icu4j will be regenerated and should contain the changes you made
42in icu4j. Confirm the diffs are what you intended. Commit both at the same time.
43
44Modifying the code gen
45----------------------
46
47android_icu4j is generated using a Java tool found in tools/srcgen.
48
49The "rules" that transform the source are configured in
50src/main/java/com/android/icu4j/srcgen/Icu4jTransform.java.
51