|
Scala example source code file (PathConfig.scala)
The Scala PathConfig.scala source codeimport sbt._ /** * An abstract class for grouping all different paths that are needed to * compile the a CompilationStep * @author Grégory Moix */ abstract class PathConfig { def projectRoot: Path def sources: Path def analysis: Path def output: Path } object PathConfig { val classes = "classes" val analysis = "analysis" } trait SimpleOutputLayout { def outputDir: Path lazy val classesOutput = outputDir / PathConfig.classes lazy val analysisOutput = outputDir / PathConfig.analysis } class PathLayout(val projectRoot: Path, val outputDir: Path) extends SimpleOutputLayout { lazy val srcDir = projectRoot / "src" /** * An utility method to easily create StandardPathConfig from a given path layout */ def /(name: String)= new StandardPathConfig(this, name) } /** * */ class StandardPathConfig(layout: PathLayout, name: String) extends PathConfig { lazy val projectRoot = layout.projectRoot lazy val sources = layout.srcDir / name lazy val analysis = layout.analysisOutput / name lazy val output = layout.classesOutput / name } Other Scala examples (source code examples)Here is a short list of links related to this Scala PathConfig.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.