diff --git a/main-settings/src/main/scala/sbt/Append.scala b/main-settings/src/main/scala/sbt/Append.scala index 4b2c1987f..bb50f52fa 100644 --- a/main-settings/src/main/scala/sbt/Append.scala +++ b/main-settings/src/main/scala/sbt/Append.scala @@ -6,6 +6,8 @@ import scala.annotation.implicitNotFound import sbt.internal.util.Attributed import Def.Initialize import reflect.internal.annotations.compileTimeOnly +import sbt.internal.io.Source +import sbt.io.{ AllPassFilter, NothingFilter } object Append { @implicitNotFound( @@ -96,4 +98,11 @@ object Append { def appendValue(a: Seq[T], b: Option[T]): Seq[T] = b.fold(a)(a :+ _) def appendValues(a: Seq[T], b: Option[T]): Seq[T] = b.fold(a)(a :+ _) } + implicit def appendSource: Sequence[Seq[Source], Seq[File], File] = + new Sequence[Seq[Source], Seq[File], File] { + def appendValue(a: Seq[Source], b: File): Seq[Source] = + appendValues(a, Seq(b)) + def appendValues(a: Seq[Source], b: Seq[File]): Seq[Source] = + a ++ b.map(new Source(_, AllPassFilter, NothingFilter)) + } }