Commit graph

2191 commits

Author SHA1 Message Date
Marc Durdin
1fa540c77f
Merge pull request #9612 from keymanapp/chore/developer/9611-normalize-case-on-input-filenames
chore(developer): normalize case on input filenames in kmc 🎺
2023-10-04 03:42:10 +02:00
Marc Durdin
cb3d526310
Merge pull request #9619 from keymanapp/chore/developer/9551-remove-keyboard_info-sources
chore(developer): remove .keyboard_info sources 🎺
2023-10-03 15:38:37 +02:00
Marc Durdin
05e2b196dc
Merge branch 'epic/package-metadata' into feat/windows/create-installer-without-buildpkg 2023-10-03 15:38:17 +02:00
Marc Durdin
f864f57d8b
Merge pull request #9607 from keymanapp/feat/developer/kmc-package-windows-installer
feat(developer): Windows package installer compiler 🎺
2023-10-03 15:35:43 +02:00
Marc Durdin
70dfbce5aa
Merge pull request #9571 from keymanapp/feat/developer/remove-kmcmpdll
feat(developer): remove kmcomp, kmcmpdll 🎺
2023-10-03 15:35:19 +02:00
Marc Durdin
d2856a357c
Merge pull request #9539 from keymanapp/feat/developer/use-kmc-in-tike
feat(developer): use kmc to compile project files 🎺
2023-10-03 15:35:11 +02:00
Marc Durdin
311c7675ee
chore: Update developer/src/tike/project/Keyman.Developer.System.Project.kmnProjectFileAction.pas 2023-10-04 00:34:57 +11:00
Marc Durdin
fafedbbd72
chore: Apply suggestions from code review 2023-10-02 14:24:07 +11:00
Marc Durdin
4a7820fdeb chore(developer): remove obsolete menu item 2023-09-28 16:05:43 +07:00
Marc Durdin
84d77ff306
Merge pull request #9537 from keymanapp/feat/developer/add-logFormat-to-kmc
feat(developer): add --log-format to kmc 🎺
2023-09-28 10:54:19 +02:00
Marc Durdin
65d95d39fc
Merge pull request #9535 from keymanapp/feat/developer/eliminate-source-info-files
feat(developer): eliminate source .model_info and .keyboard_info files 🎺
2023-09-28 10:54:08 +02:00
Marc Durdin
640f04c5d3
Merge pull request #9480 from keymanapp/feat/developer/use-last-commit-date-for-keyboard_info
feat(developer): use git's last commit date for keyboard_info 🎺
2023-09-28 10:53:59 +02:00
Marc Durdin
a093507a4c chore(developer): remove .keyboard_info sources
Fixes #9551.

Removes various .keyboard_info files from test fixtures and also removes
generation of .keyboard_info source files from kmconvert, alongside now-
redundant tests (cvt.dpr).
2023-09-25 12:19:26 +07:00
Marc Durdin
fd9b131307 chore(developer): remove Package Installer UI from TIKE 2023-09-25 10:27:59 +07:00
Marc Durdin
5a6758d12e chore(developer): move package version unit tests into Typescript 2023-09-25 08:44:11 +07:00
Marc Durdin
7dc8743cd3 chore(windows): remove buildpkg 2023-09-25 06:00:39 +07:00
Marc Durdin
e1087ed781 chore(developer): fix commander global options 2023-09-22 11:20:48 +07:00
Marc Durdin
c95b0dd421 chore(developer): normalize case on input filenames in kmc
Fixes #9611.
2023-09-22 09:54:22 +07:00
Marc Durdin
a9fb7a189f chore(developer): add missing parameter to ldml-test-data 2023-09-22 09:27:37 +07:00
Marc Durdin
db6a836e31 chore(developer): remove extra parameter 2023-09-21 17:44:08 +07:00
Marc Durdin
a1a7b39481 feat(developer): Windows package installer compiler
Replaces kmcomp's package installer build infrastructure. While this is
mostly legacy, package installers are still used in adhoc distribution
scenarios, so we need to continue to support with the new kmc.

The package installer is a Windows self-extracting zip archive. The user
is expected to find setup-redist.exe and keymandesktop.msi themselves,
from the Keyman Developer release files. They are not included with
Keyman Developer, but are available as standalone downloads from
https://downloads.keyman.com/windows/.

`kmc build` has been updated to include two subcommands:
* `kmc build ldml-test-data`
* `kmc build windows-package-installer`

Both of these subcommands are a little long, but the use cases for them
are fairly narrow, so I believe this is okay. `kmc build-test-data` has
been removed, as `kmc build ldml-test-data` replaces it.
2023-09-21 17:35:16 +07:00
Marc Durdin
454448bc63 chore: use kmc instead of kmcomp to build test keyboards 2023-09-16 15:24:46 +07:00
Marc Durdin
0cd3bd6dea
Merge pull request #9563 from keymanapp/chore/merge-master-into-package-metadata
chore: merge master into package-metadata 🎺
2023-09-15 17:06:16 +02:00
Marc Durdin
ccfefa279f chore: make const for date format 2023-09-12 09:26:03 +01:00
Marc Durdin
b8cf546d38
chore: Update developer/src/kmc/src/util/baseOptions.ts 2023-09-12 17:18:02 +10:00
Marc Durdin
a0bdb617a0
chore(developer): Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-09-12 17:15:35 +10:00
Marc Durdin
3a2540b077 feat(developer): remove kmcomp
Removes kmcomp.dpr, related source, compilekeymanweb.pas, and related
unit tests.

