Commit graph

4171 commits

Author SHA1 Message Date
Marc Durdin
c263a2bd2a
Merge pull request #14658 from keymanapp/fix/developer/new-ldml-keyboard-project-validation-message
fix(developer): add clear messages about validation failures to New LDML Project Parameters form
2025-09-02 11:29:39 +02:00
Marc Durdin
c557124006
Merge pull request #14657 from keymanapp/fix/developer/14169-new-keyboard-project-validation-message
fix(developer): add clear messages about validation failures to New Project Parameters form
2025-09-02 11:29:30 +02:00
Marc Durdin
8150f36b09
Merge pull request #14651 from keymanapp/fix/developer/13903-offset-compiler-error-line
fix(developer): remove incorrect offset for compiler error line
2025-09-02 11:29:12 +02:00
Marc Durdin
5f64033603
docs(developer): Update developer/docs/help/context/new-project-parameters.md
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-09-02 05:38:03 +02:00
Marc Durdin
21cae0d7de fix(developer): add clear messages about validation failures to New LDML Project Parameters form
Apply new FormValidation to New LDML Project Parameters form.

Follows: #14657
2025-09-01 15:21:24 +02:00
Marc Durdin
7de860276e docs(developer): additional formatting for New Keyboard Project Parameters 2025-09-01 15:21:11 +02:00
Marc Durdin
9c656808bf chore(developer): tweak wordwrap on validation fields 2025-09-01 14:25:18 +02:00
Marc Durdin
a9ed458bdc docs(developer): update New Project Parameters dialog
Update the Description, refresh other fields, and use the new dialog
layout.
2025-09-01 14:10:15 +02:00
Marc Durdin
d61bcf23da fix(developer): add clear messages about validation failures to New Project Parameters form
Add a new FormValidation class to help make a consistent declarative
field validation pattern for Keyman Developer forms, and apply that
initially to the New Keyboard Project Parameters dialog. This pattern
replaces the earlier EnableControls pattern; ideally we will replace
validation in other forms with similar validation requirements with this
over time.

Fixes: #14169
2025-09-01 13:40:40 +02:00
Marc Durdin
c36c3eb943 change(developer): update SIL logo
Fixes: #14116
Test-bot: skip
2025-09-01 08:13:43 +02:00
Marc Durdin
2ec7ad4dd4
Merge pull request #14650 from keymanapp/fix/developer/14348-handle-failure-to-create-dest-path-in-new-keyboard-project
fix(developer): handle failure to create destination path when generating new project
2025-08-31 06:37:03 +02:00
Marc Durdin
d73b31fae5 chore(developer): update tests to match 2025-08-30 07:10:36 +02:00
Marc Durdin
c4a45e2739 fix(developer): remove incorrect offset for compiler error line
Fixes: #13903
2025-08-30 06:43:40 +02:00
Marc Durdin
f8ce6c0ed1 fix(developer): handle failure to create destination path when generating new project
Add better error handling for situation where destination path cannot be
created, for all project types. Also report back the Windows error
message which hopefully clarifies why the directory could not be
created.

Fixes: #14348
Fixes: KEYMAN-DEVELOPER-1P1
Fixes: KEYMAN-DEVELOPER-2SN
Test-bot: skip
2025-08-30 06:15:11 +02:00
Marc Durdin
7a3e50596d fix(developer): handle missing model id in package with compiler error
If a `<LexicalModel>` element is found with a missing or empty `<ID>`
element, the compiler will now report `ERROR_MissingModelId` instead of
crashing. The corresponding check for missing `<ID>` for `<Keyboard>`
element has been updated to match this, and now reports a clearer error
message of `ERROR_MissingKeyboardId` rather than depending on the
side-effect of looking up the keyboard in the `<File>` elements.

Fixes: #13783
Fixes: KEYMAN-DEVELOPER-2X7
Test-bot: skip
2025-08-30 05:46:53 +02:00
Meng-Heng
b8be6d585a docs: update package-editor page section details tab 2025-08-22 11:53:47 +07:00
Marc Durdin
00b98f2286 fix(windows): emit nunit report path correctly and update TeamCity links
* Windows and Developer sources
* Fixes the report path to be fully qualified
* Adds the TeamCity report logger to remaining DUnitX automated tests

Fixes: #14197
Build-bot: skip build:windows,developer
Test-bot: skip
2025-08-20 07:21:03 +02:00
Marc Durdin
81c807c257 chore(common): Merge branch 'master' into maint/common/14453-move-ci-scripts 2025-08-19 10:46:11 +02:00
Marc Durdin
8054487c04
Merge pull request #14424 from keymanapp/docs/bcp47
docs: include more valid bcp 47 tags, add markdown alerts into docs, rephrase ISO 639
2025-08-13 10:53:42 +07:00
Marc Durdin
f3fb3ac87b maint(common): move build-utils-ci.inc.sh to ci/ci-publish.inc.sh
Removes a number of unused functions from the file, renames remaining
functions to match our builder script prefix patterns, removes unused
imports from various build scripts (e.g. Android).

