vscodium/build.sh

115 lines
6.1 KiB
Bash
Raw Normal View History

2018-08-13 11:14:15 -04:00
#!/bin/bash
2019-08-09 12:42:15 -04:00
function keep_alive() {
while true; do
2019-12-09 14:40:37 -05:00
echo .
read -t 60 < /proc/self/fd/1 > /dev/null 2>&1
2019-08-09 12:42:15 -04:00
done
}
2018-08-13 14:24:40 -04:00
if [[ "$SHOULD_BUILD" == "yes" ]]; then
export BUILD_SOURCEVERSION=$LATEST_MS_COMMIT
echo "LATEST_MS_COMMIT: ${LATEST_MS_COMMIT}"
echo "BUILD_SOURCEVERSION: ${BUILD_SOURCEVERSION}"
cp -rp src/* vscode/
2018-08-13 14:24:40 -04:00
cd vscode
2019-04-05 13:13:11 -04:00
export npm_config_arch="$BUILDARCH"
export npm_config_target_arch="$BUILDARCH"
../update_settings.sh
2019-12-08 18:19:44 -05:00
# apply patches
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
2018-08-13 14:24:40 -04:00
yarn
2019-08-09 11:49:47 -04:00
yarn postinstall
2018-08-13 14:24:40 -04:00
mv product.json product.json.bak
2019-05-03 20:10:53 -04:00
# set fields in product.json
2019-06-28 11:39:27 -04:00
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
extensionAllowedBadgeProviders='setpath(["extensionAllowedBadgeProviders"]; ["api.bintray.com", "api.travis-ci.com", "api.travis-ci.org", "app.fossa.io", "badge.fury.io", "badge.waffle.io", "badgen.net", "badges.frapsoft.com", "badges.gitter.im", "badges.greenkeeper.io", "cdn.travis-ci.com", "cdn.travis-ci.org", "ci.appveyor.com", "circleci.com", "cla.opensource.microsoft.com", "codacy.com", "codeclimate.com", "codecov.io", "coveralls.io", "david-dm.org", "deepscan.io", "dev.azure.com", "flat.badgen.net", "gemnasium.com", "githost.io", "gitlab.com", "godoc.org", "goreportcard.com", "img.shields.io", "isitmaintained.com", "marketplace.visualstudio.com", "nodesecurity.io", "opencollective.com", "snyk.io", "travis-ci.com", "travis-ci.org", "visualstudio.com", "vsmarketplacebadge.apphb.com", "www.bithound.io", "www.versioneye.com"])'
updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
2019-05-03 20:10:53 -04:00
quality='setpath(["quality"]; "stable")'
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items"})'
nameShort='setpath(["nameShort"]; "VSCodium")'
nameLong='setpath(["nameLong"]; "VSCodium")'
2019-05-29 23:26:59 -04:00
linuxIconName='setpath(["linuxIconName"]; "vscodium")'
applicationName='setpath(["applicationName"]; "codium")'
2019-05-03 20:10:53 -04:00
win32MutexName='setpath(["win32MutexName"]; "vscodium")'
win32DirName='setpath(["win32DirName"]; "VSCodium")'
win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
2019-10-05 16:13:11 -04:00
win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
2019-05-03 20:10:53 -04:00
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare"])'
2019-06-28 11:39:27 -04:00
product_json_changes="${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi}"
2019-05-03 20:10:53 -04:00
cat product.json.bak | jq "${product_json_changes}" > product.json
2018-08-13 14:24:40 -04:00
cat product.json
../undo_telemetry.sh
2018-08-13 14:24:40 -04:00
export NODE_ENV=production
2018-08-13 11:14:15 -04:00
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
# microsoft adds their apt repo to sources
# unless the app name is code-oss
# as we are renaming the application to vscodium
# we need to edit a line in the post install template
sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
2019-04-05 13:13:11 -04:00
fi
2019-08-09 12:42:15 -04:00
# this task is very slow on mac, so using a keep alive to keep travis alive
keep_alive &
KA_PID=$!
2019-12-09 14:40:37 -05:00
yarn gulp compile-build
yarn gulp compile-extensions-build
2019-08-09 11:49:47 -04:00
yarn gulp minify-vscode
2019-08-09 12:42:15 -04:00
2019-08-09 11:49:47 -04:00
yarn gulp minify-vscode-reh
yarn gulp minify-vscode-reh-web
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
npm install --global create-dmg
2019-08-09 11:49:47 -04:00
yarn gulp vscode-darwin-min-ci
yarn gulp vscode-reh-darwin-min-ci
yarn gulp vscode-reh-web-darwin-min-ci
elif [[ "$CI_WINDOWS" == "True" ]]; then
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
2019-08-09 11:49:47 -04:00
yarn gulp "vscode-win32-${BUILDARCH}-min-ci"
yarn gulp "vscode-reh-win32-${BUILDARCH}-min-ci"
yarn gulp "vscode-reh-web-win32-${BUILDARCH}-min-ci"
yarn gulp "vscode-win32-${BUILDARCH}-code-helper"
yarn gulp "vscode-win32-${BUILDARCH}-inno-updater"
yarn gulp "vscode-win32-${BUILDARCH}-archive"
yarn gulp "vscode-win32-${BUILDARCH}-system-setup"
yarn gulp "vscode-win32-${BUILDARCH}-user-setup"
2019-04-05 13:13:11 -04:00
else # linux
2019-12-09 14:40:37 -05:00
yarn gulp vscode-linux-${BUILDARCH}-min-ci
yarn gulp vscode-reh-linux-${BUILDARCH}-min-ci
yarn gulp vscode-reh-web-linux-${BUILDARCH}-min-ci
2019-08-09 11:49:47 -04:00
yarn gulp "vscode-linux-${BUILDARCH}-build-deb"
2019-12-09 14:40:37 -05:00
if [[ "$BUILDARCH" != "arm64" ]]; then
yarn gulp "vscode-linux-${BUILDARCH}-build-rpm"
fi
2019-04-19 09:30:10 -04:00
. ../create_appimage.sh
fi
2019-12-09 14:40:37 -05:00
kill $KA_PID
cd ..
fi