#!/bin/sh
set -e

NAME=eclipse-mylyn
VERSION=3.12.0
DEB_VERSION=${VERSION}

MYLYN_GIT_WEB=http://git.eclipse.org/c/mylyn/

MYLYN_MODULES="org.eclipse.mylyn
org.eclipse.mylyn.builds
org.eclipse.mylyn.commons
org.eclipse.mylyn.context
org.eclipse.mylyn.docs
org.eclipse.mylyn.reviews
org.eclipse.mylyn.tasks
org.eclipse.mylyn.versions"

TMP_DIR=`mktemp -d`
WORK_DIR=$PWD

VERSION_UNDERSCORE=$(echo $VERSION | sed "s/\./_/g")

downloadSnapshot() {
	MODULE_NAME=$1

	MODULE_DIR=$MODULE_NAME-R_$VERSION_UNDERSCORE
	TARBALL=$MODULE_DIR.tar.bz2
	wget "$MYLYN_GIT_WEB/$1.git/snapshot/$TARBALL"
	tar xf $TARBALL
	rm -f $TARBALL
	mv $MODULE_DIR $MODULE_NAME
}

unzipTestProject() {
	PROJECT_NAME="$1"
	mkdir $PROJECT_NAME
	unzip $PROJECT_NAME.zip -d $PROJECT_NAME
	rm -rf $PROJECT_NAME/bin $PROJECT_NAME.zip
	find $PROJECT_NAME -type d -name CVS | xargs rm -r
	find $PROJECT_NAME -type f -name .cvsignore -delete
}

cd "$TMP_DIR"

downloadSnapshot org.eclipse.mylyn.all
cd org.eclipse.mylyn.all
rm *.sh
rm .gitmodules
rm .gitignore

for MODULE in $MYLYN_MODULES; do
	rmdir $MODULE
	downloadSnapshot $MODULE
done

find -type f -name .gitignore -delete
rm -f org.eclipse.mylyn.builds/org.eclipse.mylyn.hudson.tests/testdata/org.eclipse.mylyn.builds.sample.ant/junit.jar
rm -f org.eclipse.mylyn.commons/org.eclipse.mylyn.commons.sdk.util/testdata/keystore
rm -rf org.eclipse.mylyn.commons/org.eclipse.mylyn.discovery.ui/lib-e3.*
rm -rf org.eclipse.mylyn.docs/org.eclipse.mylyn.htmltext.ui/ckeditor
rm -f org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.help/docs/source/Illustrations.key
rm -rf org.eclipse.mylyn.docs/org.eclipse.mylyn.docs.epub.help/docs/source
rm -rf org.eclipse.mylyn.docs/org.eclipse.mylyn.wikitext.mediawiki.core/lib

# Remove precompiled classes and CVS data from test archives, keep them uncompressed
# for easier handling in version control.
cd org.eclipse.mylyn.context/org.eclipse.mylyn.context.sdk.java/testdata/projects
unzipTestProject project1
unzipTestProject project2
cd ../../../..
cd org.eclipse.mylyn.context/org.eclipse.mylyn.java.tests/testdata/projects
unzipTestProject project1
unzipTestProject project2
cd ../../../..

cd ..
mv org.eclipse.mylyn.all $NAME-$VERSION

echo "Creating tarball '${NAME}_${DEB_VERSION}.orig.tar.xz'..."
tar -cJf "$WORK_DIR/../${NAME}_${DEB_VERSION}.orig.tar.xz" $NAME-$VERSION

rm -rf $TMP_DIR
