1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-10 09:45:39 +02:00
cdt/releng/org.eclipse.rse.build/setup.sh
2012-05-24 13:44:19 +00:00

297 lines
9.4 KiB
Bash
Executable file

#!/bin/sh
#*******************************************************************************
# Copyright (c) 2006, 2011 Wind River Systems, Inc.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# Martin Oberhuber - initial API and implementation
#*******************************************************************************
#
# setup.sh : Set up an environment for building TM / RSE
# Works on build.eclipse.org -- may need to be adjusted
# for other hosts.
#
# This must be run in $HOME/ws2 in order for the mkTestUpdateSite.sh
# script to find the published packages
#
# Bootstrapping: Get this script by
# export CVSROOT=:pserver:anonymous@dev.eclipse.org:/cvsroot/tools
# cvs co -r HEAD org.eclipse.tm.rse/releng/org.eclipse.rse.build
# sh org.eclipse.tm.rse/releng/org.eclipse.rse.build/setup.sh
#
# - OR -
#
# wget -O setup.sh "http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.rse/releng/org.eclipse.rse.build/setup.sh?rev=HEAD&cvsroot=Tools_Project&content-type=text/plain"
# sh setup.sh
# ./doit_ibuild.sh
# cd testUpdates/bin
# mkTestUpdates.sh
curdir=`pwd`
uname_s=`uname -s`
uname_m=`uname -m`
case ${uname_s}${uname_m} in
Linuxppc*) ep_arch=linux-gtk-ppc
cdt_arch=linux.ppc
;;
Linuxx86_64*) ep_arch=linux-gtk-x86_64
cdt_arch=linux.x86_64
;;
Linuxx86*) ep_arch=linux-gtk
cdt_arch=linux.x86
;;
esac
#http://download.eclipse.org/eclipse/downloads/drops/S-3.8RC1-201205182345/
#http://download.eclipse.org/eclipse/downloads/drops4/S-4.2RC1-201205182145/
# prepare the base Eclipse installation in folder "eclipse"
#ep_rel="drops4/S-"
#ep_ver=4.2RC1
#ep_date="-201205182145"
ep_rel="drops/R-"
ep_ver=3.7.2
ep_date="-201202080800"
P2_disabled=false
P2_no_dropins=false
if [ ! -f eclipse/plugins/org.eclipse.swt_3.7.2.v3740f.jar ]; then
curdir2=`pwd`
if [ ! -d eclipse -o -h eclipse ]; then
if [ -d eclipse-${ep_ver}-${ep_arch} ]; then
rm -rf eclipse-${ep_ver}-${ep_arch}
fi
mkdir eclipse-${ep_ver}-${ep_arch}
cd eclipse-${ep_ver}-${ep_arch}
else
rm -rf eclipse
fi
# Eclipse SDK: Need the SDK so we can link into docs
echo "Getting Eclipse SDK..."
wget "http://download.eclipse.org/eclipse/downloads/${ep_rel}${ep_ver}${ep_date}/eclipse-SDK-${ep_ver}-${ep_arch}.tar.gz"
tar xfvz eclipse-SDK-${ep_ver}-${ep_arch}.tar.gz
rm eclipse-SDK-${ep_ver}-${ep_arch}.tar.gz
cd "${curdir2}"
if [ ! -d eclipse -o -h eclipse ]; then
if [ -e eclipse ]; then
rm eclipse
fi
ln -s eclipse-${ep_ver}-${ep_arch}/eclipse eclipse
fi
fi
if [ ! -f eclipse/startup.jar ]; then
curdir2=`pwd`
cd eclipse/plugins
if [ -h ../startup.jar ]; then
rm ../startup.jar
fi
LAUNCHER=`ls org.eclipse.equinox.launcher_*.jar | sort | tail -1`
if [ "${LAUNCHER}" != "" ]; then
echo "eclipse LAUNCHER=${LAUNCHER}"
ln -s plugins/${LAUNCHER} ../startup.jar
else
echo "Eclipse: NO startup.jar LAUNCHER FOUND!"
fi
cd ${curdir2}
fi
if ${P2_no_dropins} ; then
#P2 disabled?
DROPIN=.
DROPUP=.
else
#P2 enabled
DROPIN=eclipse/dropins
DROPUP=../..
fi
if [ ! -f eclipse/plugins/org.junit_3.8.2.v3_8_2_v20100427-1100/junit.jar ]; then
# Eclipse Test Framework
echo "Getting Eclipse Test Framework..."
wget "http://download.eclipse.org/eclipse/downloads/${ep_rel}${ep_ver}${ep_date}/eclipse-test-framework-${ep_ver}.zip"
unzip -o eclipse-test-framework-${ep_ver}.zip
rm eclipse-test-framework-${ep_ver}.zip
fi
if [ ! -f ${DROPIN}/eclipse/plugins/gnu.io.rxtx_2.1.7.4_v20071016.jar ]; then
echo "Getting RXTX..."
cd ${DROPIN}
#wget "http://rxtx.qbang.org/eclipse/downloads/RXTX-SDK-I20071016-1945.zip"
#unzip -o RXTX-SDK-I20071016-1945.zip
#rm RXTX-SDK-I20071016-1945.zip
#wget "http://download.eclipse.org/athena/runnables/RXTX-runtime-I20071016-1945.zip"
wget "http://archive.eclipse.org/tm/updates/rxtx/downloads/RXTX-runtime-I20071016-1945.zip"
unzip -o RXTX-runtime-I20071016-1945.zip
rm RXTX-runtime-I20071016-1945.zip
cd ${DROPUP}
fi
# Sonatype / Tycho app for generating p2 download stats
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=310132
if [ ! -f ${DROPIN}/org.sonatype.tycho.p2.updatesite_0.9.0.201005191712.jar ]; then
echo "Getting Download Stats Generator..."
cd ${DROPIN}
wget "https://bugs.eclipse.org/bugs/attachment.cgi?id=171500" -O addStats_v3.zip
unzip -o addStats_v3.zip
rm addStats_v3.zip
cd ${DROPUP}
fi
# CDT Runtime
#CDTREL=8.1.0
#CDTFEAT=8.1.0
#CDTVER=201205221655
CDTREL=8.0.1
CDTFEAT=8.0.0
CDTVER=201109151620
#CDTNAME=cdt-master-${CDTREL}-I${CDTVER}.zip
#CDTLOC=builds/${CDTREL}/I.I${CDTVER}/${CDTNAME}
CDTNAME=cdt-master-${CDTREL}.zip
CDTLOC=releases/indigo/dist/${CDTNAME}
#CDTNAME=org.eclipse.cdt.repo.zip
#CDTLOC=builds/juno/milestones/RC1/${CDTNAME}
if [ ! -f eclipse/plugins/org.eclipse.cdt_${CDTFEAT}.${CDTVER}.jar ]; then
echo "Getting CDT Runtime..."
wget "http://download.eclipse.org/tools/cdt/${CDTLOC}"
CDTTMP=`pwd`/tmp.$$
mkdir ${CDTTMP}
cd ${CDTTMP}
unzip ../${CDTNAME}
cd ..
#java -jar eclipse/startup.jar \
LAUNCHER=`ls eclipse/plugins/org.eclipse.equinox.launcher_*.jar | sort | tail -1`
java -jar ${LAUNCHER} \
-application org.eclipse.update.core.standaloneUpdate \
-command install \
-from file://${CDTTMP} \
-featureId org.eclipse.cdt.platform \
-version ${CDTFEAT}.${CDTVER}
java -jar ${LAUNCHER} \
-application org.eclipse.update.core.standaloneUpdate \
-command install \
-from file://${CDTTMP} \
-featureId org.eclipse.cdt \
-version ${CDTFEAT}.${CDTVER}
rm -rf ${CDTTMP}
rm ${CDTNAME}
fi
# checkout the basebuilder -
# http://wiki.eclipse.org/Platform-releng-basebuilder#Current_build_tag_for_3.7_stream_builds_.28Indigo.29
#baseBuilderTag=R36_RC4
baseBuilderTag=R37_M7
if [ ! -f org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.core_3.7.0.v20110421.jar \
-o ! -f org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.build_3.7.0.v20110418/pdebuild.jar ]; then
if [ -d org.eclipse.releng.basebuilder ]; then
echo "Re-getting basebuilder from CVS..."
rm -rf org.eclipse.releng.basebuilder
else
echo "Getting basebuilder from CVS..."
fi
cvs -Q -d :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse co -r ${baseBuilderTag} org.eclipse.releng.basebuilder
fi
if [ ! -f org.eclipse.releng.basebuilder/startup.jar ]; then
curdir2=`pwd`
cd org.eclipse.releng.basebuilder/plugins
if [ -h ../startup.jar ]; then
rm ../startup.jar
fi
LAUNCHER=`ls org.eclipse.equinox.launcher_*.jar | sort | tail -1`
if [ "${LAUNCHER}" != "" ]; then
echo "basebuilder: LAUNCHER=${LAUNCHER}"
ln -s plugins/${LAUNCHER} ../startup.jar
else
echo "basebuilder: NO LAUNCHER FOUND"
fi
cd ${curdir2}
fi
# checkout the RSE builder
if [ -f org.eclipse.rse.build/CVS/Entries ]; then
echo "Updating org.eclipse.rse.build from CVS"
cd org.eclipse.rse.build
cvs -q update -A -dPR
cd ..
else
if [ -d org.eclipse.rse.build ]; then
echo "Re-getting org.eclipse.rse.build from CVS"
rm -rf org.eclipse.rse.build
else
echo "Getting org.eclipse.rse.build from CVS"
fi
cvs -q -d :pserver:anonymous@dev.eclipse.org:/cvsroot/tools co -Rd org.eclipse.rse.build org.eclipse.tm.rse/releng/org.eclipse.rse.build
fi
# checkout the Mapfiles
if [ -f org.eclipse.tm.releng/CVS/Entries ]; then
echo "Updating org.eclipse.tm.releng from CVS"
cd org.eclipse.tm.releng
cvs -q update -A -dPR
cd ..
else
if [ -d org.eclipse.tm.releng ]; then
echo "Re-getting org.eclipse.tm.releng from CVS"
rm -rf org.eclipse.tm.releng
else
echo "Getting org.eclipse.tm.releng from CVS"
fi
cvs -q -d :pserver:anonymous@dev.eclipse.org:/cvsroot/tools co -Rd org.eclipse.tm.releng org.eclipse.tm.rse/releng/org.eclipse.tm.releng
fi
# prepare directories for the build
echo "Preparing directories and symbolic links..."
if [ ! -d working/package ]; then
mkdir -p working/package
fi
if [ ! -d working/build ]; then
mkdir -p working/build
fi
if [ ! -d publish ]; then
D=/home/data/httpd/download.eclipse.org/tm/downloads/drops
if [ -d ${D} ]; then ln -s ${D} publish; else mkdir publish; fi
fi
if [ ! -d testUpdates ]; then
D=/home/data/httpd/download.eclipse.org/tm/testUpdates
if [ -d ${D} ]; then ln -s ${D} testUpdates; else mkdir testUpdates; fi
fi
if [ ! -d updates ]; then
D=/home/data/httpd/download.eclipse.org/tm/updates
if [ -d ${D} ]; then ln -s ${D} updates; else mkdir updates; fi
fi
if [ ! -d staging ]; then
D=/home/data/httpd/download-staging.priv/tools/tm
if [ -d ${D} ]; then ln -s ${D} staging; else mkdir staging; fi
fi
# create symlinks as needed
if [ ! -h doit_irsbuild.sh ]; then
ln -s org.eclipse.rse.build/bin/doit_irsbuild.sh .
fi
if [ ! -h doit_nightly.sh ]; then
ln -s org.eclipse.rse.build/bin/doit_nightly.sh .
fi
if [ ! -h setup.sh ]; then
if [ -f setup.sh ]; then rm -f setup.sh; fi
ln -s org.eclipse.rse.build/setup.sh .
fi
chmod a+x doit_irsbuild.sh doit_nightly.sh
cd org.eclipse.rse.build
chmod a+x go.sh nightly.sh setup.sh
cd ..
echo "Your build environment is now created."
echo ""
echo "Run \"./doit_irsbuild.sh I\" to create an I-build."
echo ""
echo "Test the testUpdates, then copy them to updates:"
echo "cd updates"
echo "rm -rf plugins features"
echo "cp -R ../testUpdates/plugins ."
echo "cp -R ../testUpdates/features ."
echo "cd bin"
echo "cvs update"
echo "./mkTestUpdates.sh"
exit 0