xref: /aosp_15_r20/external/icu/icu4j/extract-data-files.sh (revision 0e209d3975ff4a8c132096b14b0e9364a753506e)
1*0e209d39SAndroid Build Coastguard Worker#!/usr/bin/env bash
2*0e209d39SAndroid Build Coastguard Worker# Copyright (C) 2023 and later: Unicode, Inc. and others.
3*0e209d39SAndroid Build Coastguard Worker# License & terms of use: http://www.unicode.org/copyright.html
4*0e209d39SAndroid Build Coastguard Worker
5*0e209d39SAndroid Build Coastguard Workerif [ -z "$ICU_DATA_VER" ]; then
6*0e209d39SAndroid Build Coastguard Worker  echo "ICU_DATA_VER must be set to the icu folder name (for example icudt74b)"
7*0e209d39SAndroid Build Coastguard Worker  exit
8*0e209d39SAndroid Build Coastguard Workerfi
9*0e209d39SAndroid Build Coastguard Worker
10*0e209d39SAndroid Build Coastguard Worker# Check that all the .jar files are present
11*0e209d39SAndroid Build Coastguard WorkerJAR_FILE=main/shared/data/icudata.jar
12*0e209d39SAndroid Build Coastguard Workerif [ ! -f "$JAR_FILE" ]; then
13*0e209d39SAndroid Build Coastguard Worker  echo "Missing $JAR_FILE"
14*0e209d39SAndroid Build Coastguard Worker  exit
15*0e209d39SAndroid Build Coastguard Workerfi
16*0e209d39SAndroid Build Coastguard WorkerJAR_FILE=main/shared/data/icutzdata.jar
17*0e209d39SAndroid Build Coastguard Workerif [ ! -f "$JAR_FILE" ]; then
18*0e209d39SAndroid Build Coastguard Worker  echo "Missing $JAR_FILE"
19*0e209d39SAndroid Build Coastguard Worker  exit
20*0e209d39SAndroid Build Coastguard Workerfi
21*0e209d39SAndroid Build Coastguard WorkerJAR_FILE=main/shared/data/testdata.jar
22*0e209d39SAndroid Build Coastguard Workerif [ ! -f "$JAR_FILE" ]; then
23*0e209d39SAndroid Build Coastguard Worker  echo "Missing $JAR_FILE"
24*0e209d39SAndroid Build Coastguard Worker  exit
25*0e209d39SAndroid Build Coastguard Workerfi
26*0e209d39SAndroid Build Coastguard Worker
27*0e209d39SAndroid Build Coastguard Worker# Unpack the pre-built .jar files with data only
28*0e209d39SAndroid Build Coastguard Worker
29*0e209d39SAndroid Build Coastguard Workerecho "Unpacking icudata.jar"
30*0e209d39SAndroid Build Coastguard Workerrm -fr      main/core/src/main/resources/com/ibm/icu/impl/data/icudt*
31*0e209d39SAndroid Build Coastguard Workerunzip -q -d main/core/src/main/resources/ main/shared/data/icudata.jar
32*0e209d39SAndroid Build Coastguard Workerrm -fr      main/core/src/main/resources/META-INF
33*0e209d39SAndroid Build Coastguard Worker
34*0e209d39SAndroid Build Coastguard Workerecho "  Moving charset data"
35*0e209d39SAndroid Build Coastguard Workerrm   -fr main/charset/src/main/resources/com/ibm/icu/impl/data/icudt*
36*0e209d39SAndroid Build Coastguard Workermkdir -p main/charset/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
37*0e209d39SAndroid Build Coastguard Workermv       main/core/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/*.cnv        main/charset/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
38*0e209d39SAndroid Build Coastguard Workermv       main/core/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/cnvalias.icu main/charset/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
39*0e209d39SAndroid Build Coastguard Worker
40*0e209d39SAndroid Build Coastguard Workerecho "  Moving currency data"
41*0e209d39SAndroid Build Coastguard Workerrm   -fr main/currdata/src/main/resources/com/ibm/icu/impl/data/icudt*
42*0e209d39SAndroid Build Coastguard Workermkdir -p main/currdata/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
43*0e209d39SAndroid Build Coastguard Workermv       main/core/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/curr         main/currdata/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/curr
44*0e209d39SAndroid Build Coastguard Worker
45*0e209d39SAndroid Build Coastguard Workerecho "  Moving collate data"
46*0e209d39SAndroid Build Coastguard Workerrm   -fr main/collate/src/main/resources/com/ibm/icu/impl/data/icudt*
47*0e209d39SAndroid Build Coastguard Workermkdir -p main/collate/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
48*0e209d39SAndroid Build Coastguard Workermv       main/core/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/coll         main/collate/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/coll
49*0e209d39SAndroid Build Coastguard Worker
50*0e209d39SAndroid Build Coastguard Workerecho "  Moving langdata data"
51*0e209d39SAndroid Build Coastguard Workerrm   -fr main/langdata/src/main/resources/com/ibm/icu/impl/data/icudt*
52*0e209d39SAndroid Build Coastguard Workermkdir -p main/langdata/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
53*0e209d39SAndroid Build Coastguard Workermv       main/core/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/lang         main/langdata/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/lang
54*0e209d39SAndroid Build Coastguard Worker
55*0e209d39SAndroid Build Coastguard Workerecho "  Moving regiondata data"
56*0e209d39SAndroid Build Coastguard Workerrm   -fr main/regiondata/src/main/resources/com/ibm/icu/impl/data/icudt*
57*0e209d39SAndroid Build Coastguard Workermkdir -p main/regiondata/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
58*0e209d39SAndroid Build Coastguard Workermv       main/core/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/region       main/regiondata/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/region
59*0e209d39SAndroid Build Coastguard Worker
60*0e209d39SAndroid Build Coastguard Workerecho "  Moving translit data"
61*0e209d39SAndroid Build Coastguard Workerrm   -fr main/translit/src/main/resources/com/ibm/icu/impl/data/icudt*
62*0e209d39SAndroid Build Coastguard Workermkdir -p main/translit/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/
63*0e209d39SAndroid Build Coastguard Workermv       main/core/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/translit     main/translit/src/main/resources/com/ibm/icu/impl/data/${ICU_DATA_VER}/translit
64*0e209d39SAndroid Build Coastguard Worker
65*0e209d39SAndroid Build Coastguard Workerecho "Unpacking icutzdata.jar"
66*0e209d39SAndroid Build Coastguard Worker# This unzips together with other existing core files
67*0e209d39SAndroid Build Coastguard Worker# So we don't remove the folder
68*0e209d39SAndroid Build Coastguard Workerunzip -q -d main/core/src/main/resources/ main/shared/data/icutzdata.jar
69*0e209d39SAndroid Build Coastguard Workerrm -fr      main/core/src/main/resources/META-INF
70*0e209d39SAndroid Build Coastguard Worker
71*0e209d39SAndroid Build Coastguard Workerecho "Unpacking testdata.jar"
72*0e209d39SAndroid Build Coastguard Workerrm -fr      main/core/src/test/resources/com/ibm/icu/dev/data/testdata/
73*0e209d39SAndroid Build Coastguard Workerunzip -q -d main/core/src/test/resources/ main/shared/data/testdata.jar
74*0e209d39SAndroid Build Coastguard Workerrm -fr      main/core/src/test/resources/META-INF
75*0e209d39SAndroid Build Coastguard Worker
76*0e209d39SAndroid Build Coastguard Worker# Android-changed: Keep the data jar files in AOSP.
77*0e209d39SAndroid Build Coastguard Worker# echo "Removing jar files"
78*0e209d39SAndroid Build Coastguard Worker# echo "  icudata.jar"
79*0e209d39SAndroid Build Coastguard Worker# rm main/shared/data/icudata.jar
80*0e209d39SAndroid Build Coastguard Worker# echo "  icutzdata.jar"
81*0e209d39SAndroid Build Coastguard Worker# rm main/shared/data/icutzdata.jar
82*0e209d39SAndroid Build Coastguard Worker# echo "  testdata.jar"
83*0e209d39SAndroid Build Coastguard Worker# rm main/shared/data/testdata.jar
84*0e209d39SAndroid Build Coastguard Worker
85*0e209d39SAndroid Build Coastguard Workerecho DONE
86