summaryrefslogtreecommitdiff
path: root/makefile/setup_env
diff options
context:
space:
mode:
Diffstat (limited to 'makefile/setup_env')
-rwxr-xr-xmakefile/setup_env290
1 files changed, 290 insertions, 0 deletions
diff --git a/makefile/setup_env b/makefile/setup_env
new file mode 100755
index 0000000..c478378
--- /dev/null
+++ b/makefile/setup_env
@@ -0,0 +1,290 @@
+#!/bin/bash
+# setup_env
+# Script for pulling down the MOTODEV plugins source, all dependencies, and building
+# If building on Windows with Cygwin or MingGW/Git Bash, use forward slash format
+
+
+
+# Required parameters
+# ===== BEGIN =====
+
+# Insert your build base here. This is where files will be downloaded and build
+export BUILD_BASE_PATH=/home/username/work/build_test
+
+# This is the path to the downloaded Eclipse installation
+export ECLIPSE_BASE_PATH=$BUILD_BASE_PATH/env/eclipse
+
+# Target OS. (WINDOWS, LINUX)
+#export BUILD_TARGET="WINDOWS"
+export BUILD_TARGET="LINUX"
+
+# ===== END =====
+# Required parameters
+
+
+
+# It's OK if this fails due to existing
+mkdir $BUILD_BASE_PATH
+cd $BUILD_BASE_PATH
+mkdir ./env
+mkdir ./env/code
+#mkdir ./env/code/android
+#mkdir ./env/code/android/makefile
+#mkdir ./env/code/android/src
+#mkdir ./env/eclipse
+mkdir ./input
+mkdir ./input/repository
+mkdir ./input/repository/base
+
+
+# These will come from eclipse git repos
+mkdir ./input/repository/base/REPO_ECLIPSE_PLATFORM
+mkdir ./input/repository/base/REPO_BIRT
+mkdir ./input/repository/base/REPO_DATATOOLS
+mkdir ./input/repository/base/REPO_EMF_XSD_SDO
+mkdir ./input/repository/base/REPO_GEF
+mkdir ./input/repository/base/REPO_JDT
+mkdir ./input/repository/base/REPO_PDE
+mkdir ./input/repository/base/REPO_WTP
+mkdir ./input/repository/base/REPO_EGIT
+mkdir ./input/repository/base/REPO_MYLYN
+
+# This will come from eclipse svn
+mkdir ./input/repository/base/REPO_MAT
+
+# This will come from an archive or Eclipse git
+mkdir ./input/repository/base/REPO_SEQUOYAH
+
+# This will come from Google
+mkdir ./input/repository/base/REPO_ADT
+
+# These are set to get the revision used by MOTODEV. In some cases, it
+# may be necessary to get the HEAD by removing the -b parameter
+cd ./input/repository/base
+
+if [ -f "REPO_ECLIPSE_PLATFORM.zip" ];
+then
+echo "REPO_ECLIPSE_PLATFORM.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/org.eclipse.platform.source-4.2.zip > REPO_ECLIPSE_PLATFORM.zip;
+fi
+
+if [ -f "REPO_BIRT.zip" ];
+then
+echo "REPO_BIRT.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/birt/downloads/drops/R-R1-4_2_0-201206131143/birt-updatesite-4_2_0.zip > REPO_BIRT.zip;
+fi
+
+if [ -f "REPO_DATATOOLS.zip" ];
+then
+echo "REPO_DATATOOLS.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/datatools/downloads/1.10/dtp-sdk_1.10.zip > REPO_DATATOOLS.zip;
+fi
+
+if [ -f "REPO_EMF_XSD_SDO.zip" ];
+then
+echo "REPO_EMF_XSD_SDO.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/modeling/emf/emf/downloads/drops/2.8.0/R201206080554/emf-xsd-Update-2.8.0.zip > REPO_EMF_XSD_SDO.zip;
+fi
+
+if [ -f "REPO_GEF.zip" ];
+then
+echo "REPO_GEF.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/tools/gef/downloads/drops/3.8.0/R201206112118/GEF-ALL-3.8.0.zip > REPO_GEF.zip;
+fi
+
+if [ -f "REPO_JDT.zip" ];
+then
+echo "REPO_JDT.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/org.eclipse.jdt.source-4.2.zip > REPO_JDT.zip;
+fi
+
+if [ -f "REPO_PDE.zip" ];
+then
+echo "REPO_PDE.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/org.eclipse.pde.source-4.2.zip > REPO_PDE.zip;
+fi
+
+if [ -f "REPO_WTP.zip" ];
+then
+echo "REPO_WTP.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/webtools/downloads/drops/R3.4.0/R-3.4.0-20120612174739/wtp4x-repo-R-3.4.0-20120612174739.zip > REPO_WTP.zip;
+fi
+
+if [ -f "REPO_MAT.zip" ];
+then
+echo "REPO_MAT.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/mat/1.1.1/MemoryAnalyzer-1.1.1.201108240735.zip > REPO_MAT.zip;
+fi
+
+if [ -f "REPO_SEQUOYAH.zip" ];
+then
+echo "REPO_SEQUOYAH.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/sequoyah/downloads/drops/2.1/2.1.1.N20120718-0509/org.eclipse.sequoyah.feature.2.1.1.N20120718-0509.zip > REPO_SEQUOYAH.zip;
+fi
+
+if [ -f "REPO_EGIT.zip" ];
+then
+echo "REPO_EGIT.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/egit/updates-2.0/org.eclipse.egit.repository-2.0.0.201206130900-r.zip > REPO_EGIT.zip;
+fi
+
+if [ -f "REPO_MYLYN.zip" ];
+then
+echo "REPO_MYLYN.zip exists. Skipping.";
+else
+curl http://ftp.osuosl.org/pub/eclipse/mylyn/drops/3.8.0/v20120612-0600/mylyn-3.8.0.v20120612-0600.zip > REPO_MYLYN.zip;
+fi
+
+if [ -f "REPO_ADT.zip" ];
+then
+echo "REPO_ADT.zip exists. Skipping.";
+else
+curl http://dl.google.com/android/ADT-20.0.3.zip > REPO_ADT.zip;
+fi
+
+# call unzip -q if it exists on all the downloaded repos
+# unzip -q REPO_EGIT.zip -d ./REPO_EGIT
+if ! [ -f "./REPO_ECLIPSE_PLATFORM/artifacts.jar" ];
+then
+unzip -q REPO_ECLIPSE_PLATFORM.zip -d ./REPO_ECLIPSE_PLATFORM;
+fi
+
+if ! [ -f "./REPO_BIRT/artifacts.jar" ];
+then
+unzip -q REPO_BIRT.zip -d ./REPO_BIRT;
+fi
+
+if ! [ -f "./REPO_EMF_XSD_SDO/artifacts.jar" ];
+then
+unzip -q REPO_EMF_XSD_SDO.zip -d ./REPO_EMF_XSD_SDO;
+fi
+
+if ! [ -f "./REPO_JDT/artifacts.jar" ];
+then
+unzip -q REPO_JDT.zip -d ./REPO_JDT;
+fi
+
+if ! [ -f "./REPO_PDE/artifacts.jar" ];
+then
+unzip -q REPO_PDE.zip -d ./REPO_PDE;
+fi
+
+if ! [ -f "./REPO_WTP/artifacts.jar" ];
+then
+unzip -q REPO_WTP.zip -d ./REPO_WTP;
+fi
+
+if ! [ -f "./REPO_MAT/artifacts.jar" ];
+then
+unzip -q REPO_MAT.zip -d ./REPO_MAT;
+fi
+
+if ! [ -f "./REPO_SEQUOYAH/artifacts.jar" ];
+then
+unzip -q REPO_SEQUOYAH.zip -d ./REPO_SEQUOYAH;
+fi
+
+if ! [ -f "./REPO_EGIT/artifacts.jar" ];
+then
+unzip -q REPO_EGIT.zip -d ./REPO_EGIT;
+fi
+
+if ! [ -f "./REPO_MYLYN/artifacts.jar" ];
+then
+unzip -q REPO_MYLYN.zip -d ./REPO_MYLYN;
+fi
+
+if ! [ -f "./REPO_ADT/site.xml" ];
+then
+unzip -q REPO_ADT.zip -d ./REPO_ADT;
+fi
+
+# Get the MOTODEV plugins code
+cd $BUILD_BASE_PATH
+cd ./env/code
+git clone https://android.googlesource.com/platform/tools/motodev.git
+mv motodev/ android
+
+# Get the eclipse SDK + delta pack
+cd $BUILD_BASE_PATH
+if [ "$BUILD_TARGET" == "WINDOWS" ];
+then
+ if [ -f "eclipse-SDK-4.2-win32-x86_64.zip" ];
+ then
+ echo "eclipse-SDK-4.2-win32-x86_64.zip exists. Skipping.";
+ else
+ curl http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-win32-x86_64.zip > eclipse-SDK-4.2-win32-x86_64.zip;
+ fi
+
+ if ! [ -f "./env/eclipse/artifacts.xml" ];
+ then
+ unzip -q eclipse-SDK-4.2-win32-x86_64.zip -d ./env;
+ fi
+elif [ "$BUILD_TARGET" == "LINUX" ];
+then
+ if [ -f "eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz" ];
+ then
+ echo "eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz exists. Skipping.";
+ else
+ curl http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz > eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz;
+ fi
+
+ if ! [ -f "./env/eclipse/artifacts.xml" ];
+ then
+ tar -xcf eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz -C ./env
+ fi
+fi
+
+if [ -f "eclipse-4.2-delta-pack.zip" ];
+then
+echo "eclipse-4.2-delta-pack.zip exists. Skipping.";
+else
+curl http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-4.2-delta-pack.zip > eclipse-4.2-delta-pack.zip;
+fi
+
+unzip -q -o eclipse-4.2-delta-pack.zip -d ./env
+
+# These two are in an incompatible format
+cd $BUILD_BASE_PATH
+mkdir ./TEMP
+
+if ! [ -f "$BUILD_BASE_PATH/TEMP/REPO_DATATOOLS/eclipse/notice.html" ];
+then
+unzip -q ./input/repository/base/REPO_DATATOOLS.zip -d ./TEMP/REPO_DATATOOLS;
+fi
+
+if ! [ -f "$BUILD_BASE_PATH/input/repository/base/REPO_DATATOOLS/artifacts.jar" ];
+then
+java -jar $ECLIPSE_BASE_PATH/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher -metadataRepository file://$BUILD_BASE_PATH/input/repository/base/REPO_DATATOOLS -artifactRepository file://$BUILD_BASE_PATH/input/repository/base/REPO_DATATOOLS -source $BUILD_BASE_PATH/TEMP/REPO_DATATOOLS/eclipse -compress -publishArtifacts ;
+fi
+
+if ! [ -f "$BUILD_BASE_PATH/TEMP/REPO_GEF/eclipse/plugins/org.eclipse.gef_3.8.0.201206112118.jar" ];
+then
+unzip -q ./input/repository/base/REPO_GEF.zip -d ./TEMP/REPO_GEF ;
+fi
+
+if ! [ -f "$BUILD_BASE_PATH/input/repository/base/REPO_GEF/artifacts.jar" ];
+then
+java -jar $ECLIPSE_BASE_PATH/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher -metadataRepository file://$BUILD_BASE_PATH/input/repository/base/REPO_GEF -artifactRepository file://$BUILD_BASE_PATH/input/repository/base/REPO_GEF -source $BUILD_BASE_PATH/TEMP/REPO_GEF/eclipse -compress -publishArtifacts ;
+fi
+
+# Now that everything is in place, create these two variables
+export ADT_JAR_FILENAME=`ls input/repository/base/REPO_ADT/plugins | grep eclipse.adt_ | sed "s/.jar//"`
+export DDMS_JAR_FILENAME=`ls input/repository/base/REPO_ADT/plugins | grep eclipse.ddms_ | sed "s/.jar//"`
+
+# Run the eclipse to build the plugins
+$ECLIPSE_BASE_PATH/eclipse -nosplash -application org.eclipse.ant.core.antRunner -data $BUILD_BASE_PATH/env/workspace_product -buildfile $BUILD_BASE_PATH/env/code/android/makefile/studioBuild.xml -debug
+# Add these items to the build command line if you want a log file
+#-logger org.apache.tools.ant.XmlLogger -logfile $BUILD_BASE_PATH/log.xml
+