##SBT构建构建工具
最近开始学习 Scala 同时也开始尝试写博客, 写一些随笔.
###项目目录
###build.sbt 文件
lazy val buildSettings = Seq(
)
lazy val publishSettings = Seq(
)
// commonSettings
lazy val commonSettings = buildSettings ++ publishSettings
###Build.scala
import sbt._
import Keys._
object Build extends Build {
import BuildSettings._
// import Dependencies._
override lazy val settings = super.settings :+ {
shellPrompt := { s => Project.extract(s).currentProject.id + " > " }
}
lazy val root = Project("root", file("."))
.settings(basicSettings: _*)
.settings(noPublishing: _*)
.settings(libraryDependencies ++= Dependencies.foundation)
}
###BuildSetting.scala
import sbt._
import Keys._
object BuildSettings {
val Version = "1.0"
lazy val basicSettings = Seq(
name := "scala_demo",
version := Version,
homepage := Some(new URL("http://xxx.com.cn")),
organizationName := "xxx",
organization := "Copyright © 2016 xxx.COM.CN All Rights Reserved",
description := "Description for project",
scalaVersion := "2.11.8",
initialize := {
val version = sys.props("java.specification.version")
assert(
Integer.parseInt(version.split("\\.")(1)) >= 8,
"Java 8 or above required, found " + version
)
}
)
lazy val noPublishing = Seq(
publish := (),
publishLocal := (),
publishTo := None
)
}
###Dependencies
import sbt._
object Dependencies {
private val sprayVersion = "1.3.3"
private val specsVersion = "3.8.5"
def foundation = Seq(
"io.spray" %% "spray-can" % sprayVersion,
"org.specs2" %% "specs2-core" % specsVersion % Test
)
}