sbt/bin/sbt-setup

106 lines
2.0 KiB
Plaintext
Raw Normal View History

2011-04-03 03:08:04 +02:00
#!/usr/bin/env bash
#
2011-05-15 18:50:14 +02:00
function programDir () {
SDIR=$(dirname "$1");
echo $(cd $SDIR ; pwd -P)
}
if [ -h "$0" ]; then
BINDIR=$(programDir $(greadlink "$0"))
else
BINDIR=$(programDir "$0")
fi
2011-04-03 03:08:04 +02:00
. $BINDIR/util.sh
BASE=$(abspath $BINDIR/..)
2011-04-03 03:08:04 +02:00
declare -a args
TEMPLATE="simple"
SCALA_VERSION="2.9.1"
PROJECT_VERSION="0.1"
2011-04-03 03:45:23 +02:00
DO_GITHUB=
2011-04-03 03:08:04 +02:00
while [ $# -gt 0 ]; do
case "$1" in
--simple)
TEMPLATE="simple"
shift
;;
--fancy)
TEMPLATE="fancy"
shift
;;
--version)
shift
PROJECT_VERSION="$1"
shift
;;
2011-04-03 03:45:23 +02:00
--github)
shift
DO_GITHUB="true"
;;
2011-04-03 03:08:04 +02:00
--28)
SCALA_VERSION="2.8.1"
shift
;;
--29)
2011-05-15 18:50:14 +02:00
SCALA_VERSION="2.9.0"
2011-04-03 03:08:04 +02:00
shift
;;
*)
args=("${args[@]}" "$1")
shift
;;
esac
done
# reset "$@" to the remaining args
set -- "${args[@]}"
if [[ $# -ne 1 ]]; then
cat <<EOM
Usage: $(basename $0) [options] <project> [dependencies]
2011-04-03 03:45:23 +02:00
--hub create github project (requires hub and more)
2011-04-03 03:08:04 +02:00
--simple use simple project template
--fancy use multi-file project template
--28 latest release of scala 2.8.x
--29 latest release of scala 2.9.x
--version <version> project initial version
EOM
exit 1
fi
2011-04-03 03:08:04 +02:00
if [ -z "$1" ]; then
echo "Usage: $0 <project name>"
exit 1
fi
2011-04-03 03:08:04 +02:00
PROJECT="$1"
PACKAGE=${ORGANIZATION:-template}
2011-05-15 18:50:14 +02:00
SBT_VERSION="0.7.7"
DIR=$(echo ${PROJECT} | tr '[A-Z]' '[a-z]')
2011-04-03 03:08:04 +02:00
PROJECT_CC=`camelCase ${PROJECT}`
PROJECT_CLASS=${PROJECT_CC}Project
SPEC_CLASS=${PROJECT_CC}Spec
2011-04-03 03:08:04 +02:00
[[ -e $DIR ]] && { echo "$DIR exists, please remove it first." ; exit 1; }
2011-04-03 03:08:04 +02:00
mkdir -p $DIR
cd $DIR
echo "Creating \"${PACKAGE} % ${PROJECT} % ${PROJECT_VERSION}\" from template \"$TEMPLATE\"."
echo "Building against scala $SCALA_VERSION with sbt $SBT_VERSION."
echo "Repository in ${PWD} ."
echo
2011-08-14 18:05:01 +02:00
mkdir -p project src/main/scala src/main/java src/test/scala src/test/java
createGitRepo
2011-04-03 03:08:04 +02:00
sbt update package test
echo ""
echo "Ready to roll in $PWD"