Commit graph

77 commits

Author SHA1 Message Date
Marc Durdin
c9dc10cc33 chore(windows): replace mkver with mkver.sh 2021-12-08 07:10:29 +01:00
Marc Durdin
dee896b4c6 chore(windows): move from Borland make to nmake
While it may be smarter to move to a different build system altogether,
it is also a *lot* more work. This was a fairly minor syntax refresh to
get nmake working with our existing Makefile system. This is now no
longer compatible with Borland make, so you will need to use `nmake` to
build.

The presence of NMAKE.md informs builds systems that nmake should be
used instead of make.
2021-12-06 12:47:31 +04:00
Marc Durdin
e00ff063c8 chore(windows): version.rc use macros instead of mkver 2021-12-05 17:12:56 +11:00
Marc Durdin
845d65e5e4 chore(windows): remove backup build step
We no longer need to backup debug files as they are saved to the symbol
store during a release build. This reduces the amount of storage
required for a release build and should speed up the build also.

Also fixes the broken build where backup had not been updated for the
new consistent build paths.
2021-07-07 08:09:26 +10:00
Marc Durdin
deb01d1a63 chore(windows): make build paths consistent
Move to all projects using bin/ and obj/ for outputs, and
cleanup all Makefiles and project files accordingly. Remove
some obsolete projects along the way. Cleanup .gitignore
also.
2021-07-01 07:38:00 +10:00
Marc Durdin
3d4acd8e10 chore: correct example 2021-06-17 04:52:33 +10:00
Marc Durdin
87397e8846 fix(developer): kmconvert help match reality
kmconvert built-in help was missing `-targets`, misspelled
`-full-copyright`, and the parameter checking was skipping the last
parameter (which only mattered if the last parameter was `-nologo`, but
still...).
2021-06-17 04:41:09 +10:00
Marc Durdin
17e8780e8e feat(developer): Add 'full copyright' field to templates
Fixes #4807.

We want to differentiate between a short copyright message and a
longer one that also contains a date. The long one is only needed in
one place in a typical keyboard project. This reduces maintenance when
making keyboard updates.
2021-05-14 16:35:44 +10:00
Marc Durdin
c8d6e4fe6f fix(developer): kmconvert commandline and deploy
A few fixes and improvements:
* kmconvert was missing a command line parameter for `-target` to
  specify the platform targets for a project
* kmconvert should avoid throwing unhandled exceptions, rather if
  sentry is not present then just write to console.
* Include kmconvert and its data files in the deployment of kmcomp.zip,
  which is done on the build agent (just need to make sure files are
  in the right place here.)
* Side fix: also made sure kmcomp would emit the exception message to
  console if sentry is not present.
2021-05-14 10:56:58 +10:00
Marc Durdin
558c8013ee feat(developer): improve BCP 47 canonicalization
Ensures we get a canonical tag per langtags.json as far as we possibly
can. This is a breaking change for the compiler as tags which were
formerly regarded as canonical are no longer regarded that way. This
mostly relates to script subtag but a secondary bug meant that some
other tags would have lost data in the canonicalization process
(because we did a lookup based only on the language subtag previously,
which is a no-no).

See keymanapp/keyboards#1452 for related work.
2021-02-05 16:56:21 +11:00
Marc Durdin
adafdb9c84 fix(developer): Import Keyboard support for Targets
Fixes #2657.

Importing a Windows Keyboard had an option to select default targets for
the imported keyboard, but the option was ignored. This propagates the
option setting through the import process.
2021-02-02 16:12:45 +11:00
Marc Durdin
5208404cd6 fix(developer): Generate platforms correctly from template
Fixes #2679.

If web is specified but not a touch platform, exclude touch layout from
a generated project. Also, fixup list of supported platforms in the
generated README.md.
2021-02-02 15:50:56 +11:00
Marc Durdin
9e46b555d9 fix(windows): Rename to Keyman
Fixes #4003.

This addresses the majority of locations where we use the name "Keyman
Desktop" in code. There will be some filenames and paths that do not
change at this point -- particularly at a source level. For now, the
focus is on the user interface changes.

While making these changes, I also made the VERSION and MANIFEST
resources more consistent.
2020-12-02 09:56:14 +11:00
Marc Durdin
42aab7a4c4
Merge pull request #3834 from keymanapp/chore/windows/3590-symbol-server
chore(windows): symbol server support
2020-11-12 15:07:44 +11:00
Marc Durdin
f3dce9e580
Merge pull request #3833 from keymanapp/fix/windows/3831-sizeofimage-header
fix(windows): SizeOfImage header was wrong for dbg
2020-11-12 15:07:37 +11:00
Marc Durdin
00a9744253 chore(windows): symbol server support, initial steps 2020-11-11 10:33:16 +11:00
Marc Durdin
3d1601ffe5 fix(windows): SizeOfImage header was wrong for dbg
Fixes #3831.

