You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.5 KiB
102 lines
3.5 KiB
*********************************************************************
|
|
*** © 2019 and later: Unicode, Inc. and others. ***
|
|
*** License & terms of use: http://www.unicode.org/copyright.html ***
|
|
*********************************************************************
|
|
|
|
What is this directory and why is it empty?
|
|
-------------------------------------------
|
|
|
|
This is the root of a local Maven repository which needs to be populated before
|
|
code which uses the CLDR data API can be executed.
|
|
|
|
To do this, you need to have a local copy of the CLDR project configured on your
|
|
computer and be able able to build the API jar file and copy an existing utility
|
|
jar file. In the examples below it is assumed that $CLDR_ROOT references this
|
|
CLDR release.
|
|
|
|
Setup
|
|
-----
|
|
|
|
This project relies on the Maven build tool for managing dependencies and uses
|
|
Ant for configuration purposes, so both will need to be installed. On a Debian
|
|
based system, this should be as simple as:
|
|
|
|
$ sudo apt-get install maven ant
|
|
|
|
|
|
Installing the CLDR API jar
|
|
---------------------------
|
|
|
|
From this directory:
|
|
|
|
$ ./install-cldr-jars.sh "$CLDR_DIR"
|
|
|
|
|
|
Manually installing the CLDR API jar
|
|
------------------------------------
|
|
|
|
Only follow these remaining steps if the installation script isn't suitable or
|
|
doesn't work on your system.
|
|
|
|
To regenerate the CLDR API jar you need to build the "jar" target manually
|
|
using the Ant build.xml file in the "tools/java" directory of the CLDR project:
|
|
|
|
$ cd "$CLDR_ROOT/tools/java"
|
|
$ ant clean jar
|
|
|
|
This should result in the cldr.jar file being built into that directory, which
|
|
can then be installed as a Maven dependency as described above.
|
|
|
|
|
|
Updating local Maven repository
|
|
-------------------------------
|
|
|
|
To update the local Maven repository (e.g. to install the CLDR jar) then from
|
|
this directory (lib/) you should run:
|
|
|
|
$ mvn install:install-file \
|
|
-Dproject.parent.relativePath="" \
|
|
-DgroupId=org.unicode.cldr \
|
|
-DartifactId=cldr-api \
|
|
-Dversion=0.1-SNAPSHOT \
|
|
-Dpackaging=jar \
|
|
-DgeneratePom=true \
|
|
-DlocalRepositoryPath=. \
|
|
-Dfile="$CLDR_ROOT/tools/java/cldr.jar"
|
|
|
|
And if you have updated one of these libraries then from this directory run:
|
|
|
|
$ mvn dependency:purge-local-repository \
|
|
-Dproject.parent.relativePath="" \
|
|
-DmanualIncludes=org.unicode.cldr:cldr-api:jar
|
|
|
|
After doing this, you should see something like the following list of files in
|
|
this directory:
|
|
|
|
README.txt <-- this file
|
|
org/unicode/cldr/cldr-api/maven-metadata-local.xml
|
|
org/unicode/cldr/cldr-api/0.1-SNAPSHOT/maven-metadata-local.xml
|
|
org/unicode/cldr/cldr-api/0.1-SNAPSHOT/cldr-api-0.1-SNAPSHOT.pom
|
|
org/unicode/cldr/cldr-api/0.1-SNAPSHOT/cldr-api-0.1-SNAPSHOT.jar
|
|
|
|
Finally, if you choose to update the version number of the snapshot, then also
|
|
update all the the pom.xml files which reference it (but this is unlikely to be
|
|
necessary).
|
|
|
|
Troubleshooting
|
|
---------------
|
|
|
|
While the Maven system should keep the CLDR JAR up to date, there is a chance
|
|
that you may have an out of date JAR installed elsewhere. If you have any
|
|
issues with the JAR not being the expected version (e.g. after making changes)
|
|
then run the above "purge" step again, from this directory.
|
|
|
|
This should re-resolve the current JAR snapshot from the repository in this
|
|
directory. Having purged the Maven cache, next time you build a project, you
|
|
should see something like:
|
|
|
|
[exec] Downloading from <xxx>: <url>/org/unicode/cldr/cldr-api/0.1-SNAPSHOT/maven-metadata.xml
|
|
[exec] [INFO] Building jar: <path-to-icu-root>/tools/cldr/cldr-to-icu/target/cldr-to-icu-1.0-SNAPSHOT-jar-with-dependencies.jar
|
|
|
|
This shows that it has had to re-fetch the JAR file.
|