51 lines
1.5 KiB
Text
51 lines
1.5 KiB
Text
This directory contains tools for ICU updates.
|
|
|
|
Data update tools
|
|
=================
|
|
|
|
update-tzdata.py
|
|
- downloads tzdata updates and regenerates the ICU and
|
|
libcore/bionic timezone data files.
|
|
There are sometimes code and metadata changes associated
|
|
with tzdata updates that should be applied at the same time.
|
|
e.g. see http://bugs.icu-project.org/trac/search?q=2015d
|
|
|
|
ICU and CTS tests for bionic / libcore should be run before
|
|
and after.
|
|
|
|
updateicudata.py
|
|
- regerates the ICU data files.
|
|
ICU and CTS tests for libcore should be run before and
|
|
after.
|
|
|
|
Source code updates
|
|
===================
|
|
|
|
The source code in android_icu4j is generated from the code in icu4j. Do not change the code
|
|
in android_icu4j directly: instead you change the icu4j source or the rules used to generate
|
|
android_icu4j.
|
|
|
|
All changes made to icu4j should be accompanied by changes in android_icu4j and vice versa.
|
|
|
|
Applying patches to ICU4J
|
|
-------------------------
|
|
|
|
After making changes to icu4j (e.g. after applying upstream patches):
|
|
|
|
source build/envsetup.sh
|
|
lunch
|
|
|
|
cd external/icu/tools/srcgen
|
|
./generate_android_icu4j.sh
|
|
|
|
The code in android_icu4j will be regenerated and should contain the changes you made
|
|
in icu4j. Confirm the diffs are what you intended. Commit both at the same time.
|
|
|
|
Modifying the code gen
|
|
----------------------
|
|
|
|
android_icu4j is generated using a Java tool found in tools/srcgen.
|
|
|
|
The "rules" that transform the source are configured in
|
|
src/main/java/com/android/icu4j/srcgen/Icu4jTransform.java.
|
|
|