70 lines
2.8 KiB
Markdown
70 lines
2.8 KiB
Markdown
This directory contains Android's additions to timezone-boundary-builder
|
|
project.
|
|
|
|
Directories:
|
|
|
|
`android_inputs/`
|
|
- Files downloaded from upstream to seed `android_downloads/`
|
|
|
|
`android_downloads/`
|
|
- The .json files used to generate the output. Equivalent to upstream's
|
|
`downloads/` directory.
|
|
|
|
`android_dist/`
|
|
- The generated output files. Equivalent to upstream's `dist/` directory.
|
|
|
|
`tools/`
|
|
- Scripts used to execute the timezone-boundary-builder generation process.
|
|
|
|
Android initially intends to use the time zone boundary file, `combined.json`,
|
|
released by upstream. Therefore, this copy of timezone-boundary-builder may be
|
|
unnecessary until / unless Android wants to make local modifications.
|
|
|
|
-----
|
|
|
|
The `combined.json` generation process:
|
|
|
|
Execute `android/tools/host/clear_android_data_files.sh` to clear out most
|
|
working files and reset the local environment.
|
|
|
|
Before running the generation process, decide if you want to use the same input
|
|
files as have been used by upstream.
|
|
|
|
Upstream make the files used available in a file called `input-files.zip`, which
|
|
can be downloaded and unpacked into the `android/android_downloads/` directory
|
|
using `android/tools/host/download_input_files.sh`.
|
|
|
|
When not using upstream's input files, the generation process will first
|
|
download boundary data from OpenStreetMap, which is slow. Because OpenStreetMap
|
|
is constantly evolving, the latest features downloaded will usually have issues
|
|
that need to be fixed before proceeding. The script can be restarted multiple
|
|
times and will usually restart downloads from where it failed last time.
|
|
|
|
Local edits to input files may be necessary to make adjustments needed for
|
|
Android in future.
|
|
|
|
timezone-boundary-builder requires the nodejs runtime for execution with various
|
|
dependencies, so Android's `android/tools/host/run_tzbb.sh` uses a Docker
|
|
container to setup the runtime environment in a repeatable manner.
|
|
|
|
Execute `android/tools/host/run_tzbb.sh --help` to see options.
|
|
|
|
The following can be used to speed up generation times:
|
|
|
|
```
|
|
--skip_analyze_diffs Skip analysis of diffs between versions [boolean]
|
|
--skip_shapefile Skip shapefile creation [boolean]
|
|
--skip_validation Skip validation [boolean]
|
|
```
|
|
|
|
After executing `android/tools/host/run_tzdbb.sh`, in `android/android_dist/`
|
|
there will be many .json files alongside (a newly generated) `input-files.zip`
|
|
and `combined.json` that constitute the main output files.
|
|
|
|
The contents of `android/android_downloads/` and `android/android_dist/` can be
|
|
committed to form a full record of how the latest output file was generated.
|
|
|
|
The `combined.json` and `input-files.zip` can be passed to the new step of the
|
|
reference data generation pipeline, which is held in a separate git project.
|
|
|