diff --git a/bin/WinLauncher/WinLauncher.exe b/bin/WinLauncher/WinLauncher.exe new file mode 100644 index 000000000000..e76147274f45 Binary files /dev/null and b/bin/WinLauncher/WinLauncher.exe differ diff --git a/bin/WinLauncher/WinLauncher64.exe b/bin/WinLauncher/WinLauncher64.exe new file mode 100644 index 000000000000..a95fd33cdd3e Binary files /dev/null and b/bin/WinLauncher/WinLauncher64.exe differ diff --git a/build/conf/ideaCE-launcher.properties b/build/conf/ideaCE-launcher.properties new file mode 100644 index 000000000000..a1c7a5e23e1b --- /dev/null +++ b/build/conf/ideaCE-launcher.properties @@ -0,0 +1 @@ +IDS_JDK_ONLY=true diff --git a/build/lib/launcher-generator.jar b/build/lib/launcher-generator.jar new file mode 100644 index 000000000000..146c1a5c88e3 Binary files /dev/null and b/build/lib/launcher-generator.jar differ diff --git a/build/scripts/dist.gant b/build/scripts/dist.gant index 4abf7ef92216..f440bbf62252 100644 --- a/build/scripts/dist.gant +++ b/build/scripts/dist.gant @@ -130,7 +130,10 @@ def layoutAll(Map args, String home, String out, Paths _paths = null, buildJps = buildWinZip("$paths.artifacts/idea${args.buildNumber}.win.zip", [paths.distAll, paths.distWin]) def macAppRoot = isEap() ? "${p("component.version.codename")}-${args.buildNumber}.app" : "IntelliJ IDEA ${p("component.version.major")} CE.app" - buildMacZip(macAppRoot, "$paths.artifacts/idea${args.buildNumber}.mac.zip", [paths.distAll], paths.distMac) + + String macZip = "$paths.artifacts/idea${args.buildNumber}.mac.zip" + buildMacZip(macAppRoot, macZip, [paths.distAll], paths.distMac) + notifyArtifactBuilt(macZIp) buildTarGz("idea-${args.buildNumber}", "$paths.artifacts/idea${args.buildNumber}.tar", [paths.distAll, paths.distUnix]) } @@ -148,6 +151,9 @@ private layoutWin(Map args, String home, Paths paths) { winScripts(target, home, "idea.bat", args) winVMOptions(target, null, "idea.exe", "idea64.exe") + String launcherProperties = "$home/build/conf/ideaCE-launcher.properties" + buildWinLauncher(home, "$home/bin/WinLauncher/WinLauncher.exe", "$target/bin/idea.exe", appInfoFile(), launcherProperties) + buildWinLauncher(home, "$home/bin/WinLauncher/WinLauncher64.exe", "$target/bin/idea64.exe", appInfoFile(), launcherProperties) } private layoutMac(Map _args, String home, Paths paths) { diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index 66a1317a7f25..f82ea5f6498a 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -726,3 +726,22 @@ private void fixIdeaPropertiesEol(List paths, String eol) { } } } + +binding.setVariable("buildWinLauncher", { String ch, String inputPath, String outputPath, String appInfo, String launcherProperties -> + projectBuilder.stage("winLauncher") + + ant.java(jar: "$ch/build/lib/launcher-generator.jar", fork: "true") { + arg(value: inputPath) + arg(value: appInfo) + arg(value: "$ch/native/WinLauncher/WinLauncher/resource.h") + arg(value: launcherProperties) + arg(value: outputPath) + classpath { + fileset(dir: "$ch/lib") { + include(name: "guava*.jar") + include(name: "jdom.jar") + include(name: "sanselan*.jar") + } + } + } +}) diff --git a/tools/launcher-generator/.idea/artifacts/launcher_generator_jar.xml b/tools/launcher-generator/.idea/artifacts/launcher_generator_jar.xml new file mode 100644 index 000000000000..e738633e26bb --- /dev/null +++ b/tools/launcher-generator/.idea/artifacts/launcher_generator_jar.xml @@ -0,0 +1,16 @@ + + + $PROJECT_DIR$/out/artifacts/launcher_generator_jar + + + + + + + + + + + + + \ No newline at end of file