Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Developer] Add kmlmc command line compiler and environment #1986

Merged
merged 7 commits into from
Aug 25, 2019

Conversation

mcdurdin
Copy link
Member

@mcdurdin mcdurdin commented Aug 21, 2019

Once PR #1983 is merged, rebase this to beta.

This PR integrates kmlmc into Keyman Developer, as a command line tool. This does not include a way to build a lexical model from the GUI yet.

The majority of the work is in bundling an appropriate minimal node environment. The requirements are:

  1. No new installation dependencies are introduced for the user.
  2. It does not conflict with existing node installs on the user's machine
  3. No online requirement is introduced for the compiler (e.g. to use npm)
  4. The files included should be minimal.
  5. The build can handle new dependencies in the compiler without needing changes to the deployment and packaging.

Given that npm-bundle generates a .tgz, which doesn't unpack on Windows without additional tooling, I opted instead to work from the repo directly. Most of the grunt work is done in the Makefile copydev.in (which is preprocessed to generate copydev.mak during the Keyman Developer build).

I'm not that happy with including node.exe (32 bit) in the repo but it is the simplest consistent way I've found so far. Any suggestions for improving this appreciated.

Note: this is designed for Windows users. For other platforms (or existing Node users), I intend to publish @keymanapp/lexical-model-compiler (name?) in npm.

@mcdurdin mcdurdin changed the base branch from beta to developer-compiler-cli August 21, 2019 23:19
@mcdurdin mcdurdin added this to the P7S5 milestone Aug 21, 2019
@keyman-server
Copy link
Collaborator

OSK renders for Windows

@keyman-server
Copy link
Collaborator

OSK renders for Windows

@mcdurdin mcdurdin changed the base branch from developer-compiler-cli to beta August 22, 2019 15:46
@mcdurdin mcdurdin changed the base branch from beta to developer-compiler-cli August 22, 2019 15:47
@eddieantonio
Copy link
Contributor

So far so good! I've merged beta into #1983. It also now finds word lists relative to the path of the model.ts file — not the current working directory! I'm looking forward to simplifying the documentation in help.keyman.com!

P.S., I think the name @keymanapp/lexical-model-compiler is fine!

@mcdurdin mcdurdin changed the base branch from developer-compiler-cli to beta August 23, 2019 03:02
@mcdurdin mcdurdin marked this pull request as ready for review August 23, 2019 03:05
Copy link
Contributor

@darcywong00 darcywong00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcdurdin mcdurdin merged commit e7e9624 into beta Aug 25, 2019
@mcdurdin mcdurdin deleted the developer-integrate-compiler branch August 25, 2019 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants