API still depends on -DCLDR_DIR=

Description

the new API propagates the fragile expectation around -DCLDR_DIR as a global property.

  • DtdData should be constructable from a File (CLDR root dir), suggested implementation at https://github.com/srl295/cldr/commits/dd3dd5c

  • the new API should somehow pass around a context / factory object instead of relying on static init of DtdData. This affects a lot of static initialization.

Exception in thread "main" java.lang.ExceptionInInitializerError (creating DtdData)
at org.unicode.cldr.api.CldrDataType.<init>(CldrDataType.java:82)
at org.unicode.cldr.api.CldrDataType.<clinit>(CldrDataType.java:37)
at org.unicode.cldr.api.CldrDataSupplier.createCldrDirectoryMap(CldrDataSupplier.java:121)
at org.unicode.cldr.api.CldrDataSupplier.forCldrFilesIn(CldrDataSupplier.java:100)

For more details and call sites affected, see https://github.com/srl295/cldr/commit/dd3dd5caa089431ae946062033c7912c7e492f25

xpath

None

locale

None

Status

Priority

major

Assignee

Steven R. Loomis

Reporter

Steven R. Loomis

tracReporter

None

Reviewer

None

Labels

None

Components

Fix versions

phase

None
Configure