Skip to content

Instantly share code, notes, and snippets.

@tobias-johansson
Forked from maciej/init-scala.sh
Last active August 29, 2015 14:13
Show Gist options
  • Save tobias-johansson/b01e9eaa56dd002ecfb5 to your computer and use it in GitHub Desktop.
Save tobias-johansson/b01e9eaa56dd002ecfb5 to your computer and use it in GitHub Desktop.
#!/bin/bash
PROJECT_NAME="$1"
SCALA_VERSION="2.11.4"
SCALATEST_VERSION="2.2.1"
shift
SBT_COMMANDS="$@"
# ==== Dirs ====
mkdir $PROJECT_NAME
cd $PROJECT_NAME
mkdir -p "src/main/scala"
mkdir -p "src/main/resources"
mkdir -p "src/test/scala"
mkdir -p "src/test/resources"
# ==== Main ====
cat > src/main/scala/Main.scala << EOF
object Main extends App {
println("Running $PROJECT_NAME")
}
EOF
# ==== sbt ====
cat > build.sbt << EOF
name := "$PROJECT_NAME"
version := "1.0"
scalaVersion := "$SCALA_VERSION"
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "$SCALATEST_VERSION" % "test"
)
EOF
# ==== git ====
cat > .gitignore << EOF
target/
.DS_Store
.idea
.idea_modules
EOF
git init
git add .gitignore
git add build.sbt
git commit -m 'Project setup'
# ==== Extra ====
if [[ ! -z "$SBT_COMMANDS" ]]; then
exec sbt "$SBT_COMMANDS"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment