A minimal project template to start programming with Scala
Shell Scala
Switch branches/tags
Latest commit 5b6a6e3 Nov 15, 2013 @xerial xerial Update Build.scala
Permalink
Failed to load latest commit information.
.lib/0.13.0 Upgrade to sbt-0.13 Aug 28, 2013
project Update Build.scala Nov 15, 2013
src
.gitignore Upgrade to latest version of Scala and sbt. Ensure .sbt/tmp dir is ex… Jul 23, 2013
README.md fix doc Aug 28, 2013
sbt Upgrade to sbt-0.13 Aug 28, 2013
version.sbt Update doc Aug 28, 2013

README.md

scala-min

A minimal project template to start programming with Scala.

Contents

scala-min project includes:

  • Sample Scala codes for Scala 2.10.2 with sbt-0.13.0
  • ScalaTest examples (writing specs, logging, tagging tests, measuring code performances, etc.)
  • Pre-configured settings for developing with IntelliJ IDEA
  • A command for packaging projects with sbt-pack plugin.
    • sbt-pack also generates installation scripts of you programs.

Usage

Download tar.gz archive or .zip of this project, then extract the contents.

Alternatively, you can run the following commands to extract the scala-min project:

$ mkdir myproject
$ cd myproject
$ curl -L https://github.com/xerial/scala-min/archive/master.tar.gz | tar xvz --strip-components=1

Run tests

$ ./sbt test

Run tests when updates of the source codes are detected

$ ./sbt "~test"

Run specific tests matching a pattern

$ ./sbt "~test-only *HelloTest"

Run tagged test only

$ ./sbt "~test-only *HelloTest -- -n test1"

Create a runnable package

$ ./sbt pack
$ target/pack/bin/hello
Hello World!!

Install your program

$ ./sbt pack
$ cd target/pack; make install
$ ~/local/bin/hello
Hello World!!

Create tar.gz archive of your program

$ ./sbt pack-archive
(myproject-0.1.tar.gz will be created)

Create IntelliJ project files

$ ./sbt gen-idea

Then, open this project folder in IntelliJ.

Add dependent libraries

Edit project/Build.scala, then add libraries to libraryDependences variable.

Customize

Rename the project name defined in project/Build.scala as you like.

Examples using scala-min