-
Notifications
You must be signed in to change notification settings - Fork 30
/
LiftExamplesProject.scala
107 lines (82 loc) · 4.02 KB
/
LiftExamplesProject.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*
* Copyright 2010-2011 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.
*/
import net.liftweb.sbt._
import sbt._
class LiftExamplesProject(info: ProjectInfo) extends ParentProject(info) with LiftParentProject {
// TODO: consider cross-lift build, for now set it to current project version
val liftVersion = version.toString
object LiftDependencies {
// Lift dependencies
lazy val lift_common = "net.liftweb" %% "lift-common" % liftVersion
lazy val lift_actor = "net.liftweb" %% "lift-actor" % liftVersion
lazy val lift_json = "net.liftweb" %% "lift-jason" % liftVersion
lazy val lift_util = "net.liftweb" %% "lift-util" % liftVersion
lazy val lift_webkit = "net.liftweb" %% "lift-webkit" % liftVersion
lazy val lift_wizard = "net.liftweb" %% "lift-wizard" % liftVersion
lazy val lift_db = "net.liftweb" %% "lift-db" % liftVersion
lazy val lift_mapper = "net.liftweb" %% "lift-mapper" % liftVersion
lazy val lift_facebook = "net.liftweb" %% "lift-facebook" % liftVersion
lazy val lift_scalate = "net.liftweb" %% "lift-scalate" % liftVersion
lazy val lift_textile = "net.liftweb" %% "lift-textile" % liftVersion
lazy val lift_widgets = "net.liftweb" %% "lift-widgets" % liftVersion
}
import CompileScope._
import ProvidedScope._
import LiftDependencies._
// Combo projects
// --------------
lazy val example = comboProject("example", lift_wizard, lift_mapper, lift_textile, lift_widgets)()
lazy val liftj = comboProject("liftj", lift_wizard)()
// Nuggets projects
// ----------------
lazy val flot = nuggetsProject("flotDemo", lift_widgets)()
lazy val hellodarwin = nuggetsProject("hellodarwin", lift_mapper)()
lazy val hellofbc = nuggetsProject("hellofbc", lift_mapper, lift_widgets, lift_facebook, servlet_api)()
lazy val hellolift = nuggetsProject("hellolift", lift_mapper)()
lazy val helloscalate = nuggetsProject("helloscalate", lift_mapper, lift_scalate)()
lazy val httpauth = nuggetsProject("http-authentication", lift_webkit)()
// lazy val jpademo = nuggetsProject("JPADemo", lift_mapper, lift_scalate)()
lazy val skittr = nuggetsProject("skittr", lift_mapper)()
// Examples apidocs
// ----------------
// lazy val examples_doc = project(".", "lift-examples-doc", new DefaultProject(_) with LiftDefaultDocProject)
private def comboProject = examplesProject("combo") _
private def nuggetsProject = examplesProject("nuggets") _
private def examplesProject(base: String)(path: String, libs: ModuleID*)(deps: Project*) =
project(base / path, "lift-" + path, new ExamplesProject(_, libs: _*), deps: _*)
// Default base
// ------------
class ExamplesProject(info: ProjectInfo, libs: ModuleID*) extends DefaultWebProject(info) with LiftDefaultWebProject {
import TestScope._
override def libraryDependencies =
super.libraryDependencies ++ libs ++
Seq(jetty6, junit, jwebunit, mockito_all, RuntimeScope.h2database, RuntimeScope.derby)
// System property hack for derby.log, webapptests
override def testAction =
super.testAction dependsOn
task {
System.setProperty("derby.stream.error.file", (outputPath / "derby.log").absString)
System.setProperty("net.liftweb.webapptest.src.test.webapp", (testSourcePath / "webapp").absString)
None
}
// FIXME: breaks with SBT
override def testOptions =
ExcludeTests(
// example wiki
"webapptest.WikiUsages" :: Nil) ::
super.testOptions.toList
}
}