Commit graph

18723 commits

Author SHA1 Message Date
Marc Durdin
7a7d4c1609
Merge pull request #8352 from keymanapp/chore/developer/kmcompx-build-sh-cleanup
chore(developer): cleanup kmcompx build scripts per recent builder changes
2023-03-02 21:13:21 +11:00
Marc Durdin
8c22e6269e chore(developer): cleanup kmcompx build scripts per recent builder changes 2023-03-02 14:10:48 +07:00
Marc Durdin
eac90588dc
Merge pull request #8336 from keymanapp/feat/developer/kmcmplib-feature-flag-tike
feat(developer): add 'Use Legacy Compiler' option to TIKE 🚑
2023-03-02 17:59:55 +11:00
Marc Durdin
dbd296f761
Merge pull request #8335 from keymanapp/feat/developer/kmcmplib-feature-flag-kmcomp
feat(developer): add `-use-legacy-compiler` flag to kmcomp 🚑
2023-03-02 17:59:47 +11:00
Marc Durdin
99f2365f08
Merge pull request #8351 from keymanapp/chore/developer/master-to-kmcompx-A17S7
chore: merge master into feature-kmcompx A17S7 🚑
2023-03-02 16:42:55 +11:00
Marc Durdin
1790ad36a3
Merge branch 'feature-kmcompx' into feat/developer/kmcmplib-feature-flag-kmcomp 2023-03-02 16:40:39 +11:00
Marc Durdin
0c07a6d7a3 chore(developer): Merge branch 'feature-kmcompx' into chore/developer/master-to-kmcompx-A17S7 2023-03-02 12:37:37 +07:00
Keyman Server
5bea5a6534
Merge pull request #8347 from keymanapp/auto/version-master-17.0.60
auto: increment master version to 17.0.60
2023-03-02 01:03:27 +07:00
Keyman Build Agent
f3173edf93 auto: increment master version to 17.0.60 2023-03-01 13:02:44 -05:00
Eberhard Beilharz
e5028f7a37
Merge pull request #8345 from keymanapp/chore/linux/ghadebug
chore(linux): More debug output
2023-03-01 15:39:17 +01:00
Darcy Wong
4eb0b08864
Merge pull request #8332 from keymanapp/chore/web/builder-outputs
chore(web): fixup dependencies in web build script
2023-03-01 21:37:51 +07:00
Eberhard Beilharz
718133d3aa
chore(linux): More debug output 2023-03-01 10:12:21 +01:00
SabineSIL
048448a2a4
feat(developer): cross-platform kmx compiler 🚑 (#6980)
* get keymans version



Merge branch 'master' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION

# Conflicts:
#	common/core/desktop/src/kmx/kmx_context.h
#	common/core/desktop/src/kmx/kmx_processor.cpp
#	common/windows/cpp/include/keymanversion.h
#	common/windows/cpp/include/kkmnkbd/Compfile.h
#	common/windows/cpp/include/kmtip_guids.h
#	common/windows/cpp/src/kmtip_guids.cpp
#	core/src/kmx/kmx_conversion.cpp
#	core/src/kmx/kmx_conversion.h
#	core/src/kmx/kmx_file.cpp
#	core/src/kmx/kmx_processevent.cpp
#	core/src/kmx/kmx_processor.hpp
#	core/src/kmx/kmx_xstring.cpp
#	developer/js/.gitignore
#	developer/js/package-lock.json
#	developer/js/tests/tsconfig.json
#	developer/src/kmcmpdll/CasedKeys.cpp
#	developer/src/kmcmpdll/CheckFilenameConsistency.cpp
#	developer/src/kmcmpdll/CheckFilenameConsistency.h
#	developer/src/kmcmpdll/CheckForDuplicates.cpp
#	developer/src/kmcmpdll/CheckForDuplicates.h
#	developer/src/kmcmpdll/CheckNCapsConsistency.cpp
#	developer/src/kmcmpdll/CheckNCapsConsistency.h
#	developer/src/kmcmpdll/Compiler.cpp
#	developer/src/kmcmpdll/DeprecationChecks.cpp
#	developer/src/kmcmpdll/NamedCodeConstants.cpp
#	developer/src/kmcmpdll/UnreachableRules.cpp
#	developer/src/kmcmpdll/UnreachableRules.h
#	developer/src/kmcmpdll/compfile.h
#	developer/src/kmcmpdll/kcframe/kcframe.cpp
#	developer/src/kmcmpdll/kcframe/kcframe.vcxproj
#	developer/src/kmcmpdll/kcframe/kcframe.vcxproj.filters
#	developer/src/kmcmpdll/kmcmpdll.vcxproj
#	developer/src/kmcmpdll/kmcmpdll.vcxproj.filters
#	developer/src/kmcmpdll/version.rc
#	developer/src/kmcmpdll/versioning.cpp
#	developer/src/kmlmc/bundle.sh
#	developer/src/kmlmc/tests/test-join-word-breaker.ts
#	developer/src/kmlmc/tests/test-override-script-defaults.ts
#	developer/src/server/tsconfig.json
#	windows/src/developer/kmcmpdll/Makefile
#	windows/src/developer/kmcmpdll/vkeys.h
#	windows/src/engine/keyman32/keymanengine.h
#	windows/src/global/inc/Vkeys.h
#	windows/src/global/inc/rc4.h
#	windows/src/global/vc/rc4.cpp

* changes in meson + include-paths of several files

* chore: remove common/core

* chore: remove unnecessary files

* chore: move headers and refs

* refactor(developer): fixup path to tests

* refactor(developer): fixup path to tests
tidied up +removed unnecessary files
checked contents of files+included a few new functions needed for myVersion
changed datatypes in CheckForDuplicates
tidy up more paths
CheckFileConsistency: not able to fully adapt for use of char16_t on non windows p.
	-> used char16_t + commented out some AddWarning().

* sorted out some #includes
renamed some functions to reduce ambiguity

* fix(developer): solved linker errors

* chore(developer): remove some comments

* chore(developer): introduced KMX_UCHAR

* chore(developer): restored whitespace, comments

* chore(developer): tidied up vkeys.H / .cpp

* chore(developer): remove keyboardprocessor...

* chore(common): refactor shared types into km_types.h

* chore(core): remove duplicate types

* chore(core): move kmx_file.h to common

* chore(developper): removed typedefs of kmcompcx.h

* chore(developer): removed kmcompx/include/kmx_file.h

* chore(developer): chanched include of pch.h

* chore(developer): removed files from kmcompx/include/

* chore(developer): removed commented sections ( ** old **) if files

* chore(developer): removed doubled/overwritten functions

* chore(developer): removed doubled/overwritten functions

* chore(developer): changed #includes ".." -> <..>

* chore(developer): changed #includes ".." -> <..>

* chore(developer): enable tests for keyboards repo for kmcompx

* chore(developer): new functions e.g. string_from_wstring...

* chore(developer): changed printf->u16sprintf

* chore(developer): fopen

* chore(developer): fixed errors on running kmcompxtest

* chore(developer): changef u16fmt

* chore(developer): fixup u16ncat

* chore(developer): added return Msgs for different types of errors while compiling

* chore(developer): tests using RTL run Ok ( changed RTu->RTL)

* chore(developer): replaced u16ncmp with u16nicmp at most places

* chore(developer): changed Version number for tests 16.046 to 15.0265

* chore(developer): mostly whitespace changes

* chore(developer): tidied up code (not finished yet)

* chore(developer): removed #pragma once from wrong places, edited #includes

* chore(developer): removed #pragma once from wrong places, edited #includes

* chore(developer): CheckFileNameConsistency changed to take KMX_WCHART const* (= wchar_t* const); used in compiler.cpp now

* chore(developer): excluded some tests from kmcompxtest (use get_test_source_exclude_some_kmn.bat now)

* chore(developer): Win-functions in FileNameConsistency

* chore(developer): Win-functions in FileNameConsistency

* chore(developer): CheckFNConsuistency: called u16printf with f´different par.

* chore(developer): tidied up code

* chore(developer): tidied up code

* chore(developer): tiedied up code (compiler.cpp)

* chore(developer): tiedied up code

* chore(developer): tidied up code

* chore(developer): removed all commentaries _S2

* chore(developer): tidied up code

* chore(developer): tidied up code

* chore(developer): tidied up code

* chore(developer): removed several Windows-specific functions

* chore(developer): removed unused datatype typedefs

* chore(developer): new GetCompilerErrorString() used in AddCompileMessage()

* chore(developer): new GetCompilerErrorString() used in AddCompileMessage()

* chore(developer): removed CWARN/CHINT out of CompMsg

* chore(developer): adapted kmcompxtest to test kmn-files that have errors included

* chore(developer): changed gitignore

* chore(developer): changed gitignore

* chore(developer): changed Version Number fot Tests 15.0.265.0 -> 15.0.270.0

* chore(developer): added tests for kmcompx

* chore(developer): move tests (for ErrorMessages) to common/test/keyboards

* chore(developer): move CERR-tests into test/keyboards/invalid

* chore(developer): change mostly whitespace changes

* chore(developer): change mostly whitespace changes

* chore(developer): delete files of keyboards/kmcompx_tests

* chore(developer): include check for correct Filename + rename var + change whitespace changes

* chore(developer): revert changes in AddCompileMessage, tidy up CreateTempFile

* chore(developer): remove python from meson.build

* chore(developer): change ErrExtra, change CompileMsg, change _finddata in FileExists

* chore(developer): check for '_' after Errornumber in Filename

* chore(developer): re-include AddCompilerVersionStore in Compiler.cpp

* chore(developer): add Message CERR_InvalidCharacter to UTF16TempFromUTF8() ; change #include <> -> ""

* chore(developer): add some more keyboardtests

* chore(developer): add some more keyboardtests

* chore(developer): change remaining old datatype-names to new names ( e.g. char -> KMX_CHAR )

* chore(developer): edit + add CERR_tests

* chore(developer): edit + add CERR_tests

* chore(developer): use char16_t in CheckFileNameConsistency

* chore(developer): comments: converting functions in kmx_u16

* chore: reorganize

* chore: commit kmcompx-files

* chore: use ifdef for vkeys

* chore: copy files back

* chore: more cleanup

* chore: meson build for kmcmplib

* chore: tweak unit test, error messages, and paths

* chore(developer): make kmcmplib a static library

* chore(developer): start kmcmpdll link to kmcmplib

* chore(developer): add build.sh for kmcmplib

* chore(developer): link kmcmpdll to kmcmplib

* chore(common): avoid building 'invalid' shared keyboards

* chore(developer): include BEGIN_LINE (repeated Begin)

* chore(developer): add more CERR_tests and move some to other folder, edit readme

* chore(developer): addCompilerMsg for RepeatedBegin

* chore(developer):repeatedBEgin plus rename functions to prevent same names in kmcmpdll and kmcmplib

* chore(developer): add flag flag_use_kmcompx as switch to use old code (kmcmpdll) or new code kmcmplib

* chore(developer): introduce namespace kmcmp instead of different filenames

* chore(developer): more changes for using namespaces

* chore(developer): solve merge conflicts in namespaces

* chore(developer): use namespaces in kmcmplib (except for in dllexport-functions)

* chore(developer): remove some unnecessary CERR_ tests

* chore(developer): remove CERR_CallIsProfessionalFeature, CERR_IncludeCodesIsProfessionalFeature, CERR_MnemonicLayoutIsProfessionalFeature

* chore(developer): note about func.call_js; change all "VESION x.y " to "VESION x.y or higher" ; rename flag for kmcompx to flag_use_new_kmcomp

* chore(developer): use PKMX_DWORD/PKMX_WCHAR   instead of LPKMX_DWORD/LPKMX_WCHAR; use PKMX_STR instead of char* in CompilerMessageProc

* chore(developer): remove kmx-file; NamedCodeConstants: rename variables, set const variables for buf sizes, brackets in for-loops

* chore(developer): change include paths ../

* chore(developer): get rid of reopened namespaces of kmcmp

* chore(developer): restored kmcompxtest

* chore(developer): change #include paths ../ ; excange km_kbp_cp with KMX_WCHAR; change some variable names

* chore(developer): use environment var KEYMAN_ROOT in path for tests; remove try-catch from json-validation.cpp

* chore(developer): use environment var KEYMAN_ROOT in path for tests; remove try-catch from json-validation.cpp

* chore(developer): revert change in NamedCodeConstants

* chore(developer): restored kmcompxtest, adapted readme

* chore(developer): use res-fils/version.rc for kmcmplib

* chore(developer): rename some functions/variables

* chore(developer): typos, comments, add function u16rchr()

* chore(developer): typos, comments, add function u16rchr()

* chore(developer): rename Functions, version rc-files

* chore(developer): rename Functions, version rc-files, set flag_use_new_kmcomp to use (old) kmcmpdll

* chore(developer): add BeginLine in kmcmpdll/Compiler.cpp; fread() in kmcmp_CompileKeyboardFileToBuffer

* chore(developer): set flag_use_new_kmcomp to only use kmcmpdll

* chore(developer): set flag_use_new_kmcomp to only use kmcmpdll...and back to kmcmplib

* (chore(developer): set flag_use_new_kmcomp to only use kmcmpdll...and back

* (chore(developer): changes in NamedCodeConstants::reindex() to run hieroglyphic.kmn properly

* chore(developer): changes in UnrechableRules::VerifyUnreachableRules() to run test_6440_unreachable_code..kmn

* chore(developer): remove unneccessary files, get ErrorMsg for INCLUDECODES, VISUALKEYBOARD, UnreachableRules, ErrExrta

* chore(developer): remove unneccessary files, get ErrorMsg for INCLUDECODES, VISUALKEYBOARD, UnreachableRules, ErrExrta, CWARN_ OK

* chore(developer): after stash:remove unneccessary files, get ErrorMsg for INCLUDECODES, VISUALKEYBOARD, UnreachableRules, ErrExrta, CWARN_ OK

* chore(developer): replace some #include <> with "" ; rename ErrExtra -> ErrExtraW

* chore(developer): replace some #include <> with "" ; rename ErrExtra -> ErrExtraW

* chore(developer): new converting function convert_pchar16T_To_pwcharT in kmx_u16

* chore(developer): CheckFilenameConsistency added fclose()

* chore(developer): --

* chore(developer): removed printf (---> started in... / °°-> changed to...)

* chore(developer): AddDeprecatedCode to get CWARN when in kmcomp.exe -s-w is set

* chore(developer): change MakeHashKeyFromFileKey16() to get correct behaviour of CHINT

* chore(developer): change MakeHashKeyFromFileKey16() to get correct behaviour of CHINT

* chore(developer): move converting function to kmx_u16

* chore(developer): add more CERR_ tests

* chore(developer): Not ready yet: changes in CheckFilenameConsistency to use on non-windows

* chore(developer): Not ready yet: changes in CheckFilenameConsistency to use on non-windows

* chore(developer): copied contents of 3 files of commit fcfc6c698a to here to achieve state of fcfc6c698a

* chore(developer): copied contents of 3 files of commit fcfc6c698a to here to achieve state of fcfc6c698a

* chore(developer): move/rename converting functions

* chore(developer) : update .gitignore, remove converting function

* chore(developer) : update gitignore; sort code in CheckFilenameConsistency::CheckFilenameConsistency()

* chore(developer) : change Version number 15.0.270 -> 17.0.51

* chore(developer): change #includes, path in meson.build

* chore(developer): new function Open_File() to open files on windows and non-windows platforms

* chore(developer): create Function to replace fopen/_wfsopen

* chore(developer): exclude kmx, kvk from git

* chore(developer): exclude kmx, kvk from git

* chore(developer): change #includes to include from kmcmplib

* chore(developer): remove stray fopen

* chore(developer): include Open_File() (as comment for now)

* chore(developer): include Open_File() (as comment for now)

* chore(developer): remove path to kmcmpdll in include_directories

* chore(developer): use functin Open_File()

* chore(developer): remove #ifdef for '\\' and '/' in both IsRelativePath; remove Function Open_File again

* chore(developer): new fun  u16rchr_LinWin, strrchr_LinWin to exchange #ifndef for '\\' and '/'

* chore(developer): implement u16rchr_LinWin and strrchr_LinWin

* chore(developer): implement Open_File()

* chore(developer): new MakeHashKeyFromFileKey, remove comments for Open_File, & *LinWin-functions, delete 1 converting function

* chore(developer): tidy up comments

---------

Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-01 20:00:04 +11:00
Marc Durdin
1c1dffb7b3
Merge pull request #8341 from keymanapp/fix/common/skip-dependency-build-for-clean-action
fix(common): builder: skip dependency build for clean action
2023-03-01 14:12:13 +11:00
Marc Durdin
572bd74783 fix(common): builder: skip dependency build for clean action
We should not attempt to build dependencies when running `clean`. Note:
if your `clean` action requires dependencies, then something is very,
very wrong and you should fix that!
2023-03-01 08:26:30 +07:00
Keyman Server
d9066145d6
Merge pull request #8339 from keymanapp/auto/version-master-17.0.59
auto: increment master version to 17.0.59
2023-03-01 01:03:11 +07:00
Keyman Build Agent
664726886d auto: increment master version to 17.0.59 2023-02-28 13:02:28 -05:00
Eberhard Beilharz
02b36a8d8d
Merge pull request #8294 from keymanapp/fix/linux/debian
fix(linux): Fix debian postinst script
2023-02-28 15:02:30 +01:00
Marc Durdin
b809a60936
Merge pull request #7054 from keymanapp/feature-ldml
epic: LDML keyboard support 🙀
2023-02-28 20:38:00 +11:00
Marc Durdin
2de745b3df feat(developer): add 'Use Legacy Compiler' option to TIKE 2023-02-28 15:55:38 +07:00
Marc Durdin
f1deaa28e4
Merge pull request #8334 from keymanapp/chore/linux-disable-core-tests-for-build
chore(linux): disable tests for core install also
2023-02-28 19:09:25 +11:00
Marc Durdin
34faa0216d chore(linux): disable tests for core install also 2023-02-28 14:34:57 +07:00
Eberhard Beilharz
8e1ebbca11
Merge pull request #8329 from keymanapp/fix/linux/build.sh
fix(linux): Fix ibus-keyman/build.sh
2023-02-28 08:32:43 +01:00
Eberhard Beilharz
4989d8fa36
Merge pull request #8328 from keymanapp/chore/linux/gha
chore(linux): Improve and fix packaging GHA
2023-02-28 08:32:13 +01:00
Marc Durdin
5046376a80
Merge pull request #8333 from keymanapp/chore/linux-disable-core-tests-for-build
chore(linux): disable node-based core tests when testing during packaging
2023-02-28 15:27:34 +11:00
Marc Durdin
bf99c77b64 chore(linux): disable node-based core tests when testing during packaging 2023-02-28 11:06:13 +07:00
Darcy Wong
e7d2029b65 fix(web): Add check on compile 2023-02-28 10:49:49 +07:00
Darcy Wong
5c80648758 chore(web): fixup dependencies in web build script
* Additional module outputs (from 244962bf09)
2023-02-28 10:30:17 +07:00
Marc Durdin
c11f765590
Merge pull request #8331 from keymanapp/chore/linux-disable-core-tests-for-build
chore(linux): disable core tests for build 🙀
2023-02-28 13:41:29 +11:00
Marc Durdin
2edff0c212 chore(linux): disable core tests for build 2023-02-28 09:24:53 +07:00
Marc Durdin
20afd108e0
Merge pull request #8330 from keymanapp/chore/merge-master-into-feature-ldml-A17S7
chore: merge master into feature-ldml 🙀
2023-02-28 12:58:08 +11:00
Marc Durdin
8189e89d50
Merge pull request #8327 from keymanapp/chore/common/builder-v
chore(common): fix child build error handling
2023-02-28 10:44:30 +11:00
Marc Durdin
5fa307d291 chore(linux): fixup merge for test kmx path 2023-02-28 06:43:21 +07:00
Marc Durdin
7cbdb9da75 chore(linux): fixup merge for test kmx path 2023-02-28 06:40:49 +07:00
Marc Durdin
b96e863885 chore: Merge branch 'feature-ldml' into chore/merge-master-into-feature-ldml-A17S7 2023-02-28 05:49:05 +07:00
Steven R. Loomis
712063d752
Merge pull request #8316 from keymanapp/fix/developer-8069/todo-epic-ldml
fix(developer): ldml TODO-LDML cleanup 🙀
2023-02-27 13:16:57 -06:00
Eberhard Beilharz
67bd5fb399
fix(linux): Fix ibus-keyman/build.sh
Paths that describe outputs are supposed to be relative to root,
not absolute. Also, it turns out we don't use the `--output`
parameter, so this change removes it.
2023-02-27 18:42:38 +01:00
Eberhard Beilharz
ea4ec8437e
chore(linux): Add debug output 2023-02-27 17:46:27 +01:00
Eberhard Beilharz
0ca494b267
chore(linux): Create release for source package
This sets the distribution to "unstable" instead of the default
UNRELEASED which dput doesn't look to upload.
2023-02-27 17:42:09 +01:00
Eberhard Beilharz
99fd8b8f3d
chore(linux): Add trust for gpg key 2023-02-27 17:11:22 +01:00
Marc Durdin
6846a6bb70 feat(developer): add -use-legacy-compiler flag to kmcomp 2023-02-27 16:00:02 +07:00
Marc Durdin
0b7b22999e
Merge pull request #8326 from keymanapp/feat/developer/2761-kmc-build-project-2.0
feat(developer): Add support for building a folder to kmc 🙀
2023-02-27 19:56:42 +11:00
Marc Durdin
05d5c6f1f6
Merge pull request #8320 from keymanapp/feat/developer/5283-kmc-kpj-support
feat(developer): kmc .kpj support 🙀
2023-02-27 19:56:33 +11:00
Marc Durdin
6c87b49996
Merge pull request #8317 from keymanapp/feat/common/5283-kpj-schema-and-reader
feat(common): add .kpj typescript reader and schema 🙀
2023-02-27 19:56:24 +11:00
Marc Durdin
89f26e1f9b
Merge pull request #8311 from keymanapp/feat/developer/5283-kmc-model-ts-support
feat(developer): kmc compile .model.ts file 🙀
2023-02-27 19:56:13 +11:00
Marc Durdin
d541c3b990
Merge pull request #8310 from keymanapp/feat/developer/5283-kmc-kps-support
feat(developer): kmc compile .kps files 🙀
2023-02-27 19:56:04 +11:00
Marc Durdin
a9b707d4f1
Merge pull request #8302 from keymanapp/feat/developer/5283-kmc-kmn-wrapper
feat(developer): support build of .kmn from kmc 🙀
2023-02-27 19:55:56 +11:00
Marc Durdin
8ef9be3c10
Merge pull request #8300 from keymanapp/feat/developer/5283-kmc-command-line-refactor
feat(developer): kmc build command 🙀
2023-02-27 19:55:48 +11:00
Marc Durdin
e6ea381aba chore(common): fix child build error handling
Fixes #8322.

This issue was arising due to subshells masking the exit code.

set -e is not really to be trusted.
2023-02-27 15:09:42 +07:00
Marc Durdin
04189d2e3d chore(common): avoid -v for testing arrays in builder 2023-02-27 14:05:11 +07:00