From e38cc79efcc00046e33e7dcaee11ddd45c696455 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Sat, 9 Jul 2022 15:45:44 +1000 Subject: [PATCH] feat(developer): build kmcomp-$version.zip during release build Replaces the script building kmcomp-$version.zip in TeamCity. Will be used for more automated keyboard testing shortly. Means kmcomp-$version.zip will be available as an artifact in all test builds. @keymanapp-test-bot skip --- developer/src/inst/download.in.mak | 29 +++++++++++++++++++++-- developer/src/server/build.sh | 12 +++++----- developer/src/tools/sentry-upload-difs.sh | 2 +- 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/developer/src/inst/download.in.mak b/developer/src/inst/download.in.mak index 0f6c59f128..cc54fff6b7 100644 --- a/developer/src/inst/download.in.mak +++ b/developer/src/inst/download.in.mak @@ -19,10 +19,10 @@ KEYMAN_WIX_TEMP_TEMPLATES=$(TEMP)\keyman_wix_build\templates KEYMAN_WIX_TEMP_MODELCOMPILER=$(TEMP)\keyman_wix_build\ModelCompiler KEYMAN_WIX_TEMP_SERVER=$(TEMP)\keyman_wix_build\Server -KEYMAN_WIX_KMDEV_SERVER=$(DEVELOPER_ROOT)\src\server\build +KEYMAN_WIX_KMDEV_SERVER=$(DEVELOPER_ROOT)\bin\server KEYMAN_DEVELOPER_TEMPLATES_ROOT=$(DEVELOPER_ROOT)\src\kmconvert\data -copykmdev: makeinstaller +copykmdev: makeinstaller make-kmcomp-install-zip -mkdir $(DEVELOPER_ROOT)\release\$Version copy /Y $(DEVELOPER_ROOT)\src\inst\keymandeveloper.msi $(DEVELOPER_ROOT)\release\$Version\keymandeveloper.msi copy /Y $(DEVELOPER_ROOT)\src\inst\keymandeveloper-$Version.exe $(DEVELOPER_ROOT)\release\$Version\keymandeveloper-$Version.exe @@ -102,3 +102,28 @@ makeinstaller: $(WZZIP) setup.zip keymandeveloper.msi setup.inf copy /b $(DEVELOPER_PROGRAM)\setup.exe + setup.zip keymandeveloper-$Version.exe $(SIGNCODE) /d "Keyman Developer" keymandeveloper-$Version.exe + +# +# Zip the files we distribute as part of the standalone kmcomp distro into release\$Version\kmcomp-$Version.zip +# + +KMCOMP_ZIP=$(DEVELOPER_ROOT)\release\$Version\kmcomp-$Version.zip + +make-kmcomp-install-zip: copy-schemas + cd $(DEVELOPER_ROOT)\bin + + $(WZZIP) -bd -bb0 $(KMCOMP_ZIP) \ + kmcomp.exe kmcmpdll.dll kmcomp.x64.exe kmcmpdll.x64.dll \ + kmconvert.exe \ + keyboard_info.source.json keyboard_info.distribution.json \ + keyman-touch-layout.spec.json keyman-touch-layout.clean.spec.json \ + xml\layoutbuilder\*.keyman-touch-layout \ + projects\* \ + server\* + +copy-schemas: + copy $(KEYMAN_ROOT)\common\schemas\keyboard_info\keyboard_info.source.json $(DEVELOPER_ROOT)\bin + copy $(KEYMAN_ROOT)\common\schemas\keyboard_info\keyboard_info.distribution.json $(DEVELOPER_ROOT)\bin + copy $(KEYMAN_ROOT)\common\schemas\keyman-touch-layout\keyman-touch-layout.spec.json $(DEVELOPER_ROOT)\bin + copy $(KEYMAN_ROOT)\common\schemas\keyman-touch-layout\keyman-touch-layout.clean.spec.json $(DEVELOPER_ROOT)\bin + diff --git a/developer/src/server/build.sh b/developer/src/server/build.sh index 3e69b1d6af..ab31b34e1f 100755 --- a/developer/src/server/build.sh +++ b/developer/src/server/build.sh @@ -28,7 +28,7 @@ display_usage ( ) { echo " $0 --help" echo echo " --help displays this screen and exits" - echo " --production, -p builds production release in build/" + echo " --production, -p builds production release in /developer/bin/server/" echo " --skip-package-install, -S don't run npm install (not valid with --production)" echo " --test, -t runs unit tests after building" #echo " --watch, -w builds dev server in watch mode" @@ -184,10 +184,10 @@ if (( production )) ; then mkdir -p "$PRODBUILDTEMP/node_modules/@keymanapp/" cp -R "$KEYMAN_ROOT/node_modules/@keymanapp/keyman-version/" "$PRODBUILDTEMP/node_modules/@keymanapp/" - # We'll build in the build/ folder - rm -rf build/ - mkdir -p build/dist/ - cp -R dist/* build/dist/ - cp -R "$PRODBUILDTEMP"/* build/ + # We'll build in the $KEYMAN_ROOT/developer/bin/server/ folder + rm -rf "$KEYMAN_ROOT/developer/bin/server/" + mkdir -p "$KEYMAN_ROOT/developer/bin/server/dist/" + cp -R dist/* "$KEYMAN_ROOT/developer/bin/server/dist/" + cp -R "$PRODBUILDTEMP"/* "$KEYMAN_ROOT/developer/bin/server/" rm -rf "$PRODBUILDTEMP" fi diff --git a/developer/src/tools/sentry-upload-difs.sh b/developer/src/tools/sentry-upload-difs.sh index 511d1bc309..6341952b08 100755 --- a/developer/src/tools/sentry-upload-difs.sh +++ b/developer/src/tools/sentry-upload-difs.sh @@ -41,4 +41,4 @@ cd "$KEYMAN_ROOT/developer/src" echo "Uploading symbols for developer/" sentry-cli upload-dif -p keyman-developer -t breakpad -t pdb . --include-sources -sentry-cli releases -p keyman-developer files "release-$VERSION_WITH_TAG" upload-sourcemaps ./TIKE/xml ./server/build ./kmlmc/dist +sentry-cli releases -p keyman-developer files "release-$VERSION_WITH_TAG" upload-sourcemaps ./TIKE/xml ../bin/server ./kmlmc/dist