1--- 2title: Checking out the CLDR Archive 3--- 4 5# Checking out the CLDR Archive 6 7A number of the tools in CLDR depend on access to older versions. These tools include: 8 9- [Generating Charts](https://cldr.unicode.org/development/cldr-big-red-switch/generating-charts) 10- [Update Validity XML](https://cldr.unicode.org/development/updating-codes/update-validity-xml) 11- [Updating English/Root](https://cldr.unicode.org/development/cldr-development-site/updating-englishroot) 12 - \[Note: add others when we find them] 13 - Some tests 14 - TestCompatibility.java 15 - TestTransforms.java 16 - TestValidity.java 17 - Some other tools (typically when given a version argument on the command line) 18 - FindPluralDifferences 19 - ... 20 21### Here's how to do that. 22 231. 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](https://cldr.unicode.org/development/cldr-development-site/running-cldr-tools) is .../workspace/cldr, then create the directory **…/workspace/cldr\-archive** <br> 24(Note: The Java property **ARCHIVE** can be used to overide the path to cldr\-archive). 252. Open up ToolConstants.java and look at ToolConstants.CLDR\_VERSIONS. You'll see something like: 26 1. **public static final** List\<String\> ***CLDR\_VERSIONS*** \= ImmutableList.of( 27 2. "1\.1\.1", 28 3. "1\.2", 29 4. "1\.3", 30 5. "1\.4\.1", 31 6. "1\.5\.1", 32 7. "1\.6\.1", 33 8. "1\.7\.2", 34 9. "1\.8\.1", 35 10. ... 36 11. "41\.0" 37 12. // add to this once the release is final! 38 13. ); 39 - NOTE: this should also match CldrVersion.java (those two need to be merged together) 403. Add the just\-released version, such as "**42\.0**" to the list above 41 - Also update **DEV\_VERSION** to "43" (the next development version) 42 - Finally, update CldrVersion.java and make similar changes. 434. Now, run the tool **org.unicode.cldr.tool.CheckoutArchive** 44 - Or from the command line:<br> 45 **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\=""** 46 - Note other options for this tool: 47 *\-\-help* will give help 48 *\-\-prune* will run a 'git workspace prune' before proceeding 49 *\-\-echo* will just show the commands that would be run, without running anything 50 (For example, **\-Dexec.args\="\-\-prune"** in the above command line) 51 52The end result (where you need all of the releases) looks something like the following: 53 54 55 56## Advanced Configuration 57 58- You can set the property **\-DCLDR\_ARCHIVE** to point to a different parent directory for the archive 59- You can set **\-DCLDR\_HAS\_ARCHIVE\=false** to tell unit tests and tools not to look for the archive 60 61