spiegel-keyman/developer/src/kmldmlc
Marc Durdin 89331b62c4
Merge pull request #7203 from keymanapp/chore/developer/add-test-for-messages-and-improve-reporting-on-e2e
chore(developer): add test for compiler messages and cleanup e2e test 🙀
2022-09-07 11:28:35 +10:00
..
src refactor(developer): cleanup virtual key constants 2022-09-05 10:35:09 +10:00
test Merge pull request #7203 from keymanapp/chore/developer/add-test-for-messages-and-improve-reporting-on-e2e 2022-09-07 11:28:35 +10:00
.gitignore feat(developer): LDML keyboard compiler - infrastructure 2022-08-23 10:27:34 +10:00
build.sh feat(developer): use json schema to verify source file 2022-09-01 16:56:50 +10:00
bundle.inc.sh chore(developer): cleanup comments 2022-08-24 03:54:25 +10:00
Makefile chore(developer): cleanup comments 2022-08-24 03:54:25 +10:00
package.json feat(core): add version field to meta 2022-09-02 14:13:10 +10:00
README.md chore: Apply suggestions from code review 2022-08-24 09:29:03 +10:00
tsconfig.json feat(developer): add loca tests 2022-08-31 10:18:57 +10:00

Keyman Developer - LDML Keyboard Compiler

This package provides the following Keyman command line tool:

  • kmldmlc — takes LDML Keyboard .xml sources and compiles them in to a KMXPlus .kmx file.

Install

Install kmlmdlc globally:

npm install -g @keymanapp/ldml-keyboard-compiler

Usage

To compile an LDML keyboard from its .xml source, use kmldmlc:

kmldmlc my-keyboard.xml --outFile my-keyboard.kmx

To see more command line options by using the --help option:

kmldmlc --help

How to build from source

Run build.sh:

./build.sh configure build

or

nmake configure build

Once you have configured once, you should not normally need to do it again unless dependencies change. ./build.sh without parameters will do the default action, which is build.

How to run the tests

./build.sh test

How to prepare bundling for installation

./build.sh bundle --build-path <temp_path>

The temp_path must be a path outside the repository to avoid npm getting confused by the root package.json. This is called by inst/download.in.mak normally when building the Keyman Developer installer.

How to publish to NPM

./build.sh publish [--dry-run]

Publishes the current release to NPM. This should only be run from CI.