]> granicus.if.org Git - icu/commitdiff
ICU-21568 Pre-initialize CLDRConfig and SupplementalDataInfo
authorSteven R. Loomis <srl295@gmail.com>
Thu, 1 Apr 2021 17:55:54 +0000 (12:55 -0500)
committerPeter Edberg <42151464+pedberg-icu@users.noreply.github.com>
Fri, 2 Apr 2021 03:25:33 +0000 (20:25 -0700)
- avoid static init problem from CLDR-14636

tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/ConvertIcuDataTask.java

index d3e9f74db92213b5ea4beab70e8564844e28c98e..046b188fa7cb14920199cb75861f3237edac9730 100644 (file)
@@ -30,6 +30,7 @@ import org.apache.tools.ant.Task;
 import org.unicode.cldr.api.CldrDataSupplier;
 import org.unicode.cldr.api.CldrDraftStatus;
 import org.unicode.cldr.api.CldrPath;
+import org.unicode.cldr.util.CLDRConfig;
 import org.unicode.icu.tool.cldrtoicu.AlternateLocaleData;
 import org.unicode.icu.tool.cldrtoicu.IcuConverterConfig;
 import org.unicode.icu.tool.cldrtoicu.LdmlConverter;
@@ -305,6 +306,10 @@ public final class ConvertIcuDataTask extends Task {
 
     @SuppressWarnings("unused")
     public void execute() throws BuildException {
+        // Spin up CLDRConfig outside of other inner loops, to
+        // avoid static init problems seen in CLDR-14636
+        CLDRConfig.getInstance().getSupplementalDataInfo();
+
         checkBuild(localeIds != null, "<localeIds> must be specified");
 
         CldrDataSupplier src = CldrDataSupplier