mix text.download_uts58 (Text v1.0.0)

Copy Markdown View Source

Refreshes the UTS #58 conformance test files vendored under test/fixtures/uts58/.

The files are bundled in source control so the test suite runs offline and a conformance change shows up as a reviewable diff rather than a silent behaviour shift. This task makes refreshing them reproducible.

Like the Unicode data files, these are published per release, with a pre-release tree that carries no version segment in its path at all:

https://www.unicode.org/Public/<release>/linkification/
https://www.unicode.org/Public/draft/linkification/

A release channel is therefore either a version string such as "17.0.0" or the literal "draft", and the URL is built by a function rather than by interpolating a version into a template.

Usage

mix text.download_uts58
mix text.download_uts58 --release draft
mix text.download_uts58 --diff
mix text.download_uts58 --into tmp/uts58
mix text.download_uts58 --dry-run

Options

  • --release — the release channel to fetch from. The default is the first of the UNICODE_RELEASE environment variable, the :release key of the :unicode application environment, or draft. The environment variable is shared with the unicode library's own download task so a single setting retargets both.

  • --into — the directory to download into. The default is test/fixtures/uts58. Downloading to a scratch directory allows a candidate release to be diffed before adopting it.

  • --diff — report which lines would be added and removed without writing anything.

  • --dry-run — print the resolved URL and destination of each file without downloading.

  • --force — write even when the local file is already identical. Without it, unchanged files are left alone and reported as up-to-date.