diff --git a/sbt/src/sbt-test/nio/file-hashes/build.sbt b/sbt/src/sbt-test/nio/file-hashes/build.sbt index 637d5ae6d..eba843fca 100644 --- a/sbt/src/sbt-test/nio/file-hashes/build.sbt +++ b/sbt/src/sbt-test/nio/file-hashes/build.sbt @@ -32,10 +32,10 @@ val checkAdded = taskKey[Unit]("check that modified files are returned") checkAdded := Def.taskDyn { val files = (foo / allInputFiles).value val added = (foo / changedInputFiles).value.map(_.created).getOrElse(Nil) - if (added.isEmpty || files.sameElements(added)) Def.task(assert(true)) + if (added.isEmpty || (files.toSet == added.toSet)) Def.task(assert(true)) else Def.task { val base = baseDirectory.value / "base" - assert(files.sameElements(Seq("Bar.md", "Foo.txt").map(p => (base / p).toPath))) + assert(files.toSet == Set("Bar.md", "Foo.txt").map(p => (base / p).toPath)) assert(added == Seq((baseDirectory.value / "base" / "Bar.md").toPath)) } }.value diff --git a/sbt/src/sbt-test/nio/make-clone/build.sbt b/sbt/src/sbt-test/nio/make-clone/build.sbt index f10df2f02..8bee73e73 100644 --- a/sbt/src/sbt-test/nio/make-clone/build.sbt +++ b/sbt/src/sbt-test/nio/make-clone/build.sbt @@ -1,6 +1,8 @@ import java.nio.file.{ Files, Path } import scala.sys.process._ +val compileOpts = settingKey[Seq[String]]("Extra compile options") +compileOpts := { if (scala.util.Properties.isLinux) "-fPIC" :: "-std=gnu99" :: Nil else Nil } val compileLib = taskKey[Seq[Path]]("Compile the library") compileLib / sourceDirectory := sourceDirectory.value / "lib" compileLib / fileInputs := { @@ -34,7 +36,8 @@ compileLib := { cFiles.map { file => val outFile = objectDir.resolve(objectFileName(file)) logger.info(s"Compiling $file to $outFile") - Seq("gcc", "-c", file.toString, s"-I$include", "-o", outFile.toString).!! + (Seq("gcc") ++ compileOpts.value ++ + Seq("-c", file.toString, s"-I$include", "-o", outFile.toString)).!! outFile } } @@ -87,15 +90,14 @@ compileMain := { case Seq(main) => Files.createDirectories(outDir) logger.info(s"Building executable $outPath") - Seq( - "gcc", + (Seq("gcc") ++ compileOpts.value ++ Seq( main.toString, s"-I$include", "-o", outPath.toString, s"-L${library.getParent}", "-lfoo" - ).!! + )).!! outPath case main => throw new IllegalStateException(s"multiple main files detected: ${main.mkString(",")}")