#!/bin/sh

ANT_OPTS='-Xmx512m -XX:MaxPermSize=128m'
export ANT_OPTS

desired_modules=`ant -f nbbuild/build.xml -Dcluster.config=experimental print-cvs-modules | perl -ne 'print sort qw(jemmy jellytools testtools xtest), split /[, ]/, $1 if /cvsmodules=\[(.+)\]/'`
current_modules=`perl -e 'opendir D, "."; print sort grep {!/\.\.?/ && -d} readdir D; closedir D'`
if [ "$desired_modules" \!= "$current_modules" ]
then
    echo "Set of modules changed, getting fresh checkout..."
    echo "(desired modules: $desired_modules; current modules: $current_modules)"
    rm -rf `ls | fgrep -v nbbuild`
    ant -f nbbuild/build.xml -Dcluster.config=experimental checkout cvs-clean || exit
elif [ builds/`ls -1 ../builds | tail -2 | head -1` '!=' `readlink ../lastSuccessful` ]
then
    echo "Previous build failed, running clean build this time..."
    ant -f nbbuild/build.xml cvs-clean || exit
fi

for www in */www ; do
    if [ \! -f $www/.IGNOREME ] ; then
        rm -rf $www
        cp -r nbbuild/dummy $www
    fi
done

mydir=`cd $(dirname $0); pwd`
keystore=$mydir/NBstore
storepass=`cat $mydir/storepass`
ant -emacs -Dbuildnum=$BUILD_TAG -Dcluster.config=experimental -Dmoduleconfig=daily-alpha-nbms -Dkeystore=$keystore -Dstorepass=$storepass -f nbbuild/build.xml build-nozip build-nbms || exit
ant -f core/test/build.xml -Dxtest.attribs=commit cleanresults runtests || exit
ant -f nbbuild/build.xml -Dtest.dir=`pwd`/core/test commit-validation-junit-format || exit
ant -f $mydir/build-update-descriptor.xml || exit
ant -f nbbuild/build.xml -Djnlp.codebase=http://deadlock.netbeans.org/hudson/job/javadoc-nbms/lastSuccessfulBuild/artifact/nbbuild/build/jnlp/ -Djnlp.signjar.keystore=$keystore -Djnlp.signjar.alias=nb_ide -Djnlp.signjar.password=$storepass build-jnlp || exit
ant -f nbbuild/build.xml index-layer-paths
ant -f nbbuild/build.xml clean-untracked-files