Cleans up a couple of bits and pieces around kmc in order to help tests
to pass, and updates some tests that had legacy code in them
(particularly missing &TARGETS stores).
2023-09-09 17:47:15 +02:00
Marc Durdin
4c07b6c49c feat(developer): remove kmcmpdll 2023-09-02 12:25:29 +04:00
Marc Durdin
ec134f61e6 chore(developer): update tests for new compiler 2023-09-02 10:51:30 +04:00
Marc Durdin
a14abd7b0d chore(developer): add kmcwrapper to unit tests 2023-09-02 07:54:07 +04:00
Marc Durdin
ea4af39b13 chore(developer): kmcomp to build with kmcwrapper 2023-09-02 07:11:18 +04:00
Marc Durdin
44d57e8041 feat(developer): compile kmn files with kmc in tike 2023-09-01 20:40:16 +04:00
Marc Durdin
41f370ede6 chore(developer): remove duplicate outFile parameter
Consolidates the outFile parameter that was duplicated in kmc-kmn.
2023-09-01 20:23:43 +04:00
Marc Durdin
c91b271e67 feat(developer): use kmc to compile packages in TIKE
Also removes unused FSilent flag (was always False).
2023-09-01 19:44:38 +04:00
Marc Durdin
fb165a3f95 feat(developer): use kmc instead of kmlmc in TIKE
First step of integration of kmc into TIKE, establishing base classes
and replacing the lexical model compiler wrapper with them.
2023-09-01 18:16:25 +04:00
Marc Durdin
d2f4e5f2c7 feat(developer): add --log-format to kmc
Adds logFormat of tsv vs formatted for kmc, in order to allow for
"porcelain" style log formatting when we interop with TIKE.
2023-09-01 18:00:13 +04:00
Marc Durdin
0d96437cb8 chore: workaround npm/cli#3466 when bundling internal deps
Works around npm/cli#3466 when bundling internal dependencies using the
bundleDependencies package.json property.

This change works in tandem with the npm pack/publish process -- when we
run `developer/src/kmc/build.sh publish` (or `pack`), we end up with
`npm version` stomping on all our package.json files, so the repo is
dirty after this. We need a copy of the top-level package.json before
this stomping happens, in order to get a simple map of the location of
each of our internal dependencies, from the `dependencies` property (it
would be possible to figure this out with a lot more parsing of
our package.json files, but this is simpler).

This means, in future, we should avoid publishing our internal
dependencies such as those under common/ to npm, as they serve no
practical purpose there.
2023-09-01 17:48:35 +04:00
Marc Durdin
508588ef26 chore(developer): developer-utils as private package 2023-09-01 15:58:22 +07:00
Marc Durdin
6590658da4 chore(developer): add developer-utils package to publish 2023-09-01 10:12:12 +07:00
Marc Durdin
ff38c6d32d
Merge pull request #9479 from keymanapp/chore/developer/cleanup-kmc-keyboard-info-interface
chore(developer): cleanup kmc-keyboard-info interface 🎺
2023-09-01 13:06:01 +10:00
Marc Durdin
651af2ffd3
Merge pull request #9476 from keymanapp/feat/developer/keyboard-info-markdown
feat(developer): convert markdown description to html 🎺
2023-09-01 13:05:51 +10:00
Marc Durdin
6e8cc167a9
Merge pull request #9474 from keymanapp/feat/developer/compile-without-source-keyboard-info
feat(developer): support building .keyboard_info without source version 🎺
2023-09-01 13:05:43 +10:00
Marc Durdin
0913770208
Merge pull request #9471 from keymanapp/chore/developer/keyboard-info-font-examples-cleanup
chore(developer): cleanup keyboard_info schema 🎺
2023-09-01 13:05:36 +10:00
Marc Durdin
722f72b47a
Merge pull request #9470 from keymanapp/feat/developer/package-license
feat(developer): add LicenseFile as property of package 🎺
2023-09-01 13:05:29 +10:00
Marc Durdin
920a435fb6
Merge pull request #9463 from keymanapp/feat/developer/package-keyboard-web-fonts
feat(developer): add web font references to package 🎺
2023-09-01 13:05:22 +10:00
Marc Durdin
a0f7d25ead
Merge pull request #9459 from keymanapp/feat/developer/extra-package-metadata
feat(developer): additional metadata in keyboard packages 🎺
2023-09-01 13:05:12 +10:00
Marc Durdin
ee4108598e
Merge pull request #9452 from keymanapp/feat/developer/keyboard-info-dedup
chore(common): remove deprecated fields from keyboard_info 🎺
2023-09-01 13:05:05 +10:00
Marc Durdin
56d64da9a7 chore(developer): npm install and fix import 2023-08-30 16:31:43 +10:00
Marc Durdin
232c918c31 feat(developer): support isRTL and license fields in .model_info
Adds support for calculating isRTL and license fields in .model_info
compiler.

Also:
* establishes @keymanapp/developer-utils shared module
* moves license validation into @keymanapp/developer-utils
* refactors kmc-model-info to a class and general cleanup
2023-08-29 16:37:37 +10:00
Marc Durdin
1531e88f70 feat(developer): eliminate source .model_info and .keyboard_info files
Removes all references to source .keyboard_info and .model_info files in
the kmc compiler and types. Updates the model info compiler to support
building purely from model sources (isRTL, license fields are TODO).
2023-08-29 15:37:31 +10:00