Commit graph

130 commits

Author SHA1 Message Date
Marc Durdin
1570d914ca chore(windows): rewrite LoadParamsFromFile 2021-08-05 16:46:09 +10:00
Marc Durdin
ab263a743f chore(windows): sentrytool param file support
The maximum command line length in Windows is 2047 characters. In Delphi
it appears to be 1024 characters. In debugging, I hit that 1024
character limit which was pretty annoying.

So this patch allows us to use an `@file` parameter to put command line
parameters into a text file and read from that instead. It's probably a
little hacked together and could be turned into a class that we could
usefully reuse in all our other command line apps.

I looked around for a generic Delphi solution but did not find an
existing one that was any good.

Low priority, not required for beta, but putting it up because I've done
the work already.
2021-08-05 16:24:30 +10:00
Marc Durdin
5d32a61a63 chore(windows): patches for Delphi 10.4
Updates Keyman for Windows and Keyman Developer sources so that they
build under Delphi 10.4. No validation has been performed to ensure that
there are no other issues. The intent here is to get a baseline build
working.

Note also IMSample.vcxproj which has its WinSDK version updated for
VS2019.
2021-07-27 16:57:40 +10:00
Marc Durdin
2f9d29905e
Merge pull request #5449 from keymanapp/chore/developer/fixup-devtime-paths
chore(developer): fixup devtime paths
2021-07-19 09:16:52 +10:00
Marc Durdin
45afbf6fec chore: add missing path to project 2021-07-08 17:07:41 +10: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
5246408ac0 chore(windows): make build paths consistent
More iterations on this yak shave.
2021-07-01 10:52:59 +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
345545a19a chore(windows): minor maintenance 2021-05-31 06:32:08 +10:00
Marc Durdin
9f8a191a3e chore(windows): fetch origin before checkout 2021-05-21 14:59:48 +10:00
Marc Durdin
56fdc98a81 chore(windows): Chromium 89.0.18
Updates Chromium Embedded Framework to 89.0.18. Goes with
branch v89.0.18 of https://github.com/keymanapp/CEF4Delphi_Binary

Adds a script to checkout the correct version of CEF from the repo
according to CEF_VERSION.md.
2021-05-21 14:47:18 +10:00
Darcy Wong
982ce27c18 Merge remote-tracking branch 'origin/beta' into modify/common/help-keyman-com 2021-02-09 10:33:51 +07:00
Darcy Wong
90bb475bcd chore(common): Move help-keyman-com.sh for refactoring 2021-02-08 08:37:52 +07:00
Marc Durdin
dab52774c2 fix(common): support quotes 2021-02-05 20:12:01 +11:00
Marc Durdin
7c3bbeda15 fix(windows): tweaks for strings.xml support
* Process setup strings also
* Remove legacy references to cust files from TIKE
* Add unit test to Makefile
2021-01-25 13:41:56 +11:00
Marc Durdin
023a70aadd fix(windows): sentrytool fails on mem realloc
Fixes #4002.

We needed to reseat the pointers after the realloc as the base address
changed; this only affected us occasionally but nasty when it did!
2020-12-16 11:34:39 +11:00
Marc Durdin
e571113b22 fix(windows): sentrytool should fail build on exception
This does not fix the core issue. Examining the logs shows that
sentrytool is failing with an access violation when running on the
build agent, although it works on my local machine. This first step
is to get the build to fail, and then I will test again directly on the
build agent.
2020-12-16 09:35:09 +11:00
Marc Durdin
900eef7945 chore(windows): remove obsolete importkeyboard app
Functionality has been ported to kmconvert.

Fixes #4042.
2020-12-15 11:20:09 +11:00
Marc Durdin
80cee4101f fix(windows): help deployment
Reworks help-keyman-com.sh and brings help build.sh in line with it
so that it opens a PR now on help.keyman.com
2020-12-07 06:24:21 +11:00
Marc Durdin
498100f78b fix(windows): split signed and unsigned versions of setup.exe 2020-12-03 14:56:25 +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
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
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
e3a6805c6f
Merge pull request #3671 from keymanapp/fix/windows/ci-upload-help
fix(windows): update CI for publishing desktop help
2020-10-08 06:21:18 +11:00
Marc Durdin
7f4a4b5c87 fix(windows): update CI for publishing desktop help
This updates the build script to use the version data available in the
repository rather than relying on environment.
2020-10-07 16:06:22 +11:00
Marc Durdin
53a197fba5 chore(windows): Move to Windows SDK 10.0.17763.0
This removes the requirement for the Windows 8.1 SDK.
2020-10-05 14:11:34 +11:00
Marc Durdin
7725218ab4 fix(windows): use new signtime.bat on build agents 2020-09-16 05:13:21 +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
907ccc56bc feat(windows): add langtags.json data
This will be used for future updates for language search
and installation and will eventually allow us to remove
ethnologue and alltags data (and some of bcp47 subtag)
2020-08-28 12:17:28 +10:00
Marc Durdin
e7b7d80366 chore(windows): remove stockeditor
Stockeditor is no longer required as it was used in the past to edit
translations and messages, but these are all maintained either in source
or through Crowdin now.
2020-08-27 07:52:17 +10:00
Marc Durdin
89e27dc226 chore(windows): cleanup code 2020-08-03 11:18:51 +10:00
Marc Durdin
d71ae718e6 feat(windows): i18n for Setup 2020-08-03 10:56:27 +10:00
Marc Durdin
ebdeb373f3 refactor(windows): add translations to windows install 2020-07-30 09:39:06 +10:00
Marc Durdin
b8a42ad5dc chore(windows): devtools use strings.xml 2020-07-29 15:04:07 +10:00
Marc Durdin
39edce5986 feat(windows): generate message consts at build time 2020-07-28 13:05:12 +10:00
Marc Durdin
6b748239ed chore(windows): cleanup of i18n
- remove expandidentifiers
- remove messages.txt
- remove desktop.pot
- remove stock message ditor
- stop using captions altogether for translation
2020-07-27 16:54:23 +10:00
Marc Durdin
d085467001 feat(windows): Crowdin i18n groundwork 2020-07-27 15:09:30 +10:00
Marc Durdin
16c9341671 fix(windows): add sourcemap upload for desktop/developer 2020-04-27 12:55:42 +10:00
Marc Durdin
e09b081a34 fix(windows): cleanup release and environment for Sentry 2020-04-20 07:07:39 +10:00
Marc Durdin
40b69950fa fix(windows): support x64, remove sentry.dll 2020-04-05 07:36:50 +10:00
Marc Durdin
58a99b305a fix(windows): some sentry symbolication was not working 2020-03-23 07:44:50 +11:00
Marc Durdin
c1ce3974a9 fix(windows): include sources for sentry 2020-03-21 09:04:22 +11:00
Marc Durdin
b61949ca41 fix(windows): remove makejcldbg references 2020-03-18 20:26:55 +11:00
Marc Durdin
03b421843d fix(windows): various fixes for sentry 2020-03-18 17:25:40 +11:00
Marc Durdin
948bc3d239 fix(windows): tier.md and version.md reading 2020-03-18 17:25:39 +11:00
Marc Durdin
eade8c34f3 refactor(windows): Use 14.0-style versioning
Moves all version construction to use VERSION.md and
TIER.md and reduces intermediate file usage, so we can
present sensible versions across the project.
2020-03-18 17:25:39 +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
7be25b6e4e feat(windows): Integrate Sentry
First stage of Sentry integration. Adds a basic library
for handling errors through Sentry. Does not include
integration into external handler or Keyman apps as yet.
2020-03-18 17:25:37 +11:00