Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

- Update to SBT 0.12.0-M1

- Pull in changes for liftDefaultSettings cleanup
- Separate place-holder for Developer info
- Improve cross build handling
- Re-enable 2.8.2 build
  • Loading branch information...
commit 9a783973aa09784c345522aa1ccb8658a7f09a5f 1 parent 9e27e1c
@indrajitr indrajitr authored
View
43 build.sbt
@@ -1,19 +1,32 @@
import Dependencies._
+organization in ThisBuild := "net.liftweb"
+
version in ThisBuild := "2.5-SNAPSHOT"
-crossScalaVersions in ThisBuild := Seq("2.9.1", "2.9.0-1", "2.9.0", /*"2.8.2", */"2.8.1", "2.8.0")
-
-libraryDependencies in ThisBuild <++= scalaVersion { sv => Seq(/*specs2, */specs(sv), scalacheck(sv)) }
-
-pomExtra in ThisBuild ~= { _ ++ (
- <scm>
- <url>http://github.com/lift/framework</url>
- <connection>scm:git:git@github.com:lift/framework.git</connection>
- </scm>
- <developers>
- <developer>
- <id>indrajitr</id>
- <name>Indrajit Raychaudhuri</name>
- </developer>
- </developers>)}
+homepage in ThisBuild := Some(url("http://www.liftweb.net"))
+
+licenses in ThisBuild += ("Apache License, Version 2.0", url("http://www.apache.org/licenses/LICENSE-2.0.txt"))
+
+startYear in ThisBuild := Some(2006)
+
+organizationName in ThisBuild := "WorldWide Conferencing, LLC"
+
+crossScalaVersions in ThisBuild := Seq("2.9.1", "2.9.0-1", "2.9.0", "2.8.2", "2.8.1", "2.8.0")
+
+libraryDependencies in ThisBuild <++= scalaVersion { sv => Seq(specs, scalacheck).map(_(sv)) }
+
+// Settings for Sonatype compliance
+pomIncludeRepository in ThisBuild := { _ => false }
+
+publishTo in ThisBuild <<= isSnapshot(if (_) Some(PublishRepo.Snapshot) else Some(PublishRepo.Staging))
+
+// TODO: Enable after SBT 0.12.0-M2
+//scmInfo in ThisBuild := Some(ScmInfo(url("https://github.com/lift/framework"), "scm:git:https://github.com/lift/framework.git"))
+//
+//pomExtra in ThisBuild ~= (_ ++ {Developers.toXml})
+
+pomExtra in ThisBuild ~= (_ ++ <scm>
+ <url>http://github.com/lift/framework</url>
+ <connection>scm:git:https://github.com/lift/framework.git</connection>
+ </scm> ++ {Developers.toXml})
View
150 project/Build.scala
@@ -14,10 +14,9 @@
* limitations under the License.
*/
-import java.util.{Calendar => Cal}
import sbt._
import Keys._
-import net.liftweb.sbt._
+import net.liftweb.sbt.LiftBuildPlugin._
import Dependencies._
@@ -28,7 +27,9 @@ object BuildDef extends Build {
lazy val framework =
liftProject("lift-framework", file("."))
.aggregate(liftProjects: _*)
- .settings(publishArtifact := false)
+ .settings(aggregatedSetting(sources in(Compile, doc)),
+ aggregatedSetting(dependencyClasspath in(Compile, doc)),
+ publishArtifact := false)
// Core Projects
// -------------
@@ -37,43 +38,37 @@ object BuildDef extends Build {
lazy val common =
coreProject("common")
- .settings(
- description := "Common Libraties and Utilities",
- libraryDependencies ++= Seq(slf4j_api, logback, slf4j_log4j12, commons_codec))
+ .settings(description := "Common Libraties and Utilities",
+ libraryDependencies ++= Seq(slf4j_api, logback, slf4j_log4j12, commons_codec))
lazy val actor =
coreProject("actor")
- .dependsOn(common)
- .settings(
- description := "Simple Actor")
+ .dependsOn(common)
+ .settings(description := "Simple Actor")
lazy val json =
coreProject("json")
- .settings(
- description := "JSON Library",
- libraryDependencies <++= scalaVersion { sv => Seq(scalap(sv), paranamer) })
+ .settings(description := "JSON Library",
+ libraryDependencies <++= scalaVersion { sv => Seq(scalap(sv), paranamer) })
lazy val json_scalaz =
coreProject("json-scalaz")
- .dependsOn(json)
- .settings(
- description := "JSON Library based on Scalaz",
- libraryDependencies <+= scalaVersion(scalaz))
+ .dependsOn(json)
+ .settings(description := "JSON Library based on Scalaz",
+ libraryDependencies <+= scalaVersion(scalaz))
lazy val json_ext =
coreProject("json-ext")
- .dependsOn(common, json)
- .settings(
- description := "Extentions to JSON Library",
- libraryDependencies ++= Seq(commons_codec, joda_time))
+ .dependsOn(common, json)
+ .settings(description := "Extentions to JSON Library",
+ libraryDependencies ++= Seq(commons_codec, joda_time))
lazy val util =
coreProject("util")
- .dependsOn(actor, json)
- .settings(
- description := "Utilities Library",
- parallelExecution in Test := false,
- libraryDependencies ++= Seq(joda_time, commons_codec, javamail, log4j, htmlparser))
+ .dependsOn(actor, json)
+ .settings(description := "Utilities Library",
+ parallelExecution in Test := false,
+ libraryDependencies ++= Seq(joda_time, commons_codec, javamail, log4j, htmlparser))
// Web Projects
@@ -83,30 +78,26 @@ object BuildDef extends Build {
lazy val testkit =
webProject("testkit")
- .dependsOn(util)
- .settings(
- description := "Testkit for Webkit Library",
- libraryDependencies ++= Seq(commons_httpclient, servlet_api))
+ .dependsOn(util)
+ .settings(description := "Testkit for Webkit Library",
+ libraryDependencies ++= Seq(commons_httpclient, servlet_api))
lazy val webkit =
webProject("webkit")
- .dependsOn(util, testkit % "provided")
- .settings(
- description := "Webkit Library",
- packageOptions in packageBin += Package.ManifestAttributes("Build-Time" -> Cal.getInstance.getTimeInMillis.toString),
- parallelExecution in Test := false,
- libraryDependencies <++= scalaVersion { sv =>
- Seq(commons_fileupload, servlet_api, specs(sv).copy(configurations = Some("provided")), jetty6, jwebunit)
- },
- initialize in Test <<= (sourceDirectory in Test) { src =>
- System.setProperty("net.liftweb.webapptest.src.test.webapp", (src / "webapp").absString)
- })
-
- lazy val wizard =
+ .dependsOn(util, testkit % "provided")
+ .settings(description := "Webkit Library",
+ parallelExecution in Test := false,
+ libraryDependencies <++= scalaVersion { sv =>
+ Seq(commons_fileupload, servlet_api, specs(sv).copy(configurations = Some("provided")), jetty6, jwebunit)
+ },
+ initialize in Test <<= (sourceDirectory in Test) { src =>
+ System.setProperty("net.liftweb.webapptest.src.test.webapp", (src / "webapp").absString)
+ })
+
+ lazy val wizard =
webProject("wizard")
- .dependsOn(webkit, db)
- .settings(
- description := "Wizard Library")
+ .dependsOn(webkit, db)
+ .settings(description := "Wizard Library")
// Persistence Projects
@@ -116,65 +107,63 @@ object BuildDef extends Build {
lazy val db =
persistenceProject("db")
- .dependsOn(util)
- .settings(
- libraryDependencies += mockito_all)
+ .dependsOn(util)
+ .settings(libraryDependencies += mockito_all)
lazy val proto =
persistenceProject("proto")
- .dependsOn(webkit)
+ .dependsOn(webkit)
lazy val jpa =
persistenceProject("jpa")
- .dependsOn(webkit)
- .settings(libraryDependencies ++= Seq(scalajpa, persistence_api))
+ .dependsOn(webkit)
+ .settings(libraryDependencies ++= Seq(scalajpa, persistence_api))
lazy val mapper =
persistenceProject("mapper")
- .dependsOn(db, proto)
- .settings(
- description := "Mapper Library",
- parallelExecution in Test := false,
- libraryDependencies ++= Seq(h2, derby),
- initialize in Test <<= (crossTarget in Test) { ct =>
- System.setProperty("derby.stream.error.file", (ct / "derby.log").absolutePath)
- })
+ .dependsOn(db, proto)
+ .settings(description := "Mapper Library",
+ parallelExecution in Test := false,
+ libraryDependencies ++= Seq(h2, derby),
+ initialize in Test <<= (crossTarget in Test) { ct =>
+ System.setProperty("derby.stream.error.file", (ct / "derby.log").absolutePath)
+ })
lazy val record =
persistenceProject("record")
- .dependsOn(proto, db)
+ .dependsOn(proto, db)
lazy val couchdb =
persistenceProject("couchdb")
- .dependsOn(record)
- .settings(
- libraryDependencies += dispatch_http)
+ .dependsOn(record)
+ .settings(libraryDependencies += dispatch_http)
lazy val squeryl_record =
persistenceProject("squeryl-record")
- .dependsOn(record, db)
- .settings(libraryDependencies ++= Seq(h2, squeryl))
+ .dependsOn(record, db)
+ .settings(libraryDependencies ++= Seq(h2, squeryl))
lazy val mongodb =
persistenceProject("mongodb")
- .dependsOn(json_ext)
- .settings(
- parallelExecution in Test := false,
- libraryDependencies += mongo_driver)
+ .dependsOn(json_ext)
+ .settings(parallelExecution in Test := false,
+ libraryDependencies += mongo_driver,
+ initialize in Test <<= (classDirectory in Test) { cdir =>
+ System.setProperty("java.util.logging.config.file", (cdir / "logging.properties").absolutePath)
+ })
lazy val mongodb_record =
persistenceProject("mongodb-record")
- .dependsOn(record, mongodb)
- .settings(parallelExecution in Test := false)
+ .dependsOn(record, mongodb)
+ .settings(parallelExecution in Test := false)
lazy val ldap =
persistenceProject("ldap")
- .dependsOn(mapper)
- .settings(
- libraryDependencies += apacheds,
- initialize in Test <<= (crossTarget in Test) { ct =>
- System.setProperty("apacheds.working.dir", (ct / "apacheds").absolutePath)
- })
+ .dependsOn(mapper)
+ .settings(libraryDependencies += apacheds,
+ initialize in Test <<= (crossTarget in Test) { ct =>
+ System.setProperty("apacheds.working.dir", (ct / "apacheds").absolutePath)
+ })
def coreProject = liftProject("core") _
def webProject = liftProject("web") _
@@ -190,10 +179,9 @@ object BuildDef extends Build {
* @param module the name of the project module. Typically, a project id is of the form lift-`module`.
*/
def liftProject(base: String, prefix: String = "lift-")(module: String): Project =
- liftProject(
- id = if(module.startsWith(prefix)) module else prefix + module,
- base = file(base) / module.stripPrefix(prefix))
+ liftProject(id = if (module.startsWith(prefix)) module else prefix + module,
+ base = file(base) / module.stripPrefix(prefix))
def liftProject(id: String, base: File): Project =
- Project(id, base).settings(LiftBuildPlugin.liftBuildSettings: _*)
+ Project(id, base).settings(liftBuildSettings: _*)
}
View
28 project/Dependencies.scala
@@ -16,20 +16,21 @@
import sbt._
import Keys._
-import net.liftweb.sbt.LiftBuildPlugin.selectDynamic
+import net.liftweb.sbt.LiftBuildPlugin.{crossMapped, defaultOrMapped}
object Dependencies {
- lazy val slf4jVersion = "1.6.4"
+ type DynModuleID = String => ModuleID
- lazy val scalacheckVersion = selectDynamic("1.9", "2.8.0" -> "1.7", "2.8.1" -> "1.8", "2.8.2" -> "1.8") _
- lazy val specsVersion = selectDynamic("1.6.8", "2.8.0" -> "1.6.5", "2.9.1" -> "1.6.9") _
+ lazy val CVMapping282 = crossMapped("2.8.2" -> "2.8.1")
- lazy val scalazGroup = selectDynamic("org.scalaz", "2.8.0" -> "com.googlecode.scalaz") _
- lazy val scalazVersion = selectDynamic("6.0.2", "2.8.0" -> "5.0", "2.9.0" -> "6.0.RC2") _
+ lazy val slf4jVersion = "1.6.4"
- type DynModuleID = String => ModuleID
+ lazy val scalazGroup = defaultOrMapped("org.scalaz", "2.8.0" -> "com.googlecode.scalaz")
+ lazy val scalazVersion = defaultOrMapped("6.0.2", "2.8.0" -> "5.0", "2.9.0" -> "6.0.RC2")
+ lazy val scalacheckVersion = defaultOrMapped("1.9", "2.8.0" -> "1.7", "2.8.1" -> "1.8", "2.8.2" -> "1.8")
+ lazy val specsVersion = defaultOrMapped("1.6.8", "2.8.0" -> "1.6.5", "2.9.1" -> "1.6.9")
// Compile scope:
// Scope available in all classpath, transitive by default.
@@ -37,16 +38,16 @@ object Dependencies {
lazy val commons_fileupload = "commons-fileupload" % "commons-fileupload" % "1.2.2"
lazy val commons_httpclient = "commons-httpclient" % "commons-httpclient" % "3.1"
lazy val dispatch_http = "net.databinder" %% "dispatch-http" % "0.7.8"
- lazy val javamail = "javax.mail" % "mail" % "1.4.4" // TODO: "[1.4.1,)"
+ lazy val javamail = "javax.mail" % "mail" % "1.4.4"
lazy val joda_time = "joda-time" % "joda-time" % "1.6.2"
lazy val htmlparser = "nu.validator.htmlparser" % "htmlparser" % "1.2.1"
lazy val mongo_java_driver = "org.mongodb" % "mongo-java-driver" % "2.6.5"
lazy val paranamer = "com.thoughtworks.paranamer" % "paranamer" % "2.4.1"
- lazy val scalajpa = "org.scala-libs" %% "scalajpa" % "1.4"
+ lazy val scalajpa = "org.scala-libs" % "scalajpa" % "1.4" cross CVMapping282
lazy val scalap: DynModuleID = "org.scala-lang" % "scalap" % _
- lazy val scalaz_core: DynModuleID = sv => scalazGroup(sv) %% "scalaz-core" % scalazVersion(sv)
+ lazy val scalaz_core: DynModuleID = sv => scalazGroup(sv) % "scalaz-core" % scalazVersion(sv) cross CVMapping282
lazy val slf4j_api = "org.slf4j" % "slf4j-api" % slf4jVersion
- lazy val squeryl = "org.squeryl" %% "squeryl" % "0.9.4"
+ lazy val squeryl = "org.squeryl" % "squeryl" % "0.9.4" cross CVMapping282
// Aliases
lazy val mongo_driver = mongo_java_driver
@@ -78,8 +79,7 @@ object Dependencies {
lazy val jetty6 = "org.mortbay.jetty" % "jetty" % "6.1.26" % "test"
lazy val jwebunit = "net.sourceforge.jwebunit" % "jwebunit-htmlunit-plugin" % "2.5" % "test"
lazy val mockito_all = "org.mockito" % "mockito-all" % "1.8.5" % "test"
- lazy val scalacheck: DynModuleID = "org.scala-tools.testing" %% "scalacheck" % scalacheckVersion(_) % "test"
- lazy val specs: DynModuleID = "org.scala-tools.testing" %% "specs" % specsVersion(_) % "test"
- lazy val specs2 = "org.specs2" %% "specs2" % "1.5" % "test"
+ lazy val scalacheck: DynModuleID = "org.scala-tools.testing" % "scalacheck" % scalacheckVersion(_) % "test" cross CVMapping282
+ lazy val specs: DynModuleID = "org.scala-tools.testing" % "specs" % specsVersion(_) % "test" cross CVMapping282
}
View
55 project/Developers.scala
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2012 WorldWide Conferencing, LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+object Developers {
+ lazy val members = Map(
+ "andreak" -> "Andreas Joseph Krogh",
+ "bwmcadams" -> "Brendan W. McAdams",
+ "davewhittaker" -> "Dave Whittaker",
+ "davidB" -> "David Bernard",
+ "dcbriccetti" -> "Dave Briccetti",
+ "dchenbecker" -> "Derek Chen-Becker",
+ "dpp" -> "David Pollak",
+ "Dridus" -> "Ross Mellgren",
+ "dlouwers" -> "Dirk Louwers",
+ "eltimn" -> "Tim Nelson",
+ "fbettag" -> "Franz Bettag",
+ "harryh" -> "Harry Heymann",
+ "hoffrocket" -> "Jon Hoffman",
+ "indrajitr" -> "Indrajit Raychaudhuri",
+ "jeppenejsum" -> "Jeppe Nejsum Madsen",
+ "jgoday" -> "Javier Goday",
+ "jonifreeman" -> "Joni Freeman",
+ "jorgeortiz85" -> "Jorge Ortiz",
+ "lkuczera" -> "Łukasz Kuczera",
+ "mads379" -> "Mads Hartmann Jensen",
+ "mariusdanciu" -> "Marius Danciu",
+ "max-l" -> "Maxime Lévesque",
+ "nafg" -> "Naftoli Gugenheim",
+ "pr1001" -> "Peter Robinett",
+ "rusho" -> "Ján Raška",
+ "timperrett" -> "Timothy Perrett",
+ "tjweir" -> "Tyler Weir",
+ "tuhlmann" -> "Torsten Uhlmann",
+ "vdichev" -> "Vassil Dichev"
+ )
+
+ def toXml =
+ <developers>
+ {members map { m => <developer><id>{m._1}</id><name>{m._2}</name></developer>} }
+ </developers>
+}
View
2  project/build.properties
@@ -1 +1 @@
-sbt.version=0.11.2
+sbt.version=0.12.0-M1
View
3  project/project/Plugins.scala
@@ -1,7 +1,6 @@
import sbt._
object PluginDef extends Build {
- lazy val root = Project("plugins", file(".")) dependsOn(buildPlugin, gpgPlugin)
+ lazy val root = Project("plugins", file(".")) dependsOn(buildPlugin)
lazy val buildPlugin = uri("git://github.com/indrajitr/sbt-lift-build-plugin")
- lazy val gpgPlugin = uri("git://github.com/sbt/xsbt-gpg-plugin")
}
Please sign in to comment.
Something went wrong with that request. Please try again.