This fixes both issues reported in the bug (dproj changes ensure
separate .tds, and Makefile changes fix order of execution so that
dbg is generated after sentryprep's cleanup).
2020-11-06 17:36:56 +11:00
Marc Durdin
526164fbd4 fix(windows): detect 102nd key in keyboard import
The detection of the 102nd key is a heuristic - it will decide it is
present if it has a vk code and its corresponding unshifted character
is not the same as the backslash key. This matches the general pattern
for US vs European keyboards.
2020-11-06 08:15:21 +11:00
Marc Durdin
79f6910971 fix(windows): Import OSK wrong for European layouts
Fixes #3810.

Importing a Windows keyboard would not produce correct OSK for European
layouts because it was based on virtual key instead of scan code.
Mapping through the scan code back to "US" base layout resolves the
issue.

Note that there is a slight difference between Import Windows Keyboard
and Fill from Layout results, as deadkeys have slightly more information
in the Import process, and can display the base deadkey, whereas Fill
from Layout will result in a blank deadkey. This difference is by
design.
2020-11-06 07:49:10 +11:00
Marc Durdin
94a062f20a fix(developer): remove obsolete NRSIAllTags
Relates to #799.

Removes NRSIAllTags, alltags.txt, parser and utility units.

Also re-enables standardsdata.dpr unit test which needed some syntax
cleanup.
2020-11-04 18:41:17 +11:00
Marc Durdin
c655c4eaf5 fix(windows): improve version numbers
Release build executables should have 3 component version numbers with
the version tag appended, e.g. keymandesktop-14.0.155-alpha-local.exe.

Coming later, rename keymandesktop-version.exe to keyman-version.exe.
2020-10-08 09:13:48 +11:00
Marc Durdin
d57bbbf20c fix(developer): missing dependencies 2020-09-25 11:10:25 +10:00
Marc Durdin
50ab57faac
Merge pull request #3531 from keymanapp/feat/developer/3525-add-viewport-to-templates
feat(developer): add viewport to html templates
2020-09-18 06:08:10 +10:00
Marc Durdin
6d5ccbd719 fix(windows): add tests and improve canonical options 2020-09-01 09:41:33 +10:00
Marc Durdin
bdd5165013 chore: cleanup 2020-09-01 09:00:36 +10:00
Marc Durdin
84f0219541 fix(windows): canonicalization
Reworks the BCP 47 tag canonicalization algorithm.
2020-09-01 08:42:56 +10:00
Marc Durdin
22f165f39b feat(developer): add viewport to html templates 2020-08-28 15:25:46 +10:00
Marc Durdin
5928052d93 feat(windows): use crashpad and better call stacks
Also moves to sentry native 2.0.
2020-04-01 12:02:26 +11:00
Marc Durdin
90f4a5109f feat(windows): report process start to sentry
Also handles -sentry-client-test-exception command line parameter
for console apps and tidies up Sentry instantiation.
2020-03-30 12:21:47 +11:00
Marc Durdin
c33199f6db chore(windows): dprojs 2020-03-30 12:07:41 +11:00
Marc Durdin
2121f5ea94 feat(windows): consume new sentry api in delphi projects
Updates Delphi projects to use Sentry API instead of legacy
reporting mechanisms, and strips out existing text-based
reports. Not yet complete: reporting from kmcomapi and
hosted web controls, release number. These are flagged
as build hints.
2020-03-18 17:25:38 +11:00
Marc Durdin
c75aab5886 feat(windows): add paths to syms 2020-03-13 12:38:23 +11:00
Marc Durdin
9d01e98249 fix(windows): enable map files for sym support 2020-03-11 04:36:33 +11:00
Marc Durdin
edfbb4c339 feat(windows): add sentry file prep to build 2020-03-10 21:37:30 +11:00
Marc Durdin
105a1b3af0 fix(developer): model editor requires wordBreaker
The model editor would not recognise a source file
if it did not include a wordBreaker reference.
2020-01-26 16:16:36 +11:00
Marc Durdin
77ffd17d88 fix(developer): model kpj template included tsv
The model template .kpj file still included
the wordlist.tsv file directly instead of
it being referenced via the .model.ts only
2020-01-26 16:16:05 +11:00
Marc Durdin
0032b59303 fix(developer): keyboard id should be clean in import 2019-12-08 11:17:05 +00:00
Marc Durdin
3a90f258da [Windows] Fix version.in file encoding back to Windows-1252 2019-10-21 06:43:13 +07:00
Marc Durdin
198f53116f [Developer] Remove model version from metadata in packages (Keyman Developer) 2019-10-03 05:59:41 +10:00
Marc Durdin
b41c702a3d
Merge branch 'beta' into developer-give-clearer-success-on-build-fixes-2016 2019-09-25 19:27:28 +10:00
Marc Durdin
d665535bc9 [Developer] Address review comments 2019-09-25 06:28:13 +10:00
Marc Durdin
a4a4d09197 [Developer] Cleanup last build errors relating to logging changes 2019-09-24 16:22:23 +10:00
Marc Durdin
5e7f68bc6f [Developer] Add -lexical-model command line option for building lexical model template projects to kmconvert. Fixes #2083. 2019-09-23 13:33:57 +10:00
Marc Durdin
46293ec3ea Merge branch 'beta' into developer-wordlist-editor 2019-09-20 10:00:16 +10:00
Marc Durdin
9b8c71366d [Developer] Basic Wordlist Editor. Fixes #2082. 2019-09-12 12:20:53 +10:00
Marc Durdin
47d8091b44 [Developer] Disable canonicalization when building keyboard and model projects from template because it's inadequate. Fixes #2080. 2019-09-12 05:35:35 +10:00
Marc Durdin
5038945a35 [Developer] Address review comments 2019-08-28 21:26:00 +10:00
Marc Durdin
f506345f09 [Developer] Add model project support 2019-08-28 12:37:59 +10:00
Marc Durdin
692c64f659 Unnecessary file changes (version numbers) 2019-08-12 16:48:08 +10:00
Marc Durdin
1decfeae84 [Windows] Customisation of setup look and feel, and cleanup of setup strings 2019-05-13 10:13:04 +10:00