Commit graph

2081 commits

Author SHA1 Message Date
Marc Durdin
d8e03e0695 chore(developer): refactor KeymanDeveloperProjectFile
Turns KeymanDeveloperProjectFile into an interface, and removes
redundant data in filename and fileType fields, calculating these from
filePath instead. Maintains separate KeymanDeveloperProjectFile10 and
KeymanDeveloperProjectFile20 classes implementing the base interface for
now, although that may be a target for future consolidation (lowpri).
2023-08-02 12:05:48 +07:00
Marc Durdin
48c0f09872 chore(developer): use getFileType() instead of fileType
Ensures that we calculate the file type instead of using stored data,
which is a lot cleaner. Means we ignore the filetype field in the .kpj
xml, which is fine.

We should do the same with filename vs filepath.
2023-08-02 11:50:35 +07:00
Marc Durdin
41aac59a4a chore(developer): minor patches to fix compile issues
Fixes #9377.

1. ldml_transforms.cpp used emplace_back with char instead of dword
   values (#9377)
2. import was updated to src/ instead of ../ by vscode in build.ts
   (no related issue)
2023-08-01 13:27:31 +07:00
Marc Durdin
d045e18897
Merge pull request #9350 from keymanapp/refactor/developer/projectLoader-projectReader
refactor(developer): projectReader to depend on projectLoader 🗜
2023-08-01 13:45:16 +10:00
Marc Durdin
038db7b1dd
Merge pull request #9348 from keymanapp/fix/developer/support-sourcePath-for-model-info
fix(developer): support sourcePath in .model_info files 🗜
2023-08-01 13:45:09 +10:00
Marc Durdin
e247bb02dd chore(developer): address review comments 2023-08-01 10:44:21 +07:00
Marc Durdin
ab4e12426a chore(developer): rename projectReader to projectRunner 2023-07-31 15:59:26 +07:00
Marc Durdin
246c02ea31 chore(developer): address review comments 2023-07-31 15:59:00 +07:00
Marc Durdin
4e5a359c84
Merge branch 'fix/developer/support-sourcePath-for-model-info' into refactor/developer/projectLoader-projectReader 2023-07-26 19:25:12 +10:00
Marc Durdin
5aa1c17297
Merge branch 'feat/developer/introduce-kmc-keyboard-info' into fix/developer/support-sourcePath-for-model-info 2023-07-26 19:24:54 +10:00
Marc Durdin
c9e1e82a76
Merge branch 'feature-kmc-kmw' into feat/developer/introduce-kmc-keyboard-info 2023-07-26 19:24:34 +10:00
Marc Durdin
52869e0d15
Merge pull request #9323 from keymanapp/chore/developer/move-keyman-targets-to-common
refactor(developer): move keyman-targets.ts to common/web/types 🗜
2023-07-26 17:37:41 +10:00
Marc Durdin
4bdb3cc9c8 refactor(developer): projectReader to depend on projectLoader
Fixes #9349.
2023-07-26 12:59:01 +07:00
Marc Durdin
eab760c890 fix(developer): support sourcePath in .model_info files 2023-07-26 12:26:20 +07:00
Marc Durdin
bda6ba1adc chore(developer): further kmc-keyboard-info infrastructure 2023-07-26 12:02:09 +07:00
Marc Durdin
9d6f417b8d chore(developer): fixup keyman-targets use
Also fixes git attributes for khmer_angkor.js test fixture
2023-07-26 11:49:48 +07:00
Marc Durdin
393951ce8e
Merge branch 'chore/developer/move-keyman-targets-to-common' into feat/developer/introduce-kmc-keyboard-info 2023-07-26 14:34:40 +10:00
Marc Durdin
a2d45c00c7 chore(common): address review comments 2023-07-26 11:32:38 +07:00
Marc Durdin
7f5e0756d2
Merge pull request #9306 from keymanapp/chore/developer/9305-use-kmc-messages-for-errors-in-kmc-model-info
chore(developer): use kmc messages for kmc-model-info 🗜
2023-07-26 09:48:17 +10:00
Marc Durdin
2465d99556 chore(developer): langtags.js not langtags.ts 2023-07-26 05:55:26 +07:00
Marc Durdin
54eddf5782 chore(developer): add kmc-analyze makefile 2023-07-25 15:22:24 +07:00
Marc Durdin
95d7be292c chore(developer): dep ref for kmc-keyboard-info configure 2023-07-25 15:11:44 +07:00
Marc Durdin
b369fbb89b feat(developer): implement kmc keyboard_info compiler
Fixes missing components of the kmc-keyboard-info compiler and
integration into kmc. Lots of cleanup making sure that the compiler
actually generates expected output against the keyboards repository.
2023-07-25 14:21:58 +07:00
Marc Durdin
3cc0f37e1b feat(developer): introduce kmc-keyboard-info
Adds kmc-keyboard-info module and a basic unit test for it. Integration
into kmc is next step.
2023-07-24 10:41:12 +07:00
Marc Durdin
039dda63ec chore(developer): use keymanTargetsFromString in kmc-package 2023-07-24 09:02:48 +07:00
Marc Durdin
1bfd9e64ae refactor(developer): move keyman-targets.ts to common/web/types
Also adds unit test. Prep for use in kmc-keyboard-info.
2023-07-24 08:59:04 +07:00
Marc Durdin
2c16f68d07 chore(developer): fixup broken import 2023-07-21 12:09:17 +07:00
Marc Durdin
1810434b34 chore: Merge branch 'feature-kmc-kmw' into chore/merge-master-into-kmc-kmw-a17s17 2023-07-21 10:09:33 +07:00
Marc Durdin
e99288a9a6 chore(developer): remove errant baseUrl tsconfig 2023-07-21 09:53:13 +07:00
Marc Durdin
887bea8289
chore: address review comments
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-07-21 12:39:02 +10:00
Marc Durdin
794bf8a3be chore(developer): use kmc messages for kmc-model-info
Fixes #9305.
2023-07-19 15:15:54 +07:00
Marc Durdin
ab80e3c292 fix(developer): LexicalModelCompiler now takes a callbacks constructor parameter 2023-07-19 15:14:08 +07:00
Marc Durdin
fd8e17e05c fix(developer): respect checkFilenameConventions in kmc
Fixes #9300.
2023-07-19 13:56:21 +07:00
Marc Durdin
79a31b1914 fix(developer): clean up warning KM02093
Fixes #9299.
2023-07-19 12:57:57 +07:00
Marc Durdin
bf1fa7ef71 fix(developer): use relative paths for KM05009
Fixes #9298. Previous commit partially fixed this as well.

Throws in: warning colour changed to orange to differentiate from line
number colour.
2023-07-19 12:56:49 +07:00
Marc Durdin
db2f708bf8 fix(developer): consistently show filename for messages in kmc
Fixes #9297.
2023-07-19 12:56:11 +07:00
Marc Durdin
0ec7ae8ccf fix(developer): reduce KM0208A to info severity
Fixes #9296.

208A in kmcmplib is the awkwardly-named CWARN_Info. We now have an
'info' severity in kmc, so this tidies that up (we can keep the same
flag in kmcmplib for now).
2023-07-19 12:54:20 +07:00
Marc Durdin
11b68542f2 refactor(developer): remove node deps from kmc-model
Fixes #9288.

Tweaks a couple of unit tests to ensure callbacks are available, and
stops masking exceptions in one test with `doesNotThrow`... if it's
gonna throw then the test is gonna go bang anyway.
2023-07-18 14:38:47 +07:00
Marc Durdin
e2dc338ef1 refactor(developer): remove node dependencies from kmc-model-info
Fixes #9286.

Refactors the use of path and fs into the standard kmc callbacks pattern
and adds `callbacks.fileSize()`, which is needed for populating the
metadata file.

Turns on eslint test for node dependencies for kmc-model-info.
2023-07-18 14:02:04 +07:00
Marc Durdin
90434b0bb4
Merge branch 'feat/developer/kmc-model-info-tests' into feat/developer/add-model-info-keyboard-info-to-kmc-build-activities 2023-07-18 16:07:19 +10:00
Marc Durdin
bd3c663f21 chore(developer): work around line endings for fixture 2023-07-18 13:06:39 +07:00
Marc Durdin
0e65d7703c feat(developer): add model_info and keyboard_info build activities to kmc
Adds ability to build .model_info and .keyboard_info files to kmc. Note
that .keyboard_info building is currently a stub as the .keyboard_info
compiler has not yet been translated to TypeScript, which will come in a
subsequent PR.

Note that .model_info and .keyboard_info builds depend on the project
loader, as they reference both keyboard and package source files when
constructing the metadata files.

Also:
* Fixed a deep reference to KeymanDeveloperProjectFile.
* Split the project loader into a utility unit.
* Marked the .kpj fileType field as deprecated, as it is easily
  extrapolated from the filename, with the aim to remove it entirely
  from version 2.0 projects.

@keymanapp-test-bot skip
2023-07-18 12:14:46 +07:00
Marc Durdin
0e5204b2fc feat(developer): unit tests for kmc-model-info
Establishes a baseline unit test for kmc-model-info, in preparation for
integration into kmc build.
2023-07-18 11:51:46 +07:00
Marc Durdin
7f0460172e
Merge pull request #9074 from keymanapp/chore/windows/disable-compression-for-wix-light-debug-builds
chore(windows): disable wix compression for debug builds
2023-07-17 15:01:09 +10:00
Marc Durdin
2775ea0f46 fix(developer): warning suppression should be per file in kmc
Fixes #9274.
2023-07-17 11:00:45 +07:00
Marc Durdin
192dafa6ea feat(developer): support file lists in kmc
Fixes #9162.

Adds support for `@files.txt` parameters in kmc. Files listed in this
file, separated by line breaks, will be added to the input file list,
relative to the path of files.txt.

The file can include comments in lines starting with '#' and ignores
whitespace before and after each filename.
2023-07-17 08:15:45 +07:00
Marc Durdin
0fa7d1af5d chore(developer): remove old copy_schema call kmc build.sh 2023-07-17 05:25:16 +07:00
Marc Durdin
3fa8bc5d7a
Merge branch 'feature-kmc-kmw' into chore/common/bundle-schemas 2023-07-14 15:14:09 +10:00
Marc Durdin
3491463d3c
Merge pull request #9251 from keymanapp/fix/developer/9250-kmc-message-relative-paths
fix(developer): use relative paths in kmc messages 🗜
2023-07-14 15:12:54 +10:00
Marc Durdin
ce9c9ec9fc chore: try removing -t from sentry-cli 2023-07-13 14:48:05 +07:00