aboutsummaryrefslogtreecommitdiff
path: root/stage2/Lib.scala
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2017-03-06 20:05:56 -0500
committerChristopher Vogt <oss.nsp@cvogt.org>2017-03-06 20:05:56 -0500
commit2f7710bf1c34ad8b3720d976e2687fe9b2c8ad83 (patch)
treefdf127b7b6d644717cf4029525b5c6c215015329 /stage2/Lib.scala
parent8c2428dd1947c70f85bf8c6f8dab5765533b68cd (diff)
downloadcbt-2f7710bf1c34ad8b3720d976e2687fe9b2c8ad83.tar.gz
cbt-2f7710bf1c34ad8b3720d976e2687fe9b2c8ad83.tar.bz2
cbt-2f7710bf1c34ad8b3720d976e2687fe9b2c8ad83.zip
return Seq[URL] from publish task and \n separate Seqs in std out
Diffstat (limited to 'stage2/Lib.scala')
-rw-r--r--stage2/Lib.scala23
1 files changed, 12 insertions, 11 deletions
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
}