eclipse/get-eclipse.sh

53 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
AGGREGATOR_PATH=git://git.eclipse.org/gitroot/platform/eclipse.platform.releng.aggregator.git
TAG=2caa8794a57a9479ad642d7f6e3607a020aa36e0
#source http://www.linuxjournal.com/content/normalizing-path-names-bash
function normalize()
{
# Remove all /./ sequences.
path=${1//\/.\//\/}
# Remove dir/.. sequences.
while [[ $path =~ ([^/][^/]*/\.\./) ]]
do
path=${path/${BASH_REMATCH[0]}/}
done
}
rm -rf R4_platform-aggregator-$TAG
rm -rf R4_platform-aggregator-$TAG.tar.bz2
git clone --single-branch --depth 1 $AGGREGATOR_PATH R4_platform-aggregator-$TAG
pushd R4_platform-aggregator-$TAG
git submodule init
for i in $(git submodule | sed -e 's/.* //'); do
spath=$(git config -f .gitmodules --get submodule.$i.path)
surl=git://git.eclipse.org/gitroot/platform/eclipse.platform.releng.aggregator.git/`git config -f .gitmodules --get submodule.$i.url`
normalize $surl
git clone --depth 1 $path $spath
done
echo "Check out done"
#comment this line to get a shallow clone.
find . -type d -name ".git" | xargs rm rm -rf
find . -type f -name *.class -exec rm -rf {} \;
find . -name *.jar -type f -exec rm -rf {} \;
find . -type f -name *.so -exec rm -rf {} \;
find . -type f -name *.dll -exec rm -rf {} \;
find . -type f -name *.jnilib -exec rm -rf {} \;
popd
tar cjf R4_platform-aggregator-$TAG.tar.bz2 R4_platform-aggregator-$TAG