mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 08:55:34 +00:00
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. |
||
|---|---|---|
| .. | ||
| keyboard_info | ||
| keyman-touch-layout | ||
| kpj | ||
| kps | ||
| kvk | ||
| kvks | ||