As KEYMAN-VERSION changed from being a type to a class, this broke the
bundling and referencing strategies in Developer/Server and
Developer/kmlmc. This updates the bundling process and fixes the
references in both projects.
Note that keyman-version no longer depends on gosh. Given we are
currently manually calling the build for this in all projects (or should
be!), it's better that we keep the build of this explicit for now.
If we want to restore the postinstall/postci steps in the future, the
gosh dependency would need to be manually removed from package.json in
order for the bundling builds to work for Developer/Server and
Developer/kmlmc.
Starts to resolve the chaos of putting version numbers into every
package.json file.
Adds a new keyman-version package which mimics the
version information in build-utils.sh. This will eventually replace
resources/web-environment.
Fixes the build for the lexical model compiler tools to remove refs to
package.json version and use keyman-version instead.
More fixes coming in a follow-up.
There was confusion in the compiler between INFO and HINT type messages.
The problem is that INFO messages will be suppressed by -s/-ss in
kmcomp, but we actually still want HINT messages to be emitted. So I
have gone ahead and renamed CERR_INFO to CERR_HINT and updated all the
places.
This was necessary in order for the kmcomp e2e test 194 to pass.
Fixes#355.
Fixes#1710.
This is structured as a feature so it is tested as such, but was part of
the set of fixes scheduled for 15.0 beta. Any rule in a group that
Keyman Developer assesses as 'unreachable' will receive a hint message.
The current rule match is fairly simplistic -- it only does an exact
comparison -- so duplication which is indirect, through `any(store)`
references in the context would still result in unreachable rules that
are not picked up.
Fixes#3199.
Ensures that the model package compiler passes schema validation for
kmp.json. Three problems were corrected:
1. `followKeyboardVersion` is a source-only property; it should not be
in deployable kmp.json.
2. `copyLocation` should have been a number not a string (in XML
everything is a string... but JSON has more control here)
3. `fileType` is a source-only property; it also should not be in
deployable kmp.json.
I have checked that the resulting files validate against the package
kmp.json schema version 1.1.0 defined at
https://github.com/keymanapp/api.keyman.com/blob/master/schemas/package/1.1.0/package.json.
None of these fixes should impact the use of these packages in target
apps. `followKeyboardVersion` and `fileType` are used only in the source
at package development time, and `copyLocation` is unused (and should be
eliminated from Keyman altogether in the future).