Skip to content

Instantly share code, notes, and snippets.

@mateialexandru
Last active August 29, 2015 14:20
Show Gist options
  • Save mateialexandru/e0591c342781a17182dd to your computer and use it in GitHub Desktop.
Save mateialexandru/e0591c342781a17182dd to your computer and use it in GitHub Desktop.
Bootstrap sbt with Ensime
#!/bin/bash
PROJECT_NAME="$1"
SCALA_VERSION="2.11.5"
SCALATEST_VERSION="2.2.1"
mkdir $PROJECT_NAME
cd $PROJECT_NAME
cat > build.sbt << EOF
name := "$PROJECT_NAME"
version := "1.0"
scalaVersion := "$SCALA_VERSION"
libraryDependencies += "org.scalatest" %% "scalatest" % "$SCALATEST_VERSION" % "test"
EOF
mkdir -p "src/main/scala"
mkdir -p "src/main/resources"
mkdir -p "src/test/scala"
mkdir -p "src/test/resources"
cat > .gitignore << EOF
### SBT ###
target/
lib_managed/
src_managed/
project/boot/
.history
.cache
### Ensime ###
# Ensime specific
.ensime
.ensime_cache/
.ensime_lucene/
EOF
cat > src/main/scala/Main.scala << EOF
package com.alexandrumatei.$PROJECT_NAME
object Main extends App{
println("Bootstraped $PROJECT_NAME !")
}
EOF
git init
git add .gitignore
git add build.sbt
git add src/main/scala/Main.scala
git commit -m 'Bootstrap sbt project'
# You need to have the ensime plugin in the global SBT's plugins/build.sbt
sbt update compile gen-ensime
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment