Last active
February 21, 2026 16:36
-
-
Save srl295/d03bbcb37f2a9c6964ba251e41bbb7a2 to your computer and use it in GitHub Desktop.
aliases for use with CLDR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| ## | |
| ## The Seal Deer says: “Always make sure you understand a script before you run it!” | |
| ## | |
| # Steven R. Loomis <srl295@gmail.com> | |
| # CLDR aliases - https://cldr.unicode.org | |
| # SPDX-License-Identifier: Unicode-3.0 | |
| # URL to this: <https://gist.github.com/srl295/d03bbcb37f2a9c6964ba251e41bbb7a2> | |
| alias cldr-rebuild='mvn clean compile install -DskipTests=true && mvn --file=tools/pom.xml -pl cldr-apps liberty:create' | |
| alias cldr-dev='mvn --file=tools/pom.xml install -DskipTests=true && mvn --file=tools/pom.xml -pl cldr-apps liberty:stop liberty:deploy liberty:dev' | |
| alias cldr-dev-nojs='mvn --file=tools/pom.xml install -DskipTests=true -Dskip.webpack -Dskip.npm -Dskip.installnodenpm && mvn --file=tools/pom.xml -pl cldr-apps liberty:stop liberty:deploy liberty:dev -Dskip.webpack -Dskip.npm -Dskip.installnodenpm' | |
| alias cldr-js='(export PATH=/Users/srl295/.nvm/versions/node/$(cat .node-version || echo latest)/bin:${PATH}; cd tools/cldr-apps/js && npm i && npm run build-dev && npm run watch)' | |
| alias cldr-pretty='bash tools/cldr-apps/js/test/pretty.sh' | |
| alias cldr-spotless='env JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/ mvn spotless:apply' | |
| alias cldr-test="mysql < tools/cldr-apps/test-setup.sql && mvn test --file tools/pom.xml '-Dorg.unicode.cldr.unittest.web.jdbcurl=jdbc:mysql://cldrtest:VbrB3LFCr6A!@localhost/cldrtest?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC' '-Dorg.unicode.cldr.unittest.web.KeepDb=true' '-Dorg.unicode.cldr.unittest.testArgs=-e10 -n' '-Dorg.unicode.cldr.unittest.web.testArgs=-e10 -n' '-Dorg.unicode.cldr.api.testArgs=-e10 -n'" | |
| alias cldr-worktrees="git worktree list | egrep -v '(archive|maint)'" | |
| function cldr-check() { | |
| PHASE="FINAL_TESTING" | |
| if [[ "-z" == "$1" ]]; | |
| then | |
| shift | |
| PHASE=$1 | |
| shift | |
| fi | |
| EXECARGS="-e -z ${PHASE} ${@}" | |
| CLDRCLASS="org.unicode.cldr.test.ConsoleCheckCLDR" | |
| echo cldr-check ${EXECARGS} | |
| env LANG=en_US.UTF-8 mvn -DCLDR_DIR=$(pwd) --file=tools/pom.xml -pl cldr-code \ | |
| -Dskip.npm -Dskip.installnodenpm -Dfile.encoding=utf-8 compile -DskipTests=true exec:java -Dexec.mainClass=${CLDRCLASS} \ | |
| -Dexec.args="${EXECARGS}" | |
| } | |
| function cldr-tool() { | |
| CLDRCLASS=$1 | |
| if [[ "" == $(echo "${CLDRCLASS}" | tr -c -d .) ]]; | |
| then | |
| # default package | |
| CLDRCLASS=org.unicode.cldr.tool.${CLDRCLASS} | |
| fi | |
| shift | |
| EXECARGS="${1}" | |
| shift | |
| echo ${CLDRCLASS} "${EXECARGS}" -Dexec.cleanupDaemonThreads=false ${@} | |
| env LANG=en_US.UTF-8 mvn -DCLDR_DIR=$(pwd) -DCLDR_GITHUB_ANNOTATIONS=true --file=tools/pom.xml -pl cldr-code ${JVMARGS} \ | |
| -Dfile.encoding=utf-8 compile -DskipTests=true exec:java -Dexec.mainClass=${CLDRCLASS} \ | |
| -Dexec.args="${EXECARGS}" -Dexec.cleanupDaemonThreads=false ${@} | |
| } | |
| function cldr-tool-rdf() { | |
| CLDRCLASS=$1 | |
| if [[ "" == $(echo "${CLDRCLASS}" | tr -c -d .) ]]; | |
| then | |
| # default package | |
| CLDRCLASS=org.unicode.cldr.tool.${CLDRCLASS} | |
| fi | |
| shiftik | |
| EXECARGS="$1" | |
| shift | |
| echo ${CLDRCLASS} ${EXECARGS} ${@} | |
| env LANG=en_US.UTF-8 mvn -DCLDR_DIR=$(pwd) -DCLDR_GITHUB_ANNOTATIONS=true --file=tools/pom.xml -pl cldr-rdf${JVMARGS} \ | |
| -Dfile.encoding=utf-8 compile -DskipTests=true exec:java -Dexec.mainClass=${CLDRCLASS} \ | |
| -Dexec.args="${EXECARGS}" ${@} | |
| } | |
| function cldr-tool-run() { | |
| CLDRCLASS=$1 | |
| if [[ "" == $(echo "${CLDRCLASS}" | tr -c -d .) ]]; | |
| then | |
| # default package | |
| CLDRCLASS=org.unicode.cldr.tool.${CLDRCLASS} | |
| fi | |
| shift | |
| EXECARGS="$1" | |
| shift | |
| echo ${CLDRCLASS} ${EXECARGS} ${@} | |
| env LANG=en_US.UTF-8 mvn -DCLDR_DIR=$(pwd) -DCLDR_GITHUB_ANNOTATIONS=true --file=tools/pom.xml -pl cldr-code \ | |
| -Dfile.encoding=utf-8 -DskipTests=true exec:java -Dexec.mainClass=${CLDRCLASS} \ | |
| -Dexec.args="${EXECARGS}" ${@} | |
| } | |
| # | |
| # Usage: | |
| # | |
| function cldr-modify() { | |
| XDIR=$1 | |
| ARGZ=$2 | |
| if [[ ! -d "./${XDIR}" ]]; | |
| then | |
| echo >&2 "Not a dir: ${XDIR}" | |
| echo >&2 "Usage: cldr-modify <dir> <args>" | |
| elif [[ $# -ne 2 ]]; | |
| then | |
| echo >&2 "Usage: cldr-modify <dir> <args>" | |
| else | |
| TMPD=$(mktemp -d) | |
| EXECARGZ="-d${TMPD} -s$(pwd)/${XDIR} ${ARGZ}" | |
| echo -- -Dexec.args="${EXECARGZ}" | |
| env LANG=en_US.UTF-8 mvn -DCLDR_DIR=$(pwd) --file=tools/pom.xml -pl cldr-code \ | |
| compile -DskipTests=true -Dfile.encoding=utf-8 exec:java \ | |
| -Dexec.mainClass=org.unicode.cldr.tool.CLDRModify \ | |
| -Dexec.args="${EXECARGZ}" && (rmdir ${TMPD} || (mv -v ${TMPD}/*.xml ${XDIR}/ && rmdir ${TMPD} ) ) | |
| fi | |
| } | |
| # usage: | |
| # cldr-xfrm "some args" | |
| # will automatically run cldr-modify -fp on the other dirs. | |
| function cldr-xfrm() { | |
| # XDIR=$1 | |
| ARGZ=$1 | |
| # if [[ ! -d "./${XDIR}" ]]; | |
| # then | |
| # echo >&2 "Not a dir: ${XDIR}" | |
| # echo >&2 "Usage: cldr-modify <dir> <args>" | |
| # elif [[ $# -ne 2 ]]; | |
| # then | |
| # echo >&2 "Usage: cldr-modify <dir> <args>" | |
| # else | |
| # TMPD=$(mktemp -d) | |
| # EXECARGZ="-d${TMPD} ${ARGZ}" | |
| # echo -- -Dexec.args="${EXECARGZ}" | |
| rm -rf ${HOME}/src/Generated/cldr ; mkdir -pv ${HOME}/src/Generated/cldr | |
| env LANG=en_US.UTF-8 mvn -DCLDR_DIR=$(pwd) --file=tools/pom.xml -pl cldr-code \ | |
| compile -DskipTests=true -Dfile.encoding=utf-8 exec:java \ | |
| -Dexec.mainClass=org.unicode.cldr.tool.CLDRFileTransformer \ | |
| "-Dexec.args=$ARGZ" \ | |
| && rsync -av ${HOME}/src/Generated/cldr/ . | |
| echo "Now run cldr-modify {dirs} -fp !" | |
| } | |
| # admin.json contains payload with email: admin@ and password: <the VAP password> | |
| alias cldr-admin-login='curl -X POST "http://127.0.0.1:9080/cldr-apps/api/auth/login?remember=true" -H "accept: application/json" -H "Content-Type: application/json" -d@${HOME}/src/cldr-st/admin.json' | |
| alias cldr-reformat='bash tools/cldr-apps/js/test/pretty.sh && mvn --file=tools/pom.xml -Dskip.npm -Dskip.installnodenpm spotless:apply' | |
| function urepo() { | |
| cd "${HOME}/src" | |
| if [ -d "${HOME}/src/${1}" ]; | |
| then | |
| cd "${HOME}/src/${1}" && code -r . | |
| pwd | |
| else | |
| echo cloning unicode-org/${1} | |
| gh repo clone unicode-org/${1} -- --depth 1 && cd ${1} && code -r . | |
| pwd | |
| fi | |
| } | |
| function ubranch() { | |
| git pull && git checkout -b srl295/licensev3 | |
| } | |
| function ucpylicense() { | |
| pbcopy < ~/src/LICENSE | |
| } | |
| function ucpyreadme() { | |
| pbcopy < ~/src/README.md | |
| } | |
| function ucpycommit() { | |
| pbcopy < ~/src/COMMITMESSAGE | |
| } | |
| # speedup meson build | |
| export MESON_PACKAGE_CACHE_DIR=${HOME}/Downloads/packagecache | |
| mkdir -p ${MESON_PACKAGE_CACHE_DIR} | |
| alias cldr-toptik="git log --pretty=%s HEAD | head -1 | cut -d' ' -f1" | |
| # TODO: should run `gh` to find real base branch | |
| alias cldr-mergit='git merge upstream/main -m "$(cldr-toptik) merge from main" ; git show head' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment