Checking out the CLDR Archive
A number of the tools in CLDR depend on access to older versions. These tools include:
[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)
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