From 41ac47d732eed8392d60d0f6773e5a279d49b999 Mon Sep 17 00:00:00 2001 From: Adrian Dudau Date: Thu, 12 Dec 2013 13:36:50 +0100 Subject: initial commit of Enea Linux 3.1 Migrated from the internal git server on the dora-enea branch Signed-off-by: Adrian Dudau --- scripts/build.sh | 173 ++++++++++++++++++++++++++++++++++++ scripts/find-version | 62 +++++++++++++ scripts/generate-doc.sh | 88 +++++++++++++++++++ scripts/readme.txt | 71 +++++++++++++++ scripts/setup.sh | 226 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 620 insertions(+) create mode 100755 scripts/build.sh create mode 100755 scripts/find-version create mode 100755 scripts/generate-doc.sh create mode 100644 scripts/readme.txt create mode 100755 scripts/setup.sh (limited to 'scripts') diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..7010caa --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,173 @@ +#!/bin/sh + +help () +{ + echo "Build the Yocto Eclipse plugins" + echo "Usage: [GIT_URL=url_of_repo] [DOC_GIT=url_of_repo] $0 [OPTIONS] BRANCH_NAME RELEASE_NAME [TAG_NAME]"; + echo "" + echo "Options:" + echo "-h - display this help and exit" + echo "-l - use local git repository" + echo "BRANCH_NAME - git branch name to build upon" + echo "RELEAES_NAME - release name in the final output name" + echo "TAG_NAME - git tag name to build upon. defaults to HEAD if not set" + echo "GIT_URL - use this repo for the plugins. Defaults to git://git.pokylinux.org/eclipse-poky-juno.git if not set" + echo "DOC_GIT - use this repo for documentation. Defaults to git://git.pokylinux.org/yocto-docs.git if not set" + echo "" + echo "Example: $0 master r0 M1.1_rc1"; + exit 1; +} + +fail () +{ + local retval=$1 + shift $1 + echo "[Fail $retval]: $*" + echo "BUILD_TOP=${BUILD_TOP}" + cd ${TOP} + exit ${retval} +} + +find_eclipse_base () +{ + [ -d ${ECLIPSE_HOME}/plugins ] && ECLIPSE_BASE=${ECLIPSE_HOME} +} + +find_launcher () +{ + local list="`ls ${ECLIPSE_BASE}/plugins/org.eclipse.equinox.launcher_*.jar`" + for launcher in $list; do + [ -f $launcher ] && LAUNCHER=${launcher} + done +} + +find_buildfile () +{ + local list="`ls ${ECLIPSE_BASE}/plugins/org.eclipse.pde.build_*/scripts/build.xml`" + for buildfile in $list; do + [ -f $buildfile ] && BUILDFILE=${buildfile} + done +} + +check_env () +{ + find_eclipse_base + find_launcher + find_buildfile + + local err=0 + [ "x${ECLIPSE_BASE}" = "x" -o "x${LAUNCHER}" = "x" -o "x${BUILDFILE}" = "x" ] && err=1 + if [ $err -eq 0 ]; then + [ ! -d ${ECLIPSE_BASE} ] && err=1 + [ ! -f ${LAUNCHER} ] && err=1 + [ ! -f ${BUILDFILE} ] && err=1 + fi + + if [ $err -ne 0 ]; then + echo "Please set env variable ECLIPSE_HOME to the eclipse installation directory!" + exit 1 + fi +} + +USE_LOCAL_GIT_REPO=0 +while getopts ":lh" opt; do + case $opt in + h) + help + ;; + l) + USE_LOCAL_GIT_REPO=1 + ;; + esac +done +shift $(($OPTIND - 1)) + + +if [ $# -ne 2 ] && [ $# -ne 3 ]; then + help +fi + +#milestone +BRANCH=$1 +RELEASE=$2 + +if [ "x" = "x${3}" ] +then + TAG="HEAD" +else + TAG=$3 +fi + +TOP=`pwd` + +check_env + +#create tmp dir for build +DATE=`date +%Y%m%d%H%M` +BUILD_TOP=`echo ${BRANCH} | sed 's%/%-%'` +BUILD_TOP=${TOP}/${BUILD_TOP}_build_${DATE} +rm -rf ${BUILD_TOP} +mkdir ${BUILD_TOP} || fail $? "Create temporary build directory ${BUILD_TOP}" +BUILD_SRC=${BUILD_TOP}/src +BUILD_DIR=${BUILD_TOP}/build +mkdir ${BUILD_DIR} || fail $? "Create temporary build directory ${BUILD_DIR}" + + +#git clone +GIT_URL=${GIT_URL:-git://git.pokylinux.org/eclipse-poky-juno.git} +if [ $USE_LOCAL_GIT_REPO -eq 1 ]; then + SCRIPT_DIR=`dirname $0` + GIT_DIR=`readlink -f ${SCRIPT_DIR}/..` + GIT_URL="file://${GIT_DIR}" +fi + +GIT_DIR=${BUILD_SRC} +#mkdir ${GIT_DIR} +#cp -r features/ ${GIT_DIR} +#cp -r plugins/ ${GIT_DIR} +#cp -r tcf/ ${GIT_DIR} +git clone ${GIT_URL} ${GIT_DIR} || fail $? "git clone ${GIT_URL}" +cd ${GIT_DIR} +git checkout origin/${BRANCH} || fail $? "git checkout origin/${BRANCH}" +git checkout ${TAG} || fail $? "git checkout ${TAG}" +cd ${TOP} + +# generate and add documentation +if [ "${TAG}" = "HEAD" ]; then + ${GIT_DIR}/scripts/generate-doc.sh ${BRANCH} ${GIT_DIR} +else + ${GIT_DIR}/scripts/generate-doc.sh -t ${TAG} ${GIT_DIR} +fi + +#build +java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.bc.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} || fail $? "normal build" +java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.doc.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} || fail $? "normal build" +java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.sdk.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} || fail $? "normal build" + +if [ -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.sdk-${RELEASE}.zip ] && + [ -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.bc-${RELEASE}.zip ] && + [ -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.doc-${RELEASE}.zip ]; then + cp -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.bc-${RELEASE}.zip ./org.yocto.bc-${RELEASE}-${DATE}.zip + cp -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.doc-${RELEASE}.zip ./org.yocto.doc-${RELEASE}-${DATE}.zip + cp -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.sdk-${RELEASE}.zip ./org.yocto.sdk-${RELEASE}-${DATE}.zip + rm -rf ${BUILD_DIR} +else + fail 1 "Not finding normal build output" +fi + +#build archive for update site +java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.bc.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} -Dp2.gathering=true || fail $? "archive build" +java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.doc.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} -Dp2.gathering=true || fail $? "archive build" +java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.sdk.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} -Dp2.gathering=true || fail $? "archive build" + +#clean up +if [ -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.sdk-${RELEASE}-group.group.group.zip ] && + [ -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.bc-${RELEASE}-group.group.group.zip ] && + [ -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.doc-${RELEASE}-group.group.group.zip ]; then + cp -f ${BUILD_DIR}/I.${RELEASE}/org.yocto.sdk-${RELEASE}-group.group.group.zip ./org.yocto.sdk-${RELEASE}-${DATE}-archive.zip + rm -rf ${BUILD_TOP} +else + fail 1 "Not finding archive build output" +fi + +exit 0 diff --git a/scripts/find-version b/scripts/find-version new file mode 100755 index 0000000..55fbc58 --- /dev/null +++ b/scripts/find-version @@ -0,0 +1,62 @@ +#!/bin/sh + +help () +{ + echo "Find the installed plugin/feature version of a eclipse build environment" + echo "Usage: $0 [pluginId1/featureId1[,pluginId2/featureId2]...]"; + echo "" + echo "Options:" + echo "pluginId/featureId - comma seperated plugin or feature ids, empty for all" + echo "" + echo "Example: $0 org.eclipse.tcf.feature.group"; + exit 1; +} + +fail () +{ + local retval=$1 + shift $1 + echo "[Fail $retval]: $*" + echo "BUILD_TOP=${BUILD_TOP}" + cd ${TOP} + exit ${retval} +} + +find_eclipse_base () +{ + [ -d ${ECLIPSE_HOME}/plugins ] && ECLIPSE_BASE=`readlink -f ${ECLIPSE_HOME}` +} + +find_launcher () +{ + local list="`ls ${ECLIPSE_BASE}/plugins/org.eclipse.equinox.launcher_*.jar`" + for launcher in $list; do + [ -f $launcher ] && LAUNCHER=${launcher} + done +} + +check_env () +{ + find_eclipse_base + find_launcher + + local err=0 + [ "x${ECLIPSE_BASE}" = "x" -o "x${LAUNCHER}" = "x" ] && err=1 + if [ $err -eq 0 ]; then + [ ! -d ${ECLIPSE_BASE} ] && err=1 + [ ! -f ${LAUNCHER} ] && err=1 + fi + + if [ $err -ne 0 ]; then + echo "Please set env variable ECLIPSE_HOME to the eclipse installation directory!" + exit 1 + fi +} + +if [ $# -ne 0 ] && [ $# -ne 1 ]; then + help +fi + +check_env + +java -jar ${LAUNCHER} -application org.eclipse.equinox.p2.director -destination ${ECLIPSE_BASE} -profile SDKProfile -repository file:///${ECLIPSE_BASE}/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile -list $@ diff --git a/scripts/generate-doc.sh b/scripts/generate-doc.sh new file mode 100755 index 0000000..90205ee --- /dev/null +++ b/scripts/generate-doc.sh @@ -0,0 +1,88 @@ +#!/bin/sh + +help() +{ + echo "Generate and add eclipse help from yocto's documentation" + echo "Usage: [DOC_GIT=url_of_repo] $0 BRANCH_NAME PLUGIN_FOLDER" + echo " [DOC_GIT=url_of_repo] $0 -t TAG_NAME PLUGIN_FOLDER" + echo "" + echo "Options:" + echo "-h - display this help and exit" + echo "-t TAG_NAME - tag to build the documentation upon" + echo "BRANCH_NAME - branch to build the documentation upon" + echo "PLUGIN_FOLDER - root folder of the eclipse-poky project" + echo "DOC_GIT - use this repo for documentation. Defaults to git://git.pokylinux.org/yocto-docs.git if not set" + exit 1 +} + +fail () +{ + local retval=$1 + shift $1 + echo "[Fail $retval]: $*" + echo "BUILD_TOP=${BUILD_TOP}" + cd ${TOP} + exit ${retval} +} + +CHECKOUT_TAG=0 +while getopts ":ht" opt; do + case $opt in + h) + help + ;; + t) + CHECKOUT_TAG=1 + ;; + esac +done +shift $(($OPTIND - 1)) + +if [ $# -ne 2 ]; then + help +fi + +if [ $CHECKOUT_TAG -eq 0 ]; then + REFERENCE=origin/$1 +else + REFERENCE=$1 +fi +PLUGIN_FOLDER=`readlink -f $2` + +TOP=`pwd` + +DOC_DIR=${PLUGIN_FOLDER}/docs +rm -rf ${DOC_DIR} +DOC_PLUGIN_DIR=${PLUGIN_FOLDER}/plugins/org.yocto.doc.user +DOC_HTML_DIR=${DOC_PLUGIN_DIR}/html/ + +# git clone +DOC_GIT=${DOC_GIT:-git://git.yoctoproject.org/yocto-docs.git} + +git clone ${DOC_GIT} ${DOC_DIR} || fail $? "git clone ${DOC_GIT}" +cd ${DOC_DIR} +git checkout ${REFERENCE} || fail $? "git checkout ${REFERENCE}" +COMMIT_ID=`git rev-parse HEAD` + +# build and copy +DOCS="yocto-project-qs adt-manual kernel-dev \ + bsp-guide ref-manual dev-manual profile-manual" + +cd documentation +ECLIPSE_TARGET_AVAILABLE=`make -q eclipse &> /dev/null; echo $?` +if [ ${ECLIPSE_TARGET_AVAILABLE} -ne 1 ]; then + echo "WARNING:" + echo "This version does not support generating eclipse help" + echo "Documentation will not be available in eclipse" + exit 1 +fi + +for DOC in ${DOCS}; do + make DOC=${DOC} eclipse + cp -rf ${DOC}/eclipse/html/* ${DOC_HTML_DIR} + cp -f ${DOC}/eclipse/${DOC}-toc.xml ${DOC_HTML_DIR} +done + +sed -e "s/@.*@/${COMMIT_ID}/" < ${DOC_PLUGIN_DIR}/about.html.in > ${DOC_PLUGIN_DIR}/about.html + +cd ${TOP} diff --git a/scripts/readme.txt b/scripts/readme.txt new file mode 100644 index 0000000..ba55b64 --- /dev/null +++ b/scripts/readme.txt @@ -0,0 +1,71 @@ +Note: PART I and PART II can be skipped if you have already done that. + +Part I: Base environment setup +I-1. install JDK + sudo zypper install java-1_6_0-openjdk + +I-2. install X11 related packages for eclipse running + sudo zypper install xorg-x11-xauth + +I-3. using git through a SOCKS proxy(If you're behind some firewall) +I-3.1 Create a wrapper script for netcat + cat > ~/bin/proxy-wrapper + + #!/bin/sh + PROXY=proxy-jf.intel.com + PORT=1080 + METHOD="-X 5 -x ${PROXY}:${PORT}" + + nc $METHOD $* + + Then Ctlr+D to save the file and "chmod +x ~/bin/proxy-wrapper" + + Note: if netcat is not installed, please "sudo zypper install netcat-openbsd". + +I-3.2 set git proxy environment + add the following line to your ~/.bashrc and "source ~/.bashrc" + + export GIT_PROXY_COMMAND="/somepath/bin/proxy-wrapper" + + Please be noted that it should be absolute path, since "~" is not supported. + +I-4. using svn through a http_proxy(If you're behind some firewall) + Modify the ~/.subversion/servers + + http-proxy-host = proxy.jf.intel.com + http-proxy-port = 911 + +I-5. Get the scripts from eclipse-poky git + git clone git://git.pokylinux.org/eclipse-poky.git + + The scripts used for auto builder is under the directory of "scripts". + + +Part II: Setup the build environment +II-1. Modify the scripts/setup.sh to set appropriate proxy settings. + Set PROXY to a http proxy URL and PORT to the port number. Comment out + these 2 variables if proxy is not required. + +II-2. Run scripts/setup.sh to set up the build environment. + This will install the eclipse and relevant plugins required to build + Yocto eclipse plug-in. + +Part III: Build & Install Yocto Eclipse plug-in + +To build the Yocto Eclipse plug-in, simply run +"ECLIPSE_HOME= scripts/build.sh ". + +The is the absolute path where you installed the +eclipse in step II-2. + +The is the git branch name you build based on. + +If successful, 2 files org.yocto.sdk--.zip and +org.yocto.sdk.---archive.zip will be genereated under the +directory where you invoked the "build.sh" script. + +The file with the "-archive" in its name is the archive zip used for eclipse +update manager. User should use eclipse update manager to install it. + +The file without the "-archive" in its name is the zip containing only the +plugins/features. User should unzip it to the their target eclipse to install it. diff --git a/scripts/setup.sh b/scripts/setup.sh new file mode 100755 index 0000000..4e08ea2 --- /dev/null +++ b/scripts/setup.sh @@ -0,0 +1,226 @@ +#!/bin/sh + +#setup eclipse building environment for Indigo. +#comment out the following line if you want to using your own http proxy setting for eclipse update site +#PROXY=http://proxy.jf.intel.com:911 + +err_exit() +{ + echo "[FAILED $1]$2" + exit $1 +} + +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 + ;; + Linuxi*86) ep_arch=linux-gtk + cdt_arch=linux.x86 + ;; + *) + echo "Unknown ${uname_s}${uname_m}" + exit 1 + ;; +esac + +#parsing proxy URLS +url=${PROXY} +if [ "x$url" != "x" ]; then + proto=`echo $url | grep :// | sed -e 's,^\(.*://\).*,\1,g'` + url=`echo $url | sed s,$proto,,g` + userpass=`echo $url | grep @ | cut -d@ -f1` + user=`echo $userpass | cut -d: -f1` + pass=`echo $userpass | grep : | cut -d: -f2` + url=`echo $url | sed s,$userpass@,,g` + host=`echo $url | cut -d: -f1` + port=`echo $url | cut -d: -f2 | sed -e 's,[^0-9],,g'` + [ "x$host" = "x" ] && err_exit 1 "Undefined proxy host" + PROXY_PARAM="-Dhttp.proxySet=true -Dhttp.proxyHost=$host" + [ "x$port" != "x" ] && PROXY_PARAM="${PROXY_PARAM} -Dhttp.proxyPort=$port" +fi + + +# prepare the base Eclipse installation in folder "eclipse" +ep_rel="R-" +ep_ver="4.2.2" +ep_date="-201302041200" +P2_disabled=false +P2_no_dropins=false +if [ ! -f eclipse/plugins/org.eclipse.swt_3.100.0.v4233d.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/drops4/${ep_rel}${ep_ver}${ep_date}/eclipse-SDK-${ep_ver}-${ep_arch}.tar.gz" + # The eclipse site has moments where it is overloaded. Maintaining our own mirror solves this. + #wget "http://downloads.yoctoproject.org/eclipse/downloads/drops4/${ep_rel}${ep_ver}${ep_date}/eclipse-SDK-${ep_ver}-${ep_arch}.tar.gz" + tar xfz eclipse-SDK-${ep_ver}-${ep_arch}.tar.gz || err_exit $? "extracting Eclipse SDK failed" + 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 [ "x${LAUNCHER}" != "x" ]; then + echo "eclipse LAUNCHER=${LAUNCHER}" + ln -s plugins/${LAUNCHER} ../startup.jar + else + echo "Eclipse: NO startup.jar LAUNCHER FOUND!" + fi + cd ${curdir2} +fi + +LAUNCHER="eclipse/startup.jar" + +get_version() +{ +#$1: repository_url +#$2: featureId +#$3: 'all' or 'max' or 'min', 'max' if not specified + local remote_vers="`java ${PROXY_PARAM} \ + -jar ${LAUNCHER} \ + -application org.eclipse.equinox.p2.director \ + -destination ${curdir}/eclipse \ + -profile SDKProfile \ + -repository $1 \ + -list $2\ + | awk 'BEGIN { FS="=" } { print $2 }'`" + + #find larget remote vers + local remote_ver="`echo ${remote_vers} | cut -d ' ' -f1`" + case $3 in + all) + remote_ver=${remote_vers} + ;; + min) + for i in ${remote_vers}; do + [ "${remote_ver}" \> "$i" ] && remote_ver="$i" + done + ;; + *) + for i in ${remote_vers}; do + [ "${remote_ver}" \< "$i" ] && remote_ver="$i" + done + ;; + esac + + echo ${remote_ver} +} + +check_local_version() +{ +# $1 unitId +# $2 min version +# $3 max version (optional) + version="`get_version file:///${curdir}/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile $1`" + [ "$version" \< "$2" ] && return 1 + if [ "x$3" != "x" ]; then + [ "$version" \> "$3" ] && return -1 + fi + return 0 +} + +update_feature_remote() +{ +# install a feature of with version requirement [min, max) +#$1: reporsitory url +#$2: featureId +#$3: min version +#$4: max version(optional) + [ $# -lt 3 ] && err_exit 1 "update_feature_remote: invalid parameters, $*" + check_local_version $2 $3 $4 && echo "skip installed feature $2" && return 0 + local installIU="" + if [ "x$4" != "x" ]; then + #has max version requirement + for i in "`get_version $1 $2 'all'`"; do + if [ "$i" \> "$3" ] || [ "$i" = "$3" ] && [ "$i" \< "$4" ]; then + [ "$i" \> "$installIU" ] && installIU=$i + fi + done + else + #only has minimum version requirement + local max_remote_ver="`get_version $1 $2 'max'`" + [ "$max_remote_ver" \> "$3" ] || [ "$max_remote_ver" = "$3" ] && installIU=$max_remote_ver + fi + + [ "x$installIU" = "x" ] && err_exit 1 "Can NOT find candidates of $2 version($3, $4) at $1!" + installIU="$2/$installIU" + echo "try to install $installIU ..." + java ${PROXY_PARAM} -jar ${LAUNCHER} \ + -application org.eclipse.equinox.p2.director \ + -destination ${curdir}/eclipse \ + -profile SDKProfile \ + -repository $1 \ + -installIU ${installIU} || err_exit $? "installing ${installIU} failed" +} + +#Eclipse Update Site +MAIN_UPDATE_SITE="http://download.eclipse.org/releases/juno" +# The main eclipse download site is unreliable at times. For now, we're going to +# maintain a mirror of just what we need. +#MAIN_UPDATE_SITE="http://downloads.yoctoproject.org/eclipse/juno/ftp.osuosl.org/pub/eclipse/releases/juno" + +UPDATE_SITE="${MAIN_UPDATE_SITE}" + +#CDT related +CDTFEAT="8.1.0" +echo "Installing CDT..." +update_feature_remote ${UPDATE_SITE} org.eclipse.cdt.sdk.feature.group ${CDTFEAT} +CDTREMOTEVER="6.0.0" +update_feature_remote ${UPDATE_SITE} org.eclipse.cdt.launch.remote.feature.group ${CDTREMOTEVER} + +#RSE SDK +RSEVER="3.4.0" +TCFVER="1.0.0" +TMVER="3.3.0" +echo "Installing RSE/TCF/TM related component..." +update_feature_remote ${UPDATE_SITE} org.eclipse.rse.feature.group ${RSEVER} +update_feature_remote ${UPDATE_SITE} org.eclipse.tcf.rse.feature.feature.group ${TCFVER} +update_feature_remote ${UPDATE_SITE} org.eclipse.tm.terminal.sdk.feature.group ${TMVER} + +#AUTOTOOL +ATVER="3.0.1" +echo "Install AutoTool..." +update_feature_remote ${UPDATE_SITE} org.eclipse.cdt.autotools.feature.group ${ATVER} + +#Lttng legacy +TMFREL="1.0.0" +echo "Install TMF..." +update_feature_remote ${UPDATE_SITE} org.eclipse.linuxtools.tmf.feature.group ${TMFREL} + +#LTTng Kernel Analysis +LTTNGKAVER="1.0.0" +update_feature_remote ${UPDATE_SITE} org.eclipse.linuxtools.lttng2.kernel.feature.group ${LTTNGKAVER} + +echo "" +echo "Your build environment is successfully created." +echo "Run ECLIPSE_HOME=${curdir}/eclipse `dirname $0`/build.sh to build" +echo "" + +exit 0 -- cgit v1.2.3-54-g00ecf