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
|
package cbt
import java.io._
import java.nio.file._
import java.net._
trait Scaffold{
def logger: Logger
private def createFile( projectDirectory: File, fileName: String, code: String ){
val outputFile = projectDirectory ++ ("/" ++ fileName)
Stage0Lib.write( outputFile, code, StandardOpenOption.CREATE_NEW )
import scala.Console._
println( GREEN ++ "Created " ++ fileName ++ RESET )
}
def createMain(
projectDirectory: File
): Unit = {
createFile(projectDirectory, "Main.scala", s"""object Main{
def main( args: Array[String] ): Unit = {
println( Console.GREEN ++ "Hello World" ++ Console.RESET )
}
}
"""
)
}
def createBuild(
projectDirectory: File
): Unit = {
createFile(projectDirectory, "build/build.scala", s"""import cbt._
class Build(val context: Context) extends BaseBuild{
override def dependencies =
super.dependencies ++ // don't forget super.dependencies here for scala-library, etc.
Seq(
// source dependency
// DirectoryDependency( projectDirectory ++ "/subProject" )
) ++
// pick resolvers explicitly for individual dependencies (and their transitive dependencies)
Resolver( mavenCentral, sonatypeReleases ).bind(
// CBT-style Scala dependencies
// ScalaDependency( "com.lihaoyi", "ammonite-ops", "0.5.5" )
// MavenDependency( "com.lihaoyi", "ammonite-ops_2.11", "0.5.5" )
// SBT-style dependencies
// "com.lihaoyi" %% "ammonite-ops" % "0.5.5"
// "com.lihaoyi" % "ammonite-ops_2.11" % "0.5.5"
)
}
"""
)
}
}
|