From cc7aec1a1b5ae5ad979b1ea035d7c3df60f4af55 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Thu, 8 Nov 2012 17:16:05 +0400 Subject: [PATCH] New launcher is capable of reading properties and VM options from separate files, Info.plist and build scripts updated accordingly. --- build/conf/mac/Contents/Info.plist | 6 ----- build/conf/mac/Contents/MacOS/idea | Bin 49216 -> 57960 bytes build/scripts/utils.gant | 36 +++++++++++++++++++++-------- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/build/conf/mac/Contents/Info.plist b/build/conf/mac/Contents/Info.plist index 267beb392154..77df63ba5fb6 100644 --- a/build/conf/mac/Contents/Info.plist +++ b/build/conf/mac/Contents/Info.plist @@ -80,12 +80,6 @@ VMOptions @@vmoptions@@ -Xbootclasspath/a:../lib/boot.jar - VMOptions.i386 - @@vmoptions32@@ - - VMOptions.x86_64 - @@vmoptions64@@ - WorkingDirectory $APP_PACKAGE/bin diff --git a/build/conf/mac/Contents/MacOS/idea b/build/conf/mac/Contents/MacOS/idea index 45bdd2f535a07c409fd3ded52031f737e6b82c91..5bd88ea33ccd9dc91fa9a00e11d02cb6605df06e 100755 GIT binary patch literal 57960 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 K8g`7Jh literal 49216 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 D>m=tn diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index e47cb847ab0d..be6209cfe997 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -309,7 +309,21 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args -> String minor = p("component.version.minor") String version = isEap() && !minor.contains("RC") && !minor.contains("Beta") ? "EAP $args.buildNumber" : "${p("component.version.major")}.${minor}" - String properties = readIdeaProperties(args) + Map properties = readIdeaProperties(args) + + def coreKeys = ["idea.platform.prefix", "idea.paths.selector"] + + String coreProperties = submapToXml(properties, coreKeys); + + StringBuilder effectiveProperties = new StringBuilder() + properties.each { k, v -> + if (!coreKeys.contains(k)) { + effectiveProperties.append("$k=$v\n"); + } + } + + new File("$path/bin/idea.properties").text = effectiveProperties.toString() + new File("$path/bin/idea.vmoptions").text = "$mem64 -XX:+UseCompressedOops".split(" ").join("\n") String classPath = classPathLibs.collect {"\$APP_PACKAGE/lib/${it}" }.join(":") @@ -323,9 +337,7 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args -> replacefilter(token: "@@year@@", value: "$todayYear") replacefilter(token: "@@version@@", value: version) replacefilter(token: "@@vmoptions@@", value: vmOptions) - replacefilter(token: "@@vmoptions32@@", value: "$mem32") - replacefilter(token: "@@vmoptions64@@", value: "$mem64 -XX:+UseCompressedOops") - replacefilter(token: "@@idea_properties@@", value: properties) + replacefilter(token: "@@idea_properties@@", value: coreProperties) replacefilter(token: "@@class_path@@", value: classPath) replacefilter(token: "@@help_id@@", value: helpId) } @@ -539,10 +551,10 @@ binding.setVariable("zipSources", { String home, String targetDir -> * @param args * @return text xml properties description in xml */ -private String readIdeaProperties(Map args) { +private Map readIdeaProperties(Map args) { String ideaPropertiesPath = args == null ? null : args.get("idea.properties.path") if (ideaPropertiesPath == null) { - return "" + return [:] } // read idea.properties file @@ -579,12 +591,18 @@ private String readIdeaProperties(Map args) { } } - // generate properties description for Info.plist + return ideaProperties; +} + +private String submapToXml(Map properties, List keys) { +// generate properties description for Info.plist StringBuilder buff = new StringBuilder() - ideaProperties.each { key, value -> + + keys.each { key -> + String value = properties[key] if (value != null) { String string = -""" + """ $key $value """