Checking out the CLDR Archive
A number of the tools in CLDR depend on access to older versions. These tools include:
- Generating Charts
- Update Validity XML
- Updating English/Root
- [Note: add others when we find them]
- Some tests
- TestCompatibility.java
- TestTransforms.java
- TestValidity.java
- Some other tools (typically when given a version argument on the command line)
- FindPluralDifferences
- …
Here’s how to do that.
- Create an archive directory cldr-archive. The Simplest is if it on the same level as your local CLDR repository. In other words, if your CLDR_DIR is …/workspace/cldr, then create the directory …/workspace/cldr-archive
(Note: The Java property ARCHIVE can be used to overide the path to cldr-archive). - Open up ToolConstants.java and look at ToolConstants.CLDR_VERSIONS. You’ll see something like:
- public static final List<String> CLDR_VERSIONS = ImmutableList.of(
- “1.1.1”,
- “1.2”,
- “1.3”,
- “1.4.1”,
- “1.5.1”,
- “1.6.1”,
- “1.7.2”,
- “1.8.1”,
- …
- “41.0”
- // add to this once the release is final!
- );
- NOTE: this should also match CldrVersion.java (those two need to be merged together)
- Add the just-released version, such as “42.0” to the list above
- Also update DEV_VERSION to “43” (the next development version)
- Finally, update CldrVersion.java and make similar changes.
- Now, run the tool org.unicode.cldr.tool.CheckoutArchive
- Or from the command line:
mvn -DCLDR_DIR= path_to/cldr --file=tools/pom.xml -pl cldr-code compile -DskipTests=true exec:java -Dexec.mainClass=org.unicode.cldr.tool.CheckoutArchive -Dexec.args=”“ - Note other options for this tool: --help will give help --prune will run a ‘git workspace prune’ before proceeding --echo will just show the commands that would be run, without running anything (For example, -Dexec.args=”--prune” in the above command line)
- Or from the command line:
The end result (where you need all of the releases) looks something like the following:
Advanced Configuration
- You can set the property -DCLDR_ARCHIVE to point to a different parent directory for the archive
- You can set -DCLDR_HAS_ARCHIVE=false to tell unit tests and tools not to look for the archive