Skip to content

Instantly share code, notes, and snippets.

@stantonk
Created December 8, 2013 05:35
Show Gist options
  • Save stantonk/7853736 to your computer and use it in GitHub Desktop.
Save stantonk/7853736 to your computer and use it in GitHub Desktop.
bootstrap scala projects with sbt..learning some other bash crap, etc.
#!/usr/bin/env bash
# build.sbt template
SBT_TMPL="/tmp/build.sbt.template"
cat << 'EOF' > $SBT_TMPL
name := "%name%"
version := "%version%"
scalaVersion := "%scalaversion%"
//libraryDependencies ++= Seq(
// "mysql" % "mysql-connector-java" % "5.1.26",
// "org.jdbi" % "jdbi" % "2.51")
EOF
# args handling
PROJ_NAME="$1"
PROJ_VERSION="0.0.1"
SCALA_VERSION="2.10.2"
TYPE="sbt"
if [ -z "$1" ]
then
echo "usage: $0 project-name"
exit 1
fi
# setup directory structure
mkdir -p "./$PROJ_NAME/src/main/java"
mkdir -p "./$PROJ_NAME/src/main/scala"
mkdir -p "./$PROJ_NAME/src/main/resources"
mkdir -p "./$PROJ_NAME/src/test/java"
mkdir -p "./$PROJ_NAME/src/test/scala"
mkdir -p "./$PROJ_NAME/src/test/resources"
# create build file
if [ $TYPE = "sbt" ]
then
sed -e "s;%name%;$PROJ_NAME;" -e "s;%version%;$PROJ_VERSION;" -e "s;%scalaversion%;$SCALA_VERSION;" $SBT_TMPL > ./$PROJ_NAME/build.sbt
elif [ $TYPE = "mvn" ]
then
#TODO: make good default pom
touch $PROJ_NAME/pom.xml
fi
# cleanup
rm /tmp/build.sbt.template
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment