- Apr 24, 2023
-
-
Marc Durdin authored
Cleans up majority of remaining kmc-* modules to use CompilerEvent messages instead of console.log and friends, adding InfrastructureMessages class for kmc CLI messages. Consolidates schema loading functions into a single `loadSchema` function in the CompilerCallbacks interface and implementations. Moves responsibility for instantiating NodeCompilerCallbacks out of each individual BuildActivity and into higher level modules. Fixes return value for failing builds.
-
- Apr 23, 2023
-
-
Marc Durdin authored
-
- Apr 21, 2023
-
-
Marc Durdin authored
Fixes #7340. Removes the unused <Version> element from <LexicalModel> element in the .kps schema. (This needs to be copied to api.keyman.com also.) Updates compiler to check for <FollowKeyboardVersion> and read the version data from the .kmx in that case. Unit tests updated. Some of the fixtures were incorrect as they had <FollowKeyboardVersion> set for model-type packages or packages that contained no keyboards. Fixed.
-
Marc Durdin authored
Read a .kmx file into memory in Typescript. Currently only reads stores from the file, as these are the most common things needed for other processes. Will add support for reading other metadata and rules in future when required.
-
Marc Durdin authored
-
- Apr 20, 2023
-
-
Marc Durdin authored
Replaces the existing error reporting in kmc-model with CompilerEvent style messages. Some of the existing error reporting was kinda nice, but consistency trumps pretty here. One downside at present is the global filename and line variables in the model-compiler-errors.ts unit. This is fragile, and should probably be refactored further in the future. Where it made sense, I converted various throws into ModelCompilerError instances. If it appeared to be an internal error, I left it as-is, but the external API interfaces wrap all unknown exceptions and convert them into a compiler error message, so these APIs (compileModel and loadFromFilename) now have a guarantee that they will never throw. At this point, all of the error messages in the model compiler are unrecoverable -- they will halt the compile entirely. However, the pathway is there to support recoverable errors through the normal callbacks.reportMessage mechanisms. The message-counting mechanism is currently missing from this, as it belongs in the API consumer, rather than in the low-level reporting infrastructure. This means that models with large numbers of warnings are going to generate scads of messages for now. Note that the _users_ of CompilerCallbacks are subject to change in the future, once we have all the compilers using the callbacks.
-
Marc Durdin authored
Consolidates the two copies of comperr.h (they were identical) and moves to a common folder. Updates all references to comperr.h, except for one github commit ref.
-
Marc Durdin authored
If kmcmplib build includes the --full-test flag, then configure and run tests that include pulling in the keyboards repo; otherwise skip all of that. This will require CI changes to run full tests, relating to #8361.
-
Marc Durdin authored
-
Darcy Wong authored
fix(android/engine): Fix resetContext calls when selection changes
-
Joshua Horton authored
chore(web): sets kmc-model as dependency of input-processor test action
-
Marc Durdin authored
feat(developer): warn if .kps file includes a non-binary .kvk file
-
Marc Durdin authored
feat(developer): add CompilerMessages support to kmc-package
-
Marc Durdin authored
refactor(developer): move shared test helpers into common
-
Marc Durdin authored
feat(developer): use new message infrastructure in kmc-kmn
-
Marc Durdin authored
feat(developer): add warning options to kmc
-
Marc Durdin authored
refactor(developer): move build activities
-
Marc Durdin authored
fix(developer): kmc no longer emits double file extension for models
-
Marc Durdin authored
fix(developer): kmc-kmn would abort build on warnings
-
Marc Durdin authored
-
Joshua A. Horton authored
-
Darcy Wong authored
-
Keyman Server authored
auto: increment master version to 17.0.91
-
Keyman Build Agent authored
-
- Apr 19, 2023
-
-
Marc Durdin authored
fix(developer): package editor no longer loses RTL flag for LMs
-
Marc Durdin authored
Relates to #8150. Legacy .kmp compiler would transform xml-format .kvk files into a binary .kvk file; now we want that to remain the responsibility of the keyboard compiler, so we'll warn the few users who are still doing this.
-
Marc Durdin authored
-
Joshua A. Horton authored
-
Joshua A. Horton authored
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
Adds basic infrastructure for CompilerMessages events. Additional warnings, errors, and hints to come.
-
Marc Durdin authored
Sadly, a lot of plumbing required to share code. But it should work now; these test helpers are used only in dev so should not require publication.
-
Marc Durdin authored
-
Marc Durdin authored
-
Darcy Wong authored
chore(android/engine): Cleanup old SDK calls
-
Marc Durdin authored
-
Marc Durdin authored
Moves to using the `reportMessage` callback for reporting all errors in kmc-kmn. This required some patching to common/web/types in order to get the new constants in place and add support for line numbers to `CompilerEvent`, so at the same time I refactored `compilerErrorSeverityName` into the module. After the refactor, coverage tests were failing because they included the test/ folder, so cleaned that up at the same time.
-
Darcy Wong authored
-
Marc Durdin authored
Adds --compiler-warnings-as-errors and --no-warn-deprecated-code options to kmc command line and interfaces. Note that most compilers do not yet honour these options, only kmc-kmn. Both of these should be handled in error filtering and reporting rather than at the compiler level, so management of these may be factored out of kmcmplib and into kmc later (although this goal may be blocked by kmcmpdll's need to also use them).
-