Remove obsolete dependencies from student and educational-core
[idea/community.git] / build / update.sh
1 #! /bin/bash
2 #
3 # This script updates your IntelliJ IDEA CE installation from the latest compiled classes. This way you can easily
4 # upgrade your working IDEA to the latest changes.
5 #
6 # Before you run the script, ensure you have the following:
7 # 1. Your project for IntelliJ IDEA CE is fully built (do 'Rebuild Project' if you're not sure)
8 # 2. WORK_IDEA_HOME points to the directory of IntelliJ IDEA build you want to upgrade
9 # 3. DEV_IDEA_HOME points to the directory of the project you built at step 1
10 # 4. You quit IntelliJ IDEA
11
12 if [ ! -f "$WORK_IDEA_HOME/bin/inspect.sh" -a -f "$WORK_IDEA_HOME/Contents/bin/inspect.sh" ]; then
13   WORK_IDEA_HOME="$WORK_IDEA_HOME/Contents"
14 fi
15 if [ ! -f "$WORK_IDEA_HOME/bin/inspect.sh" ]; then
16   echo "WORK_IDEA_HOME must be defined and point to build you're updating."
17   exit 1
18 fi
19
20 if [ ! -f "$DEV_IDEA_HOME/build/update.sh" ]; then
21   echo "DEV_IDEA_HOME must be defined and point to source base you're updating from."
22   exit 1
23 fi
24
25 echo "Updating $WORK_IDEA_HOME from compiled classes in $DEV_IDEA_HOME"
26
27 ANT_HOME="$DEV_IDEA_HOME/lib/ant"
28 ANT_CLASSPATH="$DEV_IDEA_HOME/build/lib/gant/lib/jps.jar"
29 java -Xms64m -Xmx512m -Dant.home="$ANT_HOME" -classpath "$ANT_HOME/lib/ant-launcher.jar" org.apache.tools.ant.launch.Launcher \
30  -lib "$ANT_CLASSPATH" -f "$DEV_IDEA_HOME/build/update.xml" -Dwork.idea.home="$WORK_IDEA_HOME" $TARGET
31
32 if [ "$?" != "0" ]; then
33   echo "Update failed; work IDEA build not modified."
34   rm -rf "$WORK_IDEA_HOME/___tmp___"
35   exit 2
36 fi
37
38 rm -rf "$WORK_IDEA_HOME/lib"
39 rm -rf "$WORK_IDEA_HOME/plugins"
40
41 cp -R "$DEV_IDEA_HOME/out/deploy/"* "$WORK_IDEA_HOME"
42
43 OS_TYPE=`uname -s`
44 if [ "$OS_TYPE" = "Linux" ]; then
45   cp -a $DEV_IDEA_HOME/bin/linux/*.so $WORK_IDEA_HOME/bin
46   cp -a $DEV_IDEA_HOME/bin/linux/fsnotifier* $WORK_IDEA_HOME/bin
47 elif [ "$OS_TYPE" = "Darwin" ]; then
48   cp -a "$DEV_IDEA_HOME/bin/mac/"*.jnilib "$WORK_IDEA_HOME/bin"
49   cp -a "$DEV_IDEA_HOME/bin/mac/fsnotifier" "$WORK_IDEA_HOME/bin"
50   cp -a "$DEV_IDEA_HOME/bin/mac/restarter" "$WORK_IDEA_HOME/bin"
51 fi