Fixes: #14453
2025-08-05 12:54:56 +10:00
Marc Durdin
acefdf281a maint(common): move typescript script functions into typescript.inc.sh
Fixes: #14448
Build-bot: build
Test-bot: skip
2025-08-03 07:01:57 +10:00
Marc Durdin
3530fece47
Merge branch 'maint/common/14065-consolidate-builder-scripts' into maint/common/14447-node.inc.sh 2025-08-02 11:02:21 +07:00
Marc Durdin
ebe7a137ea maint(common): fixup jedi build.sh builder-basic.inc.sh include
Fixes: #14065
2025-08-02 14:01:53 +10:00
Marc Durdin
2726050601 maint(common): rename and move node-related script functions into node.inc.sh
Consolidates the node-related script functions into node.inc.sh, as part
of cleaning up the build scripts and making them easier to maintain into
the future.

Fixes: #14447
2025-08-02 13:34:29 +10:00
Marc Durdin
47e21331dd maint(common): additional builder.inc.sh script renames
Fixes: #14065
2025-08-02 13:16:19 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Marc Durdin
808b6557d6 maint(common): use cpp_std=c++17 in meson project default_options
We attempted to set the C++ version in standard.meson.build, but this
does not work well as the option name varies by platform, and it also
triggers a warning in meson. This fix moves the setting into each
meson.build project() default_options. As there are only a handful
of these, the maintenance burden is not high.

Fixes: #14432
Relates-to: #14355
Build-bot: build
Test-bot: skip
2025-08-01 10:23:57 +10:00
MengHeng
6bed9162b1
Apply suggestions from code review 2025-07-31 15:34:27 +07:00
MengHeng
53f9ede409
Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-07-31 15:23:13 +07:00
MengHeng
0d20e49567
Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-07-30 14:53:06 +07:00
Eberhard Beilharz
ce25be13a2
Merge pull request #14381 from keymanapp/test/developer/validutf8
test(developer): add unit tests for `isValidUtf8`
Follow-up-of: #14369
2025-07-29 11:33:46 +02:00
Meng-Heng
dee4c154c6 docs: change valid bcp47 tag 2025-07-29 15:27:52 +07:00
Meng-Heng
052c8b611b docs: apply @srl296 suggestions 2025-07-29 15:25:22 +07:00
Meng-Heng
761aa6e291 Merge branch 'master' of https://github.com/keymanapp/keyman into docs/bcp47 2025-07-29 14:54:19 +07:00
Eberhard Beilharz
73605727a0
Update developer/src/kmcmplib/tests/gtest-compiler.tests.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-28 15:01:13 +02:00
Marc Durdin
6108f8bd9d
Merge pull request #14373 from keymanapp/dependabot/npm_and_yarn/multer-2.0.2
build(deps): bump multer from 2.0.1 to 2.0.2
2025-07-28 08:05:26 +07:00
Eberhard Beilharz
71af4a9636
chore(windows): Merge branch 'master' into maint/windows/addzip 2025-07-22 17:29:56 +02:00
Eberhard Beilharz
3ec1338b36
test(developer): add unit tests for isValidUtf8
Follow-up-of: #14369
Test-bot: skip
2025-07-21 17:21:05 +02:00
Eberhard Beilharz
4a2cf53fbc
maint(windows): replace use of wzzip with add_zip_files
This makes use of the new functionality refactored in the previous
commit by replacing the use of the `wzzip` function with `add_zip_files`.

Test-bot: skip
2025-07-21 10:26:31 +02:00
Eberhard Beilharz
51ca604b47
chore(common): Merge remote-tracking branch 'origin/master' into maint/common/14109_isOsFuncs 2025-07-21 09:20:12 +02:00
Marc Durdin
d070057247
Merge pull request #14243 from keymanapp/docs/ansi-iso-related
docs(developer): add ansi and iso context and image, change img tags, and polish for readability
2025-07-21 14:06:33 +07:00
Eberhard Beilharz
6930fe90fa
refactor(developer): replace deprecated std::codecvt_utf8_utf16
codecvt is deprecated in C++ 17. See also #12107.

Test-bot: skip
2025-07-18 08:43:44 +02:00
dependabot[bot]
1525cd3058
build(deps): bump multer from 2.0.1 to 2.0.2
Bumps [multer](https://github.com/expressjs/multer) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expressjs/multer/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.0.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 02:03:46 +00:00
Eberhard Beilharz
e3dc41f98d
chore(developer): add unit tests for UTF16TempFromUTF8 2025-07-17 17:05:41 +02:00
Eberhard Beilharz
ef6adec0ed
chore(developer): Merge branch 'master' into maint/developer/usezipfunc 2025-07-15 09:43:04 +02:00
Eberhard Beilharz
3ec8ebc8f2
Merge pull request #14309 from keymanapp/maint/developer/14263_kmc-zip 2025-07-14 19:49:55 +02:00
Eberhard Beilharz
a22de0a647
maint(developer): use add_zip_files function
This makes use of `add_zip_files` where possible.

Fixes: #14332
Follow-up-of: #14093
Test-bot: skip
2025-07-10 17:53:16 +02:00
Eberhard Beilharz
3b136fcec9
maint(common): consolidate functions to determine OS
- add `builder_is_windows`, `builder_is_macos` and `builder_is_linux`
  functions
- add/move `BUILDER_OS` env variable to `resources/builder.inc.sh`
- use the new functions and env variable

Fixes: #14109
Test-bot: skip
2025-07-09 18:33:09 +02:00
Meng-Heng
3d08352f98 Merge branch 'docs/ansi-iso-related' of https://github.com/keymanapp/keyman into docs/ansi-iso-related 2025-07-08 16:07:10 +07:00