• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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![alt-text](../images/development/creatingTheArchive.png)
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