From b4e3b9137f2b6bf75f20e9ad48e1b95655e09bd5 Mon Sep 17 00:00:00 2001 From: "Vladimir.Orlov" Date: Thu, 1 Feb 2018 15:01:29 +0300 Subject: [PATCH] Updated NSIS up to 3.02.1 and added logging into the tool. Building NSIS installer is relocated to temporary folder. Example: out/webstorm/temp/winInstaller/installer --- build/conf/install_nsis3.sh | 35 ++++++++----------- .../build/impl/WinExeInstallerBuilder.groovy | 14 ++++++-- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/build/conf/install_nsis3.sh b/build/conf/install_nsis3.sh index 9f36e7a798b9..e5d60111df3a 100644 --- a/build/conf/install_nsis3.sh +++ b/build/conf/install_nsis3.sh @@ -1,40 +1,35 @@ #!/bin/sh -# $1 - communityHome +# $1 - folder for install nsis -communityHome="$1" -nsis="$communityHome/build/tools/nsis" +tools="$1" nsisVersion=3.02.1 -scons="$communityHome/build/tools/scons" sconsVersion=2.5.0 buildSCons() { - mkdir "$scons" - cd "$scons" - unzip -x "$communityHome/build/tools/scons-$sconsVersion.zip" - cd "$scons/scons-$sconsVersion" - python setup.py install --prefix="$scons/scons-$sconsVersion" + cd "$tools" + unzip -x "$tools/scons-$sconsVersion.zip" + cd "$tools/scons-$sconsVersion" + python setup.py install --prefix="$tools/scons-$sconsVersion" } buildNSIS() { - mkdir "$nsis" - cd "$nsis" - unzip -x "$communityHome/build/tools/nsis-$nsisVersion.zip" - tar -xvf "$communityHome/build/tools/nsis-$nsisVersion-src.tar.bz2" - cd nsis-$nsisVersion + cd "$tools" + unzip -x "$tools/nsis-$nsisVersion.zip" + tar -xvf "$tools/nsis-$nsisVersion-src.tar.bz2" + cd "$tools/nsis-$nsisVersion" mkdir share cd share - ln -s "$nsis/nsis-$nsisVersion" nsis - cd "$nsis/nsis-$nsisVersion-src" - "$scons/scons-$sconsVersion/bin/scons" SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA=no NSIS_CONFIG_LOG=yes PREFIX="$nsis/nsis-$nsisVersion" install-compiler + ln -s "$tools/nsis-$nsisVersion" nsis + cd "$tools/nsis-$nsisVersion-src" + "$tools/scons-$sconsVersion/bin/scons" SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA=no NSIS_CONFIG_LOG=yes PREFIX="$tools/nsis-$nsisVersion" install-compiler } - -if [ ! -d "$scons" ]; then +if [ ! -d "$tools/scons-$sconsVersion" ]; then buildSCons fi -if [ ! -d "$nsis" ]; then +if [ ! -d "$tools/nsis-$nsisVersion" ]; then buildNSIS fi diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy index b0abeb71d585..bf92aa04e1c3 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy @@ -135,16 +135,24 @@ class WinExeInstallerBuilder { " \"${box}/nsiconf/idea.nsi\"") } else if (SystemInfoRt.isLinux) { - String installScriptPath = "$box/install_nsis3.sh" + String installerToolsDir = "$box/installer" + String installScriptPath = "$installerToolsDir/install_nsis3.sh" buildContext.ant.copy(file: "$communityHome/build/conf/install_nsis3.sh", tofile: installScriptPath) + buildContext.ant.copy(todir: "$installerToolsDir") { + fileset(dir: "${buildContext.paths.communityHome}/build/tools") { + include(name: "nsis*.*") + include(name: "scons*.*") + } + } + buildContext.ant.fixcrlf(file: installScriptPath, eol: "unix") ant.exec(executable: "chmod") { arg(line: " u+x \"$installScriptPath\"") } ant.exec(command: "\"$installScriptPath\"" + - " \"${buildContext.paths.communityHome}\"") + " \"${installerToolsDir}\"") - ant.exec(command: "\"${buildContext.paths.communityHome}/build/tools/nsis/nsis-3.02.1/bin/makensis\"" + + ant.exec(command: "\"${installerToolsDir}/nsis-3.02.1/bin/makensis\"" + " '-X!AddPluginDir \"${box}/NSIS/Plugins/x86-unicode\"'" + " '-X!AddIncludeDir \"${box}/NSIS/Include\"'" + " -DNSIS_DIR=\"${box}/NSIS\"" +