mirror of https://github.com/sbt/sbt.git
106 lines
2.0 KiB
Bash
Executable File
106 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
|
|
function programDir () {
|
|
SDIR=$(dirname "$1");
|
|
echo $(cd $SDIR ; pwd -P)
|
|
}
|
|
|
|
if [ -h "$0" ]; then
|
|
BINDIR=$(programDir $(greadlink "$0"))
|
|
else
|
|
BINDIR=$(programDir "$0")
|
|
fi
|
|
|
|
. $BINDIR/util.sh
|
|
BASE=$(abspath $BINDIR/..)
|
|
|
|
declare -a args
|
|
TEMPLATE="simple"
|
|
SCALA_VERSION="2.9.1"
|
|
PROJECT_VERSION="0.1"
|
|
DO_GITHUB=
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case "$1" in
|
|
--simple)
|
|
TEMPLATE="simple"
|
|
shift
|
|
;;
|
|
--fancy)
|
|
TEMPLATE="fancy"
|
|
shift
|
|
;;
|
|
--version)
|
|
shift
|
|
PROJECT_VERSION="$1"
|
|
shift
|
|
;;
|
|
--github)
|
|
shift
|
|
DO_GITHUB="true"
|
|
;;
|
|
--28)
|
|
SCALA_VERSION="2.8.1"
|
|
shift
|
|
;;
|
|
--29)
|
|
SCALA_VERSION="2.9.0"
|
|
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]
|
|
|
|
--hub create github project (requires hub and more)
|
|
--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
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: $0 <project name>"
|
|
exit 1
|
|
fi
|
|
|
|
PROJECT="$1"
|
|
PACKAGE=${ORGANIZATION:-template}
|
|
SBT_VERSION="0.7.7"
|
|
DIR=$(echo ${PROJECT} | tr '[A-Z]' '[a-z]')
|
|
PROJECT_CC=`camelCase ${PROJECT}`
|
|
PROJECT_CLASS=${PROJECT_CC}Project
|
|
SPEC_CLASS=${PROJECT_CC}Spec
|
|
|
|
[[ -e $DIR ]] && { echo "$DIR exists, please remove it first." ; exit 1; }
|
|
|
|
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
|
|
|
|
mkdir -p project src/main/scala src/main/java src/test/scala src/test/java
|
|
|
|
createGitRepo
|
|
sbt update package test
|
|
|
|
echo ""
|
|
echo "Ready to roll in $PWD"
|