aboutsummaryrefslogtreecommitdiff
path: root/stage2/Scaffold.scala
blob: 32e474f663c079f2a29c7253d0fc073872ec4493 (plain) (blame)
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
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
    Seq(    
      // source dependency
      DirectoryDependency( projectDirectory ++ "/subProject" )
    ) ++
    Resolver( mavenCentral ).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"
    )
  )
  */
}
"""
    )
  }
}