From 2f7710bf1c34ad8b3720d976e2687fe9b2c8ad83 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Mon, 6 Mar 2017 20:05:56 -0500 Subject: return Seq[URL] from publish task and \n separate Seqs in std out --- stage2/Lib.scala | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'stage2/Lib.scala') diff --git a/stage2/Lib.scala b/stage2/Lib.scala index 50b7389..8646f8c 100644 --- a/stage2/Lib.scala +++ b/stage2/Lib.scala @@ -144,13 +144,14 @@ final class Lib(val logger: Logger) extends Stage1Lib(logger){ }.reduceOption(_ && _).getOrElse( ExitCode.Failure ) } - private def render[T]( obj: T ): String = { + private def render( obj: Any ): String = { obj match { case Some(s) => render(s) case None => "" case d: Dependency => lib.usage(d.getClass, d.show()) case c: ClassPath => c.string case ExitCode(int) => System.err.println(int); System.exit(int); ??? + case s: Seq[_] => s.map(render).mkString("\n") case _ => obj.toString } } @@ -423,27 +424,26 @@ final class Lib(val logger: Logger) extends Stage1Lib(logger){ else items.map(projection) } - def publishUnsigned( sourceFiles: Seq[File], artifacts: Seq[File], url: URL, credentials: Option[String] = None ): Unit = { - if(sourceFiles.nonEmpty){ - publish( artifacts, url, credentials ) - } + def publishUnsigned( artifacts: Seq[File], url: URL, credentials: Option[String] = None ): Seq[URL] = { + publish( artifacts, url, credentials ) } - def publishLocal( artifacts: Seq[File], mavenCache: File, releaseFolder: String ): Unit = { + def publishLocal( artifacts: Seq[File], mavenCache: File, releaseFolder: String ): Seq[File] = { val targetDir = mavenCache ++ releaseFolder.stripSuffix("/") targetDir.mkdirs - artifacts.foreach{ a => + artifacts.map{ a => val target = targetDir ++ ("/" ++ a.getName) System.err.println(blue("publishing ") ++ target.getPath) Files.copy( a.toPath, target.toPath, StandardCopyOption.REPLACE_EXISTING ) + target } } - def publishSigned( artifacts: Seq[File], url: URL, credentials: Option[String] = None ): Unit = { + def publishSigned( artifacts: Seq[File], url: URL, credentials: Option[String] = None ): Seq[URL] = { publish( artifacts ++ artifacts.map(sign), url, credentials ) } - private def publish(artifacts: Seq[File], url: URL, credentials: Option[String]): Unit = { + private def publish(artifacts: Seq[File], url: URL, credentials: Option[String]): Seq[URL] = { val files = artifacts.map(nameAndContents) lazy val checksums = files.flatMap{ case (name, content) => Seq( @@ -455,10 +455,10 @@ final class Lib(val logger: Logger) extends Stage1Lib(logger){ uploadAll(url, all, credentials) } - def uploadAll(url: URL, nameAndContents: Seq[(String, Array[Byte])], credentials: Option[String] = None ): Unit = + def uploadAll(url: URL, nameAndContents: Seq[(String, Array[Byte])], credentials: Option[String] = None ): Seq[URL] = nameAndContents.map{ case(name, content) => upload(name, content, url, credentials ) } - def upload(fileName: String, fileContents: Array[Byte], baseUrl: URL, credentials: Option[String] = None): Unit = { + def upload(fileName: String, fileContents: Array[Byte], baseUrl: URL, credentials: Option[String] = None): URL = { import java.net._ import java.io._ val url = baseUrl ++ "/" ++ fileName @@ -481,6 +481,7 @@ final class Lib(val logger: Logger) extends Stage1Lib(logger){ } finally { httpCon.disconnect } + url } -- cgit v1.2.3