mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-01 05:07:40 +00:00
As the build environment documentation is duplicated across each of the Keyman platform projects, it has become somewhat convoluted and inconsistent. This PR moves all the mac-based and shared documentation into docs/build, with placeholders for Windows and Linux documentation to be moved in the next PR. The idea is that a developer can configure their box to build any of the available projects for that platform (web and android build on all three main dev platforms). Keeping the build documentation in one place makes it much simpler to keep it consistent and up-to-date as well, as well as keeping us aware of potential dependency conflicts between projects. The icing on the cake is the resources/devbox/macos/macos.sh script, which I have tested and takes a bare metal mac box through to a full Keyman development environment (except XCode, there's always something!)
59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
# Keyman Web
|
|
The Original Code is (C) SIL International
|
|
|
|
## Prerequisites
|
|
See [build configuration](../docs/build/index.md) for details on how to configure your build environment.
|
|
|
|
**********************************************************************
|
|
|
|
The following folders contain the distribution for KeymanWeb:
|
|
|
|
source Source code
|
|
sources/resources/osk OSK resources for inclusion in mobile app builds;
|
|
keymanweb-osk.ttf is maintained at https://github.com/silnrsi/font-keymanweb-osk
|
|
unit_tests Automated testing resources
|
|
|
|
intermediate Intermediate compiled code; TypeScript source is compiled here before it is minified.
|
|
release/web Fully-compiled KeymanWeb modules for testing
|
|
release/embedded Fully-compiled KMEA/KMEI modules for inclusion in mobile app builds
|
|
release/unminified/web Fully-compiled but non-minified KeymanWeb modules
|
|
release/unminified/embedded Fully-compiled KMEA/KMEI modules for inclusion in mobile app builds
|
|
|
|
samples Sample pages demonstrating ways to link with KeymanWeb
|
|
testing Test-case web-pages for various aspects of KeymanWeb functionality
|
|
unit_tests A Node-driven test suite for automated testing of KeymanWeb
|
|
|
|
## Usage
|
|
Open **index.html** or **samples/index.html** in your browser. Be sure to compile KeymanWeb before viewing the pages.
|
|
|
|
Refer to the samples for usage details.
|
|
|
|
To view pages using compiled KeymanWeb,
|
|
1. cd to **keyman/web/source**
|
|
2. Run `./build.sh`
|
|
|
|
### `build.sh` options:
|
|
|
|
* `-ui`
|
|
- to compile desktop user interface modules to output folder
|
|
* `-test`
|
|
- to compile for testing without copying resources or updating the saved version number.
|
|
* `-embed`
|
|
- to compile only the KMEA/KMEI embedded engine.
|
|
* `-web`
|
|
- to compile only the KeymanWeb engine.
|
|
* `-debug_embedded`
|
|
- to compile a readable version of the embedded KMEA/KMEI code
|
|
* `-no_minify`
|
|
- to disable the minified '/release/web' and '/release/embedded' build sections.
|
|
- the '/release/unminified/web' and '/release/unminified/embedded' folders will still be built.
|
|
* `-clean`
|
|
- to erase pre-existing build products before the build.
|
|
|
|
If more than one target is specified, the last one will take precedence.
|
|
|
|
### Unit Testing ###
|
|
|
|
Before running unit tests on KeymanWeb, first run `./build.sh` according to the instructions above.
|
|
|
|
Once the build is complete, running `npm test` will run the unit testing suite on your local machine in-browser. Alternatively, see `unit_tests/test.sh`, which the former command executes.
|