From 3fe8f41a69ecae8e39a4f04f11cccd8db29a9a78 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 27 Jul 2014 12:01:11 -0400 Subject: [PATCH] Fixing more NullPointerError by wrapping license URL with Option --- ivy/src/main/scala/sbt/IvyRetrieve.scala | 9 ++++++--- ivy/src/main/scala/sbt/UpdateReport.scala | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ivy/src/main/scala/sbt/IvyRetrieve.scala b/ivy/src/main/scala/sbt/IvyRetrieve.scala index e9dba98ee..b3bf04563 100644 --- a/ivy/src/main/scala/sbt/IvyRetrieve.scala +++ b/ivy/src/main/scala/sbt/IvyRetrieve.scala @@ -107,9 +107,12 @@ object IvyRetrieve { }) val isDefault = Option(dep.getDescriptor) map { _.isDefault } val configurations = dep.getConfigurations(confReport.getConfiguration).toArray.toList - val licenses: Seq[(String, URL)] = mdOpt match { - case Some(md) => md.getLicenses.toArray.toVector collect { case lic: IvyLicense => (lic.getName, new URL(lic.getUrl)) } - case _ => Nil + val licenses: Seq[(String, Option[String])] = mdOpt match { + case Some(md) => md.getLicenses.toArray.toVector collect { + case lic: IvyLicense => + (lic.getName, Option(lic.getUrl)) + } + case _ => Nil } val callers = dep.getCallers(confReport.getConfiguration).toArray.toVector map { toCaller } val (resolved, missing) = artifacts(moduleId, confReport getDownloadReports revId) diff --git a/ivy/src/main/scala/sbt/UpdateReport.scala b/ivy/src/main/scala/sbt/UpdateReport.scala index f8c2804d5..41ea4fd80 100644 --- a/ivy/src/main/scala/sbt/UpdateReport.scala +++ b/ivy/src/main/scala/sbt/UpdateReport.scala @@ -105,7 +105,7 @@ final class ModuleReport( val isDefault: Option[Boolean], val branch: Option[String], val configurations: Seq[String], - val licenses: Seq[(String, URL)], + val licenses: Seq[(String, Option[String])], val callers: Seq[Caller]) { private[this] lazy val arts: Seq[String] = artifacts.map(_.toString) ++ missingArtifacts.map(art => "(MISSING) " + art) @@ -162,7 +162,7 @@ final class ModuleReport( isDefault: Option[Boolean] = isDefault, branch: Option[String] = branch, configurations: Seq[String] = configurations, - licenses: Seq[(String, URL)] = licenses, + licenses: Seq[(String, Option[String])] = licenses, callers: Seq[Caller] = callers): ModuleReport = new ModuleReport(module, artifacts, missingArtifacts, status, publicationDate, resolver, artifactResolver, evicted, evictedData, evictedReason, problem, homepage, extraAttributes, isDefault, branch, configurations, licenses, callers)