eclipse/get-eclipse.sh
2013-06-10 14:58:11 +02:00

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=84cba7bf43da88dc3f33bc113104eb680f12aa2d
#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