diff --git a/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy b/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy
index 17232d06929f..1882bc0a20c2 100644
--- a/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/BuildTasks.groovy
@@ -33,11 +33,17 @@ abstract class BuildTasks {
/**
* Update search/searchableOptions.xml file in {@code targetModuleName} module output directory
+ *
+ * todo[nik] this is temporary solution until code from layouts.gant files moved to the new builders. After that this method will
+ * be called inside {@link #buildDistributions()}
*/
abstract void buildSearchableOptions(String targetModuleName, List modulesToIndex, List pathsToLicenses)
/**
* Create a copy of *ApplicationInfo.xml file with substituted __BUILD_NUMBER__ and __BUILD_DATE__ placeholders
+ *
+ * todo[nik] this is temporary solution until code from layouts.gant files moved to the new builders. After that this method will
+ * be called inside {@link #buildDistributions()}
* @return path to the copied file
*/
abstract File patchApplicationInfo()
diff --git a/build/groovy/org/jetbrains/intellij/build/ProductProperties.groovy b/build/groovy/org/jetbrains/intellij/build/ProductProperties.groovy
index 6a71fc5dc06e..f0ce127c24b2 100644
--- a/build/groovy/org/jetbrains/intellij/build/ProductProperties.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/ProductProperties.groovy
@@ -80,10 +80,19 @@ public abstract class ProductProperties {
*/
abstract String baseArtifactName(String buildNumber)
+ /**
+ * @return instance of the class containing properties specific for Windows distribution or {@code null} if the product doesn't have Windows distribution
+ */
abstract WindowsDistributionCustomizer createWindowsCustomizer(String projectHome)
+ /**
+ * @return instance of the class containing properties specific for Linux distribution or {@code null} if the product doesn't have Linux distribution
+ */
abstract LinuxDistributionCustomizer createLinuxCustomizer(String projectHome)
+ /**
+ * @return instance of the class containing properties specific for Mac OS distribution or {@code null} if the product doesn't have Mac OS distribution
+ */
abstract MacDistributionCustomizer createMacCustomizer(String projectHome)
boolean setPluginAndIDEVersionInPluginXml = true
diff --git a/build/groovy/org/jetbrains/intellij/build/WindowsDistributionCustomizer.groovy b/build/groovy/org/jetbrains/intellij/build/WindowsDistributionCustomizer.groovy
index 28e9e367aa81..13a8f818e251 100644
--- a/build/groovy/org/jetbrains/intellij/build/WindowsDistributionCustomizer.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/WindowsDistributionCustomizer.groovy
@@ -22,7 +22,7 @@ import org.jetbrains.intellij.build.impl.JvmArchitecture
*/
abstract class WindowsDistributionCustomizer {
/**
- * Path to *.ico file for Windows distribution
+ * Path to 256x256 *.ico file for Windows distribution
*/
String icoPath
diff --git a/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy b/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy
index f951a2b41e02..105885d715bd 100644
--- a/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy
@@ -19,6 +19,9 @@ import com.intellij.openapi.util.io.FileUtil
import org.jetbrains.intellij.build.BuildContext
import org.jetbrains.intellij.build.BuildOptions
import org.jetbrains.intellij.build.BuildTasks
+import org.jetbrains.intellij.build.LinuxDistributionCustomizer
+import org.jetbrains.intellij.build.MacDistributionCustomizer
+import org.jetbrains.intellij.build.WindowsDistributionCustomizer
import org.jetbrains.jps.model.java.JavaResourceRootType
import org.jetbrains.jps.model.java.JavaSourceRootType
import org.jetbrains.jps.model.module.JpsModule
@@ -200,21 +203,30 @@ idea.fatal.error.notification=disabled
def propertiesFile = patchIdeaPropertiesFile()
WindowsDistributionBuilder windowsBuilder = null
- buildContext.executeStep("Build Windows distribution", BuildOptions.WINDOWS_DISTRIBUTION_STEP, {
- windowsBuilder = new WindowsDistributionBuilder(buildContext)
- windowsBuilder.layoutWin(propertiesFile)
- })
+ def windowsDistributionCustomizer = buildContext.windowsDistributionCustomizer
+ if (windowsDistributionCustomizer != null) {
+ buildContext.executeStep("Build Windows distribution", BuildOptions.WINDOWS_DISTRIBUTION_STEP, {
+ windowsBuilder = new WindowsDistributionBuilder(buildContext, windowsDistributionCustomizer)
+ windowsBuilder.layoutWin(propertiesFile)
+ })
+ }
LinuxDistributionBuilder linuxBuilder = null
- buildContext.executeStep("Build Linux distribution", BuildOptions.LINUX_DISTRIBUTION_STEP) {
- linuxBuilder = new LinuxDistributionBuilder(buildContext)
- linuxBuilder.layoutUnix(propertiesFile)
+ def linuxDistributionCustomizer = buildContext.linuxDistributionCustomizer
+ if (linuxDistributionCustomizer != null) {
+ buildContext.executeStep("Build Linux distribution", BuildOptions.LINUX_DISTRIBUTION_STEP) {
+ linuxBuilder = new LinuxDistributionBuilder(buildContext, linuxDistributionCustomizer)
+ linuxBuilder.layoutUnix(propertiesFile)
+ }
}
MacDistributionBuilder macBuilder = null
- buildContext.executeStep("Build Mac OS distribution", BuildOptions.MAC_DISTRIBUTION_STEP) {
- macBuilder = new MacDistributionBuilder(buildContext)
- macBuilder.layoutMac(propertiesFile)
+ def macDistributionCustomizer = buildContext.macDistributionCustomizer
+ if (macDistributionCustomizer != null) {
+ buildContext.executeStep("Build Mac OS distribution", BuildOptions.MAC_DISTRIBUTION_STEP) {
+ macBuilder = new MacDistributionBuilder(buildContext, macDistributionCustomizer)
+ macBuilder.layoutMac(propertiesFile)
+ }
}
if (windowsBuilder != null && linuxBuilder != null && macBuilder != null) {
diff --git a/build/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy b/build/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy
index a6cbe97fbf95..9c7be4dd50dc 100644
--- a/build/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy
@@ -16,6 +16,7 @@
package org.jetbrains.intellij.build.impl
import org.jetbrains.intellij.build.BuildContext
+import org.jetbrains.intellij.build.LinuxDistributionCustomizer
/**
* @author nik
@@ -23,8 +24,10 @@ import org.jetbrains.intellij.build.BuildContext
class LinuxDistributionBuilder {
private final BuildContext buildContext
final String unixDistPath
+ private final LinuxDistributionCustomizer customizer
- LinuxDistributionBuilder(BuildContext buildContext) {
+ LinuxDistributionBuilder(BuildContext buildContext, LinuxDistributionCustomizer customizer) {
+ this.customizer = customizer
this.buildContext = buildContext
unixDistPath = "$buildContext.paths.buildOutputRoot/dist.unix"
}
@@ -43,12 +46,12 @@ class LinuxDistributionBuilder {
//todo[nik] converting line separators to unix-style make sense only when building Linux distributions under Windows on a local machine;
// for real installers we need to checkout all text files with 'lf' separators anyway
buildContext.ant.fixcrlf(file: "$unixDistPath/bin/idea.properties", eol: "unix")
- buildContext.ant.copy(file: buildContext.linuxDistributionCustomizer.iconPngPath, tofile: "$unixDistPath/bin/${buildContext.productProperties.baseFileName}.png")
+ buildContext.ant.copy(file: customizer.iconPngPath, tofile: "$unixDistPath/bin/${buildContext.productProperties.baseFileName}.png")
unixScripts()
unixVMOptions()
unixReadme()
- buildContext.linuxDistributionCustomizer.copyAdditionalFiles(buildContext, unixDistPath)
+ customizer.copyAdditionalFiles(buildContext, unixDistPath)
buildTarGz(null)
def jreDirectoryPath = buildContext.bundledJreManager.extractLinuxJre()
if (jreDirectoryPath != null) {
@@ -118,10 +121,10 @@ class LinuxDistributionBuilder {
}
private void buildTarGz(String jreDirectoryPath) {
- def tarRoot = buildContext.linuxDistributionCustomizer.rootDirectoryName(buildContext.buildNumber)
+ def tarRoot = customizer.rootDirectoryName(buildContext.buildNumber)
def suffix = jreDirectoryPath != null ? "" : "-no-jdk"
def tarPath = "$buildContext.paths.artifacts/${buildContext.productProperties.baseArtifactName(buildContext.buildNumber)}${suffix}.tar"
- def extraBins = buildContext.linuxDistributionCustomizer.extraExecutables
+ def extraBins = customizer.extraExecutables
def paths = [buildContext.paths.distAll, unixDistPath]
if (jreDirectoryPath != null) {
paths += jreDirectoryPath
diff --git a/build/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy b/build/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy
index 20ae442d3ffa..40319533e592 100644
--- a/build/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy
@@ -17,6 +17,7 @@ package org.jetbrains.intellij.build.impl
import org.jetbrains.intellij.build.BuildContext
import org.jetbrains.intellij.build.BuildOptions
+import org.jetbrains.intellij.build.MacDistributionCustomizer
import java.time.LocalDate
/**
@@ -25,14 +26,16 @@ import java.time.LocalDate
class MacDistributionBuilder {
private final BuildContext buildContext
final String macDistPath
+ private final MacDistributionCustomizer customizer
- MacDistributionBuilder(BuildContext buildContext) {
+ MacDistributionBuilder(BuildContext buildContext, MacDistributionCustomizer customizer) {
+ this.customizer = customizer
this.buildContext = buildContext
macDistPath = "$buildContext.paths.buildOutputRoot/dist.mac"
}
public layoutMac(File ideaPropertiesFile) {
- def docTypes = buildContext.macDistributionCustomizer.docTypes ?: """
+ def docTypes = customizer.docTypes ?: """
CFBundleTypeExtensions
@@ -48,7 +51,7 @@ class MacDistributionBuilder {
"""
Map customIdeaProperties = ["idea.jre.check": "$buildContext.productProperties.toolsJarRequired"];
layoutMacApp(ideaPropertiesFile, customIdeaProperties, docTypes)
- buildContext.macDistributionCustomizer.copyAdditionalFiles(buildContext, macDistPath)
+ customizer.copyAdditionalFiles(buildContext, macDistPath)
def macZipPath = buildMacZip()
if (buildContext.macHostProperties == null) {
buildContext.messages.info("A Mac OS build agent isn't configured, dmg artifact won't be produced")
@@ -56,7 +59,7 @@ class MacDistributionBuilder {
}
else {
buildContext.executeStep("Build dmg artifact for Mac OS X", BuildOptions.MAC_DMG_STEP) {
- MacDmgBuilder.signAndBuildDmg(buildContext, buildContext.macHostProperties, macZipPath)
+ MacDmgBuilder.signAndBuildDmg(buildContext, customizer, buildContext.macHostProperties, macZipPath)
buildContext.ant.delete(file: macZipPath)
}
}
@@ -64,7 +67,7 @@ class MacDistributionBuilder {
private void layoutMacApp(File ideaPropertiesFile, Map customIdeaProperties, String docTypes) {
String target = macDistPath
- def macCustomizer = buildContext.macDistributionCustomizer
+ def macCustomizer = customizer
buildContext.ant.copy(todir: "$target/bin") {
fileset(dir: "$buildContext.paths.communityHome/bin/mac")
if (buildContext.productProperties.yourkitAgentBinariesDirectoryPath != null) {
@@ -82,7 +85,7 @@ class MacDistributionBuilder {
String icns = "idea.icns" //todo[nik] rename to more generic name?
String helpId = macCustomizer.helpId
String helpIcns = "$target/Resources/${helpId}.help/Contents/Resources/Shared/product.icns"
- String customIcns = buildContext.macDistributionCustomizer.icnsPath
+ String customIcns = customizer.icnsPath
if (customIcns != null) {
buildContext.ant.delete(file: "$target/Resources/idea.icns")
buildContext.ant.copy(file: customIcns, todir: "$target/Resources")
@@ -201,9 +204,9 @@ class MacDistributionBuilder {
private String buildMacZip() {
return buildContext.messages.block("Build zip archive for Mac OS") {
- def extraBins = buildContext.macDistributionCustomizer.extraExecutables
+ def extraBins = customizer.extraExecutables
def allPaths = [buildContext.paths.distAll, macDistPath]
- def zipRoot = buildContext.macDistributionCustomizer.rootDirectoryName(buildContext.applicationInfo, buildContext.buildNumber)
+ def zipRoot = customizer.rootDirectoryName(buildContext.applicationInfo, buildContext.buildNumber)
def targetPath = "$buildContext.paths.artifacts/${buildContext.productProperties.baseArtifactName(buildContext.buildNumber)}.mac.zip"
buildContext.ant.zip(zipfile: targetPath) {
allPaths.each {
diff --git a/build/groovy/org/jetbrains/intellij/build/impl/MacDmgBuilder.groovy b/build/groovy/org/jetbrains/intellij/build/impl/MacDmgBuilder.groovy
index f73736c37bcf..42048feb7a5b 100644
--- a/build/groovy/org/jetbrains/intellij/build/impl/MacDmgBuilder.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/impl/MacDmgBuilder.groovy
@@ -20,6 +20,7 @@ import org.apache.tools.ant.types.Path
import org.apache.tools.ant.util.SplitClassLoader
import org.codehaus.gant.GantBuilder
import org.jetbrains.intellij.build.BuildContext
+import org.jetbrains.intellij.build.MacDistributionCustomizer
import org.jetbrains.intellij.build.MacHostProperties
import java.time.LocalDateTime
@@ -31,8 +32,10 @@ class MacDmgBuilder {
private final String artifactsPath
private final MacHostProperties macHostProperties
private final String remoteDir
+ private final MacDistributionCustomizer customizer
- private MacDmgBuilder(BuildContext buildContext, String remoteDir, MacHostProperties macHostProperties) {
+ private MacDmgBuilder(BuildContext buildContext, MacDistributionCustomizer customizer, String remoteDir, MacHostProperties macHostProperties) {
+ this.customizer = customizer
this.buildContext = buildContext
ant = buildContext.ant
artifactsPath = buildContext.paths.artifacts
@@ -40,14 +43,14 @@ class MacDmgBuilder {
this.remoteDir = remoteDir
}
- public static void signAndBuildDmg(BuildContext buildContext, MacHostProperties macHostProperties, String macZipPath) {
+ public static void signAndBuildDmg(BuildContext buildContext, MacDistributionCustomizer customizer, MacHostProperties macHostProperties, String macZipPath) {
defineTasks(buildContext.ant, "${buildContext.paths.communityHome}/lib")
String remoteDir = "intellij-builds/${buildContext.fullBuildNumber}"
if (remoteDir.toLowerCase().endsWith("snapshot")) {
remoteDir += "-" + LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME).replace(':', '-')
}
- def dmgBuilder = new MacDmgBuilder(buildContext, remoteDir, macHostProperties)
+ def dmgBuilder = new MacDmgBuilder(buildContext, customizer, remoteDir, macHostProperties)
def jreArchivePath = buildContext.bundledJreManager.findMacJreArchive()
if (jreArchivePath != null) {
dmgBuilder.doSignAndBuildDmg(macZipPath, jreArchivePath)
@@ -73,7 +76,7 @@ class MacDmgBuilder {
private void buildDmg(String targetFileName) {
buildContext.messages.progress("Building ${targetFileName}.dmg")
def dmgImageCopy = "$artifactsPath/${buildContext.fullBuildNumber}.png"
- def dmgImagePath = (buildContext.applicationInfo.isEAP ? buildContext.macDistributionCustomizer.dmgImagePathForEAP : null) ?: buildContext.macDistributionCustomizer.dmgImagePath
+ def dmgImagePath = (buildContext.applicationInfo.isEAP ? customizer.dmgImagePathForEAP : null) ?: customizer.dmgImagePath
ant.copy(file: dmgImagePath, tofile: dmgImageCopy)
ftpAction("put") {
ant.fileset(file: dmgImageCopy)
diff --git a/build/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy b/build/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy
index eb090aaf54cc..4e3f2b6977ca 100644
--- a/build/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/impl/WinExeInstallerBuilder.groovy
@@ -18,6 +18,7 @@ package org.jetbrains.intellij.build.impl
import com.intellij.openapi.util.SystemInfoRt
import org.codehaus.gant.GantBuilder
import org.jetbrains.intellij.build.BuildContext
+import org.jetbrains.intellij.build.WindowsDistributionCustomizer
import static com.intellij.openapi.util.io.FileUtil.toSystemDependentName
/**
@@ -27,8 +28,10 @@ class WinExeInstallerBuilder {
private final BuildContext buildContext
private final GantBuilder ant
private final String jreDirectoryPath
+ private final WindowsDistributionCustomizer customizer
- WinExeInstallerBuilder(BuildContext buildContext, String jreDirectoryPath) {
+ WinExeInstallerBuilder(BuildContext buildContext, WindowsDistributionCustomizer customizer, String jreDirectoryPath) {
+ this.customizer = customizer
this.buildContext = buildContext
ant = buildContext.ant
this.jreDirectoryPath = jreDirectoryPath
@@ -48,7 +51,7 @@ class WinExeInstallerBuilder {
ant.mkdir(dir: "$box/bin")
ant.mkdir(dir: "$box/nsiconf")
- def bundleJre = buildContext.windowsDistributionCustomizer.bundledJreArchitecture != null
+ def bundleJre = customizer.bundledJreArchitecture != null
if (bundleJre && jreDirectoryPath == null) {
buildContext.messages.info("JRE won't be bundled with Windows installer because JRE archive is missing")
bundleJre = false
@@ -85,7 +88,7 @@ class WinExeInstallerBuilder {
if (SystemInfoRt.isWindows) {
ant.exec(command: "\"${box}/NSIS/makensis.exe\"" +
" /DCOMMUNITY_DIR=\"$communityHome\"" +
- " /DIPR=\"${buildContext.windowsDistributionCustomizer.associateIpr}\"" +
+ " /DIPR=\"${customizer.associateIpr}\"" +
" /DOUT_FILE=\"${outFileName}\"" +
" /DOUT_DIR=\"${buildContext.paths.artifacts}\"" +
" \"${box}/nsiconf/idea.nsi\"")
@@ -95,7 +98,7 @@ class WinExeInstallerBuilder {
" '-X!AddPluginDir \"${box}/NSIS/Plugins\"'" +
" '-X!AddIncludeDir \"${box}/NSIS/Include\"'" +
" -DCOMMUNITY_DIR=\"$communityHome\"" +
- " -DIPR=\"${buildContext.windowsDistributionCustomizer.associateIpr}\"" +
+ " -DIPR=\"${customizer.associateIpr}\"" +
" -DOUT_FILE=\"${outFileName}\"" +
" -DOUT_DIR=\"${buildContext.paths.artifacts}\"" +
" \"${box}/nsiconf/idea.nsi\"")
@@ -113,14 +116,14 @@ class WinExeInstallerBuilder {
private void prepareConfigurationFiles(String box, String winDistPath) {
def productProperties = buildContext.productProperties
new File(box, "nsiconf/paths.nsi").text = """
-!define IMAGES_LOCATION "${toSystemDependentName(buildContext.windowsDistributionCustomizer.installerImagesPath)}"
+!define IMAGES_LOCATION "${toSystemDependentName(customizer.installerImagesPath)}"
!define PRODUCT_PROPERTIES_FILE "${toSystemDependentName("$winDistPath/bin/idea.properties")}"
!define PRODUCT_VM_OPTIONS_NAME ${productProperties.baseFileName}*.exe.vmoptions
!define PRODUCT_VM_OPTIONS_FILE "${toSystemDependentName("$winDistPath/bin/")}\${PRODUCT_VM_OPTIONS_NAME}"
"""
String fullProductName = productProperties.fullNameIncludingEdition(buildContext.applicationInfo)
- def extensionsList = buildContext.windowsDistributionCustomizer.fileAssociations
+ def extensionsList = customizer.fileAssociations
def fileAssociations = extensionsList.isEmpty() ? "NoAssociation" : extensionsList.join(",")
new File(box, "nsiconf/strings.nsi").text = """
!define MANUFACTURER "JetBrains"
@@ -133,7 +136,7 @@ class WinExeInstallerBuilder {
!define PRODUCT_LOGO_FILE "logo.bmp"
!define PRODUCT_HEADER_FILE "headerlogo.bmp"
!define ASSOCIATION "$fileAssociations"
-!define UNINSTALL_WEB_PAGE "${buildContext.windowsDistributionCustomizer.uninstallFeedbackPageUrl(buildContext.applicationInfo) ?: "feedback_web_page"}"
+!define UNINSTALL_WEB_PAGE "${customizer.uninstallFeedbackPageUrl(buildContext.applicationInfo) ?: "feedback_web_page"}"
; if SHOULD_SET_DEFAULT_INSTDIR != 0 then default installation directory will be directory where highest-numbered IDEA build has been installed
; set to 1 for release build
diff --git a/build/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy b/build/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy
index 48992f449e00..e67eae518aea 100644
--- a/build/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy
+++ b/build/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy
@@ -17,15 +17,18 @@ package org.jetbrains.intellij.build.impl
import org.jetbrains.intellij.build.BuildContext
import org.jetbrains.intellij.build.BuildOptions
+import org.jetbrains.intellij.build.WindowsDistributionCustomizer
import org.jetbrains.jps.model.module.JpsModuleSourceRoot
/**
* @author nik
*/
class WindowsDistributionBuilder {
private final BuildContext buildContext
+ private final WindowsDistributionCustomizer customizer
final String winDistPath
- WindowsDistributionBuilder(BuildContext buildContext) {
+ WindowsDistributionBuilder(BuildContext buildContext, WindowsDistributionCustomizer customizer) {
+ this.customizer = customizer
this.buildContext = buildContext
winDistPath = "$buildContext.paths.buildOutputRoot/dist.win"
}
@@ -43,19 +46,19 @@ class WindowsDistributionBuilder {
buildContext.ant.copy(file: ideaProperties.path, todir: "$winDistPath/bin")
buildContext.ant.fixcrlf(file: "$winDistPath/bin/idea.properties", eol: "dos")
- buildContext.ant.copy(file: buildContext.windowsDistributionCustomizer.icoPath, tofile: "$winDistPath/bin/${buildContext.productProperties.baseFileName}.ico")
- if (buildContext.windowsDistributionCustomizer.includeBatchLaunchers) {
+ buildContext.ant.copy(file: customizer.icoPath, tofile: "$winDistPath/bin/${buildContext.productProperties.baseFileName}.ico")
+ if (customizer.includeBatchLaunchers) {
winScripts()
}
winVMOptions()
buildWinLauncher(JvmArchitecture.x32)
buildWinLauncher(JvmArchitecture.x64)
- buildContext.windowsDistributionCustomizer.copyAdditionalFiles(buildContext, winDistPath)
+ customizer.copyAdditionalFiles(buildContext, winDistPath)
- def arch = buildContext.windowsDistributionCustomizer.bundledJreArchitecture
+ def arch = customizer.bundledJreArchitecture
def jreDirectoryPath = arch != null ? buildContext.bundledJreManager.extractWinJre(arch) : null
buildWinZip(jreDirectoryPath, ".win")
- if (arch != null && buildContext.windowsDistributionCustomizer.buildZipWithBundledOracleJre) {
+ if (arch != null && customizer.buildZipWithBundledOracleJre) {
String oracleJrePath = buildContext.bundledJreManager.extractOracleWinJre(arch)
if (oracleJrePath != null) {
buildWinZip(oracleJrePath, "-oracle-win")
@@ -66,7 +69,7 @@ class WindowsDistributionBuilder {
}
buildContext.executeStep("Build Windows Exe Installer", BuildOptions.WINDOWS_EXE_INSTALLER_STEP) {
- new WinExeInstallerBuilder(buildContext, jreDirectoryPath).buildInstaller(winDistPath)
+ new WinExeInstallerBuilder(buildContext, customizer, jreDirectoryPath).buildInstaller(winDistPath)
}
}
@@ -194,7 +197,7 @@ IDS_VM_OPTIONS=$vmOptions
private void buildWinZip(String jreDirectoryPath, String zipNameSuffix) {
buildContext.messages.block("Build Windows ${zipNameSuffix}.zip distribution") {
def targetPath = "$buildContext.paths.artifacts/${buildContext.productProperties.baseArtifactName(buildContext.buildNumber)}${zipNameSuffix}.zip"
- def zipPrefix = buildContext.windowsDistributionCustomizer.rootDirectoryName(buildContext.buildNumber)
+ def zipPrefix = customizer.rootDirectoryName(buildContext.buildNumber)
def dirs = [buildContext.paths.distAll, winDistPath]
if (jreDirectoryPath != null) {
dirs += jreDirectoryPath