From e5d886e42779dab4fe200c09e0643e241f3e52b4 Mon Sep 17 00:00:00 2001
From: bow <bow@bow.web.id>
Date: Thu, 25 Jun 2015 16:31:55 +0200
Subject: [PATCH] Wrap Picard dependency list fetch in Option

---
 .../biopet/extensions/picard/Picard.scala     | 40 ++++++++++---------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala
index d4f60ee54..be22486e7 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala
@@ -82,25 +82,29 @@ abstract class Picard extends BiopetJavaCommandLineFunction {
 object Picard extends Logging {
 
   lazy val getBiopetPicardVersion: Option[String] = {
-    val reader = Source.fromInputStream(getClass.getResourceAsStream("/dependency_list.txt"))
-    val dependencies = reader.getLines().map(_.trim.split(":")).filter(_.size == 5).map(line => Map(
-      "groupId" -> line(0),
-      "artifactId" -> line(1),
-      "type" -> line(2),
-      "version" -> line(3),
-      "scope" -> line(4)
-    )).toList
-
-    logger.debug("dependencies: " + dependencies)
-
-    val htsjdk = dependencies.find(dep => dep("groupId") == "samtools" && dep("artifactId") == "htsjdk").collect {
-      case dep =>
-        "samtools htsjdk " + dep("version")
-    }
+    Option(getClass.getResourceAsStream("/dependency_list.txt")) match {
+      case Some(src) =>
+        val dependencies = Source.fromInputStream(src)
+          .getLines().map(_.trim.split(":")).filter(_.size == 5).map(line => Map(
+            "groupId" -> line(0),
+            "artifactId" -> line(1),
+            "type" -> line(2),
+            "version" -> line(3),
+            "scope" -> line(4)
+          )).toList
+
+        logger.debug("dependencies: " + dependencies)
+
+        val htsjdk = dependencies.find(dep => dep("groupId") == "samtools" && dep("artifactId") == "htsjdk").collect {
+          case dep =>
+            "samtools htsjdk " + dep("version")
+        }
 
-    dependencies.find(dep => dep("groupId") == "picard" && dep("artifactId") == "picard").collect {
-      case dep =>
-        "Picard " + dep("version") + " using " + htsjdk.getOrElse("unknown htsjdk")
+        dependencies.find(dep => dep("groupId") == "picard" && dep("artifactId") == "picard").collect {
+          case dep =>
+            "Picard " + dep("version") + " using " + htsjdk.getOrElse("unknown htsjdk")
+        }
+      case otherwise => None
     }
   }
 
-- 
GitLab