From d283bd2cd2ee824c3435f2bded80504e1ac3c525 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Tue, 25 Jan 2011 22:17:28 -0500 Subject: [PATCH] add builder convenience methods to Project --- main/Project.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/main/Project.scala b/main/Project.scala index 956d19ae0..37fa3d246 100644 --- a/main/Project.scala +++ b/main/Project.scala @@ -14,6 +14,12 @@ package sbt final case class Project(id: String, base: File, aggregate: Seq[ProjectRef] = Nil, dependencies: Seq[Project.ClasspathDependency] = Nil, inherits: Seq[ProjectRef] = Nil, settings: Seq[Project.Setting[_]] = Project.defaultSettings, configurations: Seq[Configuration] = Configurations.default) { + def dependsOn(deps: Project.ClasspathDependency*): Project = copy(dependencies = dependencies ++ deps) + def inherits(from: ProjectRef*): Project = copy(inherits = inherits ++ from) + def aggregate(refs: ProjectRef*): Project = copy(aggregate = aggregate ++ refs) + def configs(cs: Configuration*): Project = copy(configurations = configurations ++ cs) + def settings(ss: Project.Setting[_]*): Project = copy(settings = settings ++ ss) + def uses = aggregate ++ dependencies.map(_.project) } final case class Extracted(structure: Load.BuildStructure, session: SessionSettings, curi: URI, cid: String, rootProject: URI => String) @@ -100,7 +106,6 @@ final case class SessionSettings(currentBuild: URI, currentProject: Map[URI, Str val cur = current map.updated(cur, onSeq(map.getOrElse( cur, Nil))) } - } object SessionSettings {