build scripts

- create build script for macOS
- create build script for linux
- create build script for windows
- create build script for windows x86
This commit is contained in:
Vishwas Shashidhar
2019-08-27 16:38:26 +05:30
parent cc66907740
commit 14e6975590
8 changed files with 166 additions and 4 deletions

39
scripts/build-linux.sh Normal file
View File

@@ -0,0 +1,39 @@
#!/bin/bash
if ! [ -x "$(command -v git)" ]; then
echo 'GIT does not exist! Please set it up before running this script!' >&2
exit 1
fi
if ! [ -x "$(command -v node)" ]; then
echo 'NODE does not exist! Please set it up before running this script!' >&2
exit 1
fi
nvm use default
NODE_VERSION=$(node --version)
echo "Node Version: ${NODE_VERSION}"
if [ ! -d "$HOME/tronlibraries/library" ]; then
echo 'Search libraries do not exist! Not building with swift search' >&2
else
cp -r "$HOME/tronlibraries/library" .
fi
PKG_VERSION=$(node -e "console.log(require('./package.json').version);")
# Install app dependencies
npm install
# replace url in config
echo "Setting default pod url to https://corporate.symphony.com"
sed -i -e 's/\"url\"[[:space:]]*\:[[:space:]]*\".*\"/\"url\":\"https:\/\/corporate.symphony.com\"/g' config/Symphony.config
# setup the build version
echo "Setting build version to ${PARENT_BUILD_VERSION}"
sed -i -e "s/\"buildNumber\"[[:space:]]*\:[[:space:]]*\".*\"/\"buildNumber\":\"${PARENT_BUILD_VERSION}\"/g" package.json
# replace version number in pre-install script
echo "Setting package version in pre install script to ${PKG_VERSION}"
sed -i -e "s/CURRENT_VERSION=APP_VERSION/CURRENT_VERSION=${PKG_VERSION}/g" ./installer/mac/preinstall.sh
echo "Running tests, code coverage, linting and building..."
npm run packed-linux

65
scripts/build-mac.sh Executable file
View File

@@ -0,0 +1,65 @@
#!/bin/bash
if ! [ -x "$(command -v git)" ]; then
echo 'GIT does not exist! Please set it up before running this script!' >&2
exit 1
fi
if ! [ -x "$(command -v node)" ]; then
echo 'NODE does not exist! Please set it up before running this script!' >&2
exit 1
fi
if ! [ -x "$(command -v /usr/local/bin/packagesbuild)" ]; then
echo 'Packages build does not exist! Please set it up before running this script!' >&2
exit 1
fi
nvm use default
NODE_VERSION=$(node --version)
echo "Node Version: ${NODE_VERSION}"
if [ ! -d "$HOME/tronlibraries/library" ]; then
echo 'Search libraries do not exist! Not building with swift search' >&2
else
cp -r "$HOME/tronlibraries/library" .
fi
PKG_VERSION=$(node -e "console.log(require('./package.json').version);")
# Install app dependencies
npm install
# replace url in config
echo "Setting default pod url to https://corporate.symphony.com"
sed -i -e 's/\"url\"[[:space:]]*\:[[:space:]]*\".*\"/\"url\":\"https:\/\/corporate.symphony.com\"/g' config/Symphony.config
# setup the build version
echo "Setting build version to ${PARENT_BUILD_VERSION}"
sed -i -e "s/\"buildNumber\"[[:space:]]*\:[[:space:]]*\".*\"/\"buildNumber\":\"${PARENT_BUILD_VERSION}\"/g" package.json
# replace version number in pre-install script
echo "Setting package version in pre install script to ${PKG_VERSION}"
sed -i -e "s/CURRENT_VERSION=APP_VERSION/CURRENT_VERSION=${PKG_VERSION}/g" ./installer/mac/preinstall.sh
echo "Running tests, code coverage, linting and building..."
npm run unpacked-mac
APP_BUILD=dist/mac/Symphony.app
# Test if app was built and exists, if not, exit
if [ ! -e ${APP_BUILD} ]; then
echo "BUILD FAILED: app does not exist: ${APP_BUILD}"
exit 1
fi
echo "App created: ${APP_BUILD}"
# Create .pkg installer
echo "Creating .pkg"
/usr/local/bin/packagesbuild -v installer/mac/symphony-mac-packager.pkgproj
PACKAGE=installer/mac/build/Symphony.pkg
if [ ! -e ${PACKAGE} ]; then
echo "BUILD PACKAGE FAILED: package not created: ${PACKAGE}"
exit 1
fi
echo "Package created: ${PACKAGE}"

30
scripts/build-win32.bat Normal file
View File

@@ -0,0 +1,30 @@
echo "invoking visual dev tools..."
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
echo %PATH%
set DISABLE_REBUILD=true
set PATH=%PATH%;C:\Program Files\nodejs\;C:\Program Files\Git\cmd
echo %PATH%
set PATH=%PATH%;C:\Program Files (x86)\GnuWin32\bin
echo %PATH%
:: Below command replaces buildVersion with the appropriate build number from jenkins
:: https://superuser.com/questions/339118/regex-replace-from-command-line
sed -i -e "s/\"buildNumber\"[[:space:]]*\:[[:space:]]*\".*\"/\"buildNumber\":\"%PARENT_BUILD_VERSION%\"/g" package.json
sed -i -e "s/\"electronDist\"[[:space:]]*\:[[:space:]]*\".*\"/\"electronDist\":\"C:\\jenkins\\workspace\\R64\"/g" package.json
echo "Copying search libraries"
echo D | xcopy /y "C:\jenkins\workspace\tronlibraries\library" "library"
echo "Running npm install..."
call npm install
call npm i -g gulp-cli
echo "Setting expiry to days: %EXPIRY_PERIOD%"
call gulp setExpiry --period %EXPIRY_PERIOD%
echo "Running tests, code coverage, linting and building..."
call npm run unpacked-win-x86

28
scripts/build-win64.bat Normal file
View File

@@ -0,0 +1,28 @@
echo "invoking visual dev tools..."
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
echo %PATH%
set PATH=%PATH%;C:\Program Files\nodejs\;C:\Program Files\Git\cmd
echo %PATH%
set PATH=%PATH%;C:\Program Files (x86)\GnuWin32\bin
echo %PATH%
:: Below command replaces buildVersion with the appropriate build number from jenkins
:: https://superuser.com/questions/339118/regex-replace-from-command-line
sed -i -e "s/\"buildNumber\"[[:space:]]*\:[[:space:]]*\".*\"/\"buildNumber\":\"%PARENT_BUILD_VERSION%\"/g" package.json
sed -i -e "s/\"electronDist\"[[:space:]]*\:[[:space:]]*\".*\"/\"electronDist\":\"C:\\jenkins\\workspace\\R64\"/g" package.json
echo "Copying search libraries"
echo D | xcopy /y "C:\jenkins\workspace\tronlibraries\library" "library"
echo "Running npm install..."
call npm install
call npm i -g gulp-cli
echo "Setting expiry to days: %EXPIRY_PERIOD%"
call gulp setExpiry --period %EXPIRY_PERIOD%
echo "Building the 64 bit version..."
call npm run unpacked-win