spiegel-keyman/common/schemas
Marc Durdin be4f036a3c feat(developer): Add support for building a folder to kmc
Relates to #2761.

kmc now supports passing in a folder and building all Keyman source
files found in the folder, even if a .kpj is not present in the folder.

If a .kpj file exists, `KeymanDeveloperProject/Options/Version` will be
checked to determine behaviour. If this field is missing or "1.0", then
the classical behaviour persists.

If the Version field is "2.0", the `Files` key is ignored, and .kmn,
.xml, .model.ts, and .kps files under `sourcePath` are enumerated and
added to the in-memory project for build.

If a .kpj is not present in the folder, a virtual project is constructed
in memory with the following defaults:

* `version`: `2.0`
* `buildPath`: `$PROJECTPATH/build`
* `sourcePath`: `$PROJECTPATH/source`
* `compilerWarningsAsErrors`: `false`
* `warnDeprecatedCode`: `true`
* `checkFilenameConventions`: `true`

It is still considered an error to include both a keyboard and a model
in the same file, but a version 2.0 project will not include the field
determining its type in `Options/ProjectType`; this will instead be
checked during build.

The call to `kmc` can reference a folder or a .kpj file. The .kpj file
must have the same basename as the folder name (e.g.
`khmer_angkor/khmer_angkor.kpj`).

WARNING: this does not add support for 2.0 projects to Keyman Developer;
it is likely that opening a version 2.0 project in Developer will
currently corrupt it.

WARNING: it is not anticipated that kmcomp.exe will be updated to
support version 2.0 projects -- rather kmcomp.exe will be removed before
release of v17, and replaced with kmc.
2023-02-27 13:11:22 +07:00
..
keyboard_info feat(developer): draft .keyman-touch-layout schema 2022-06-28 11:31:20 +10:00
keyman-touch-layout feat(common): add keyman-touch-layout format and readers/writers for typescript 2022-10-10 07:23:38 +11:00
kpj feat(developer): Add support for building a folder to kmc 2023-02-27 13:11:22 +07:00
kps feat(developer): validate .kps files during compile 2021-11-11 14:41:04 +11:00
kvk feat(developer): add schemas for .kvk and .kvks 2022-09-26 20:05:52 +10:00
kvks feat(common): kvks writer for TypeScript 2022-09-29 12:32:12 +10:00