allwinner_a64/android/external/icu/tools
2018-08-08 16:14:42 +08:00
..
srcgen upload android base code part2 2018-08-08 16:14:42 +08:00
Android.mk upload android base code part2 2018-08-08 16:14:42 +08:00
i18nutil.py upload android base code part2 2018-08-08 16:14:42 +08:00
icuutil.py upload android base code part2 2018-08-08 16:14:42 +08:00
README.android upload android base code part2 2018-08-08 16:14:42 +08:00
updateicudata.py upload android base code part2 2018-08-08 16:14:42 +08:00

This directory contains tools for ICU updates.

Data update tools
=================

updateicudata.py
  - regerates the ICU data files.
    ICU and CTS tests for libcore should be run before and
    after.

See $ANDROID_BUILD_TOP/system/timezone for tools related to time zone updates.

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.