build scripts: include actual build number into *.exe launcher attributes (IDEA-162192)

This commit is contained in:
nik
2016-10-17 16:22:42 +03:00
parent f7bcc376c7
commit 2485cd2b47
3 changed files with 12 additions and 7 deletions
@@ -243,7 +243,8 @@ idea.fatal.error.notification=disabled
void buildDistributions() {
checkProductProperties()
def distributionJARsBuilder = new DistributionJARsBuilder(buildContext)
def patchedApplicationInfo = patchApplicationInfo()
def distributionJARsBuilder = new DistributionJARsBuilder(buildContext, patchedApplicationInfo)
compileModules(buildContext.productProperties.productLayout.includedPluginModules + distributionJARsBuilder.platformModules +
buildContext.productProperties.additionalModulesToCompile, buildContext.productProperties.modulesToCompileTests)
buildContext.messages.block("Build platform and plugin JARs") {
@@ -259,7 +260,7 @@ idea.fatal.error.notification=disabled
def propertiesFile = patchIdeaPropertiesFile()
List<BuildTaskRunnable<String>> tasks = [
createDistributionForOsTask("win", { BuildContext context ->
context.windowsDistributionCustomizer?.with { new WindowsDistributionBuilder(context, it, propertiesFile) }
context.windowsDistributionCustomizer?.with { new WindowsDistributionBuilder(context, it, propertiesFile, patchedApplicationInfo) }
}),
createDistributionForOsTask("linux", { BuildContext context ->
context.linuxDistributionCustomizer?.with { new LinuxDistributionBuilder(context, it, propertiesFile) }
@@ -472,7 +473,7 @@ idea.fatal.error.notification=disabled
@Override
void buildUnpackedDistribution(String targetDirectory) {
def jarsBuilder = new DistributionJARsBuilder(buildContext)
def jarsBuilder = new DistributionJARsBuilder(buildContext, patchApplicationInfo())
jarsBuilder.buildJARs()
layoutShared()
@@ -39,8 +39,10 @@ class DistributionJARsBuilder {
private final BuildContext buildContext
private final Set<String> usedModules = new LinkedHashSet<>()
private final PlatformLayout platform
private final File patchedApplicationInfo
DistributionJARsBuilder(BuildContext buildContext) {
DistributionJARsBuilder(BuildContext buildContext, File patchedApplicationInfo) {
this.patchedApplicationInfo = patchedApplicationInfo
this.buildContext = buildContext
buildContext.ant.patternset(id: RESOURCES_INCLUDED) {
include(name: "**/*Bundle*.properties")
@@ -205,7 +207,7 @@ class DistributionJARsBuilder {
layoutBuilder.patchModuleOutput(productLayout.searchableOptionsModule, FileUtil.toSystemIndependentName(searchableOptionsDir.absolutePath))
}
def applicationInfoFile = FileUtil.toSystemIndependentName(buildTasks.patchApplicationInfo().absolutePath)
def applicationInfoFile = FileUtil.toSystemIndependentName(patchedApplicationInfo.absolutePath)
def applicationInfoDir = "$buildContext.paths.temp/applicationInfo"
ant.copy(file: applicationInfoFile, todir: "$applicationInfoDir/idea")
layoutBuilder.patchModuleOutput(buildContext.productProperties.applicationInfoModule, applicationInfoDir)
@@ -28,9 +28,11 @@ import org.jetbrains.jps.model.module.JpsModuleSourceRoot
class WindowsDistributionBuilder extends OsSpecificDistributionBuilder {
private final WindowsDistributionCustomizer customizer
private final File ideaProperties
private final File patchedApplicationInfo
WindowsDistributionBuilder(BuildContext buildContext, WindowsDistributionCustomizer customizer, File ideaProperties) {
WindowsDistributionBuilder(BuildContext buildContext, WindowsDistributionCustomizer customizer, File ideaProperties, File patchedApplicationInfo) {
super(BuildOptions.OS_WINDOWS, "Windows", buildContext)
this.patchedApplicationInfo = patchedApplicationInfo
this.customizer = customizer
this.ideaProperties = ideaProperties
}
@@ -184,7 +186,7 @@ IDS_VM_OPTIONS=$vmOptions
buildContext.ant.java(classname: "com.pme.launcher.LauncherGeneratorMain", fork: "true", failonerror: "true") {
sysproperty(key: "java.awt.headless", value: "true")
arg(value: inputPath)
arg(value: buildContext.findApplicationInfoInSources().absolutePath)
arg(value: patchedApplicationInfo.absolutePath)
arg(value: "$communityHome/native/WinLauncher/WinLauncher/resource.h")
arg(value: launcherPropertiesPath)
arg(value: outputPath)