Skip to content

Instantly share code, notes, and snippets.

@devcdcc
Last active December 6, 2017 09:25
Show Gist options
  • Save devcdcc/1bb5b528840e98c0b530e51688861281 to your computer and use it in GitHub Desktop.
Save devcdcc/1bb5b528840e98c0b530e51688861281 to your computer and use it in GitHub Desktop.
An bash script, sbt project structure creator
#!/bin/sh
# to run just need to excecute
#./mkdirSbt nameOfProject nameOfDefaultPackage
#The las paramater can be empty
#Modified from this example, but i fixed some issues than didn't work in my computer.
#https://alvinalexander.com/scala/how-to-create-sbt-project-directory-structure-scala
if ! [ -z "$1" ]
then
mkdir $1
cd $1
NAME=$1
else
NAME="root"
fi
mkdir -p ./src/main/java/org/niababel/$2
mkdir -p ./src/main/scala/org/niababel/$2
mkdir -p ./src/main/resources
mkdir -p ./src/test/java/org/niababel/$2
mkdir -p ./src/test/scala/org/niababel/$2
#mkdir -p ./src/{main,test}/{java,resources,scala/org/niababel/$2}
mkdir lib project target
# create an initial build.sbt file
ORGANIZATION='organization := "org.niababel'
if ! [ -z "$2" ]
then
ORGANIZATION=$ORGANIZATION'.'$2
fi
echo '
lazy val commonSettings = Seq(
'$ORGANIZATION'",
scalaVersion := "2.12.4"
)
lazy val '$NAME' = (project in file(".")).
settings(commonSettings: _*).settings(
name := "'$NAME'",
version := "0.0.1"
)
' > build.sbt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment