summaryrefslogtreecommitdiff
path: root/build/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build/update.sh')
-rwxr-xr-xbuild/update.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/build/update.sh b/build/update.sh
new file mode 100755
index 000000000000..a4b171484146
--- /dev/null
+++ b/build/update.sh
@@ -0,0 +1,41 @@
+#! /bin/bash
+#
+# This script updates your IntelliJ IDEA CE installation from the latest compiled classes. This way you can easily
+# upgrade your working IDEA to the latest changes.
+#
+# Before you run the script, ensure you have the following:
+# 1. Your project for IntelliJ IDEA CE is fully built (do 'Rebuild Project' if you're not sure)
+# 2. WORK_IDEA_HOME points to the directory of IntelliJ IDEA build you want to upgrade
+# 3. DEV_IDEA_HOME points to the directory of the project you built at step 1
+# 4. You quit IntelliJ IDEA
+
+if [ ! -f "$WORK_IDEA_HOME/bin/inspect.sh" ]; then
+ echo "WORK_IDEA_HOME must be defined and point to build you're updating."
+ exit
+fi
+
+if [ ! -f "$DEV_IDEA_HOME/build/update.sh" ]; then
+ echo "DEV_IDEA_HOME must be defined and point to source base you're updating from."
+ exit
+fi
+
+echo "Updating $WORK_IDEA_HOME from compiled classes in $DEV_IDEA_HOME"
+
+ANT_HOME="$DEV_IDEA_HOME/lib/ant"
+java -Xms64m -Xmx512m -Dant.home="$ANT_HOME" -classpath "$ANT_HOME/lib/ant-launcher.jar" org.apache.tools.ant.launch.Launcher \
+ -f build/update.xml $TARGET
+
+rm -rf $WORK_IDEA_HOME/lib
+rm -rf $WORK_IDEA_HOME/plugins
+
+cp -R $DEV_IDEA_HOME/out/deploy/* $WORK_IDEA_HOME
+
+OS_TYPE=`uname -s`
+if [ "$OS_TYPE" = "Linux" ]; then
+ cp -a $DEV_IDEA_HOME/bin/linux/*.so $WORK_IDEA_HOME/bin
+ cp -a $DEV_IDEA_HOME/bin/linux/fsnotifier* $WORK_IDEA_HOME/bin
+elif [ "$OS_TYPE" = "Darwin" ]; then
+ cp -a $DEV_IDEA_HOME/bin/mac/*.jnilib $WORK_IDEA_HOME/bin
+ cp -a $DEV_IDEA_HOME/bin/mac/fsnotifier $WORK_IDEA_HOME/bin
+ cp -a $DEV_IDEA_HOME/bin/mac/relaunch $WORK_IDEA_HOME/bin
+fi