chore(common): Consolidate build scripts
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
Action Item from Feb 2022 planning meeting
Create consolidated build scripts and make build script parameters consistent.
This will simplify our CI and be less task-switching load on developers.
**Spec document:** https://docs.google.com/document/d/1xoQaO7ZcICNm2q_C35Cm7Z9TgYq8d2XErSJblVPXM28/edit#
Subprojects
- [x] Android
- [x] #11317
- [x] iOS
- [x] Linux
- [x] MacOS (#11444)
- [x] #11316
Related TODO emerging from #6525:
- [ ] verify_npm_setup and related functions can probably be eliminated (or placed under 'configure').
- [ ] most of the build scripts should be largely eliminated for web.
- [ ] build.sh, tsconfig.json should always be in the module's top-level folder, not in a subfolder such as src (e.g. see input-processor/src, keyboard-processor/src, web/source).
Unrelated from #6525, placed here for now:
- [ ] The embedded vs browser vs node (headless) builds should be tidied up for consistency so that it's obvious what depends on what. This is currently messiest in the predictive-text folder, where the output names diverge from the filenames and the various files are mixed in the same folder (as evidenced by the exclusions listed in each tsconfig.json).
- [ ] other js node_modules imports should be wrapped like es6-shim.
- [ ] /developer build/ vs dist/ paths
- [ ] publish action for common npm modules is currently hosted by [developer/src/kmc/build.sh](https://github.com/keymanapp/keyman/blob/395dfd0e382d49c74f75e0587c8b6e4c21849ee5/developer/src/kmc/build.sh#L99-L109), but should be in a top-level script.
Contributor guide
Assessment
This issue has not been assessed yet.