diff --git a/build.xml b/build.xml index 0844717dd..16cfa9a61 100644 --- a/build.xml +++ b/build.xml @@ -526,6 +526,7 @@ + @@ -537,7 +538,7 @@ Building Scala... - + @@ -1218,7 +1219,7 @@ - + diff --git a/ivy.xml b/ivy.xml index ed13af1c2..2e45247ab 100644 --- a/ivy.xml +++ b/ivy.xml @@ -82,8 +82,8 @@ - - + + diff --git a/public/scala/src/org/broadinstitute/sting/queue/QScriptManager.scala b/public/scala/src/org/broadinstitute/sting/queue/QScriptManager.scala index 37c4a5bbe..c6b8eff13 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/QScriptManager.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/QScriptManager.scala @@ -33,10 +33,9 @@ import java.io.File import scala.tools.nsc.reporters.AbstractReporter import java.lang.String import org.apache.log4j.Level -import scala.tools.nsc.util.{FakePos, NoPosition, Position} import org.broadinstitute.sting.queue.util.TextFormatUtils._ import org.broadinstitute.sting.utils.classloader.JVMUtils -import tools.util.StringOps +import scala.reflect.internal.util.{FakePos, NoPosition, Position, StringOps} /** * Plugin manager for QScripts which loads QScripts into the current class loader. @@ -53,7 +52,10 @@ class QScriptManager() extends Logging { settings.outdir.value = tempDir.getPath // Set the classpath to the current class path. - JVMUtils.getClasspathURLs.foreach(url => settings.classpath.append(url.getPath)) + JVMUtils.getClasspathURLs.foreach(url => { + settings.bootclasspath.append(url.getPath) + settings.classpath.append(url.getPath) + }) val reporter = new QScriptManager.Log4JReporter(settings) diff --git a/public/scala/src/org/broadinstitute/sting/queue/engine/drmaa/DrmaaJobRunner.scala b/public/scala/src/org/broadinstitute/sting/queue/engine/drmaa/DrmaaJobRunner.scala index 9cfd69247..79fc8589f 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/engine/drmaa/DrmaaJobRunner.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/engine/drmaa/DrmaaJobRunner.scala @@ -160,7 +160,7 @@ class DrmaaJobRunner(val session: Session, val function: CommandLineFunction) ex // resource of the designated queue to SIGTERM session.control(jobId, Session.TERMINATE) } catch { - case e => + case e: Exception => logger.error("Unable to kill job " + jobId, e) } } diff --git a/public/scala/src/org/broadinstitute/sting/queue/engine/lsf/Lsf706JobRunner.scala b/public/scala/src/org/broadinstitute/sting/queue/engine/lsf/Lsf706JobRunner.scala index 1140c4945..ead29bbf5 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/engine/lsf/Lsf706JobRunner.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/engine/lsf/Lsf706JobRunner.scala @@ -361,7 +361,7 @@ object Lsf706JobRunner extends Logging { if (LibBat.lsb_signaljob(runner.jobId, SIGTERM) < 0) logger.error(LibBat.lsb_sperror("Unable to kill job " + runner.jobId)) } catch { - case e => + case e: Exception=> logger.error("Unable to kill job " + runner.jobId, e) } } diff --git a/public/scala/src/org/broadinstitute/sting/queue/engine/shell/ShellJobRunner.scala b/public/scala/src/org/broadinstitute/sting/queue/engine/shell/ShellJobRunner.scala index 13b3c7cb3..e3528f54f 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/engine/shell/ShellJobRunner.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/engine/shell/ShellJobRunner.scala @@ -83,8 +83,8 @@ class ShellJobRunner(val function: CommandLineFunction) extends CommandLineJobRu try { controller.tryDestroy() } catch { - case e => - logger.error("Unable to kill shell job: " + function.description) + case e: Exception => + logger.error("Unable to kill shell job: " + function.description, e) } } } diff --git a/public/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala b/public/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala index 81c76dd29..abbb63271 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala @@ -32,6 +32,7 @@ import org.broadinstitute.sting.queue.{QException, QSettings} import java.lang.IllegalStateException import org.broadinstitute.sting.queue.util._ import org.broadinstitute.sting.utils.io.IOUtils +import scala.language.reflectiveCalls /** * The base interface for all functions in Queue. diff --git a/public/scala/src/org/broadinstitute/sting/queue/library/ipf/vcf/VCFExtractSamples.scala b/public/scala/src/org/broadinstitute/sting/queue/library/ipf/vcf/VCFExtractSamples.scala index 6dcc69854..ddff95f21 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/library/ipf/vcf/VCFExtractSamples.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/library/ipf/vcf/VCFExtractSamples.scala @@ -39,7 +39,7 @@ class VCFExtractSamples(inVCF: File, outVCF: File, samples: List[String]) extend @Argument(doc="The samples to extract from the VCF") var extractSamples : List[String] = samples var out : PrintWriter = _ - var columns : List[Int] = 0 to 8 toList + var columns : List[Int] = (0 to 8).toList def run = { out = new PrintWriter(new PrintStream(outputVCF)) diff --git a/public/scala/src/org/broadinstitute/sting/queue/util/EmailMessage.scala b/public/scala/src/org/broadinstitute/sting/queue/util/EmailMessage.scala index 4d3bf719c..96a5973be 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/util/EmailMessage.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/EmailMessage.scala @@ -26,7 +26,7 @@ package org.broadinstitute.sting.queue.util import org.apache.commons.mail.{MultiPartEmail, EmailAttachment} -import java.io.{FileReader, File} +import java.io.{IOException, FileReader, File} import javax.mail.internet.InternetAddress import scala.collection.JavaConversions._ @@ -105,7 +105,7 @@ class EmailMessage extends Logging { try { Retry.attempt(() => send(settings), .5) } catch { - case e => logger.error("Error sending message: %n%s".format(this.toString), e) + case e: RetryException=> logger.error("Error sending message: %n%s".format(this.toString), e) } } diff --git a/public/scala/src/org/broadinstitute/sting/queue/util/PrimitiveOptionConversions.scala b/public/scala/src/org/broadinstitute/sting/queue/util/PrimitiveOptionConversions.scala index 4acd27497..cb7b95b76 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/util/PrimitiveOptionConversions.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/PrimitiveOptionConversions.scala @@ -25,6 +25,8 @@ package org.broadinstitute.sting.queue.util +import scala.language.implicitConversions + /** * An importable object that provides automatic primitive to option conversion. */ diff --git a/public/scala/src/org/broadinstitute/sting/queue/util/Retry.scala b/public/scala/src/org/broadinstitute/sting/queue/util/Retry.scala index b112ed9a3..5b9e42a1e 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/util/Retry.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/Retry.scala @@ -49,7 +49,7 @@ object Retry extends Logging { result = f() success = true } catch { - case e => { + case e: Exception=> { count += 1 if (count < tries) { val minutes = wait(count-1) diff --git a/public/scala/src/org/broadinstitute/sting/queue/util/StringFileConversions.scala b/public/scala/src/org/broadinstitute/sting/queue/util/StringFileConversions.scala index 35f872848..ff99cb346 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/util/StringFileConversions.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/StringFileConversions.scala @@ -26,6 +26,7 @@ package org.broadinstitute.sting.queue.util import java.io.{Serializable, File} +import scala.language.implicitConversions /** * Converts String to/from File @@ -77,21 +78,6 @@ object StringFileConversions { }) } - implicit def stringsAsFiles(x: Set[Comparable[_ >: File with String <: Comparable[_ >: File with String <: Comparable[_ >: File with String <: Serializable] with Serializable] with Serializable] with Serializable]): Set[File] = { - x.map(_ match { - case string: String => stringAsFile(string) - case file: File => file - case null => null - }) - } - - implicit def filesAsStrings(x: Set[Comparable[_ >: String with File <: Comparable[_ >: String with File <: Comparable[_ >: String with File <: Serializable] with Serializable] with Serializable] with Serializable]): Set[String] = { - x.map(_ match { - case file: File => fileAsString(file) - case string: String => string - case null => null - }) - } } /** @@ -124,11 +110,4 @@ trait StringFileConversions { StringFileConversions.filesAsStringsList(x) } - implicit def stringsAsFiles(x: Set[Comparable[_ >: File with String <: Comparable[_ >: File with String <: Comparable[_ >: File with String <: Serializable] with Serializable] with Serializable] with Serializable]): Set[File] = { - StringFileConversions.stringsAsFiles(x) - } - - implicit def filesAsStrings(x: Set[Comparable[_ >: String with File <: Comparable[_ >: String with File <: Comparable[_ >: String with File <: Serializable] with Serializable] with Serializable] with Serializable]): Set[String] = { - StringFileConversions.filesAsStrings(x) - } } diff --git a/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala b/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala index e9a288117..251b1c511 100644 --- a/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala +++ b/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala @@ -182,7 +182,7 @@ object PipelineTest extends BaseTest with Logging { println("Executing test %s with Queue arguments: %s".format(name, Utils.join(" ",command))) CommandLineProgram.start(instance, command) } catch { - case e => + case e: Exception => gotAnException = true if (expectedException != null) { // we expect an exception @@ -224,7 +224,7 @@ object PipelineTest extends BaseTest with Logging { try { commandLine.shutdown() } catch { - case _ => /* ignore */ + case _: Throwable => /* ignore */ }) } }) diff --git a/public/scala/test/org/broadinstitute/sting/queue/util/StringFileConversionsUnitTest.scala b/public/scala/test/org/broadinstitute/sting/queue/util/StringFileConversionsUnitTest.scala index 22a7a8a04..5ee02b8bc 100644 --- a/public/scala/test/org/broadinstitute/sting/queue/util/StringFileConversionsUnitTest.scala +++ b/public/scala/test/org/broadinstitute/sting/queue/util/StringFileConversionsUnitTest.scala @@ -87,44 +87,6 @@ class StringFileConversionsUnitTest { Assert.assertEquals(strings, Seq(null, null)) } - @Test - def testStringToFileSet() { - var files = Set(new File("foo")) - files += "bar" - Assert.assertEquals(files, Set(new File("foo"), new File("bar"))) - - files = Set(new File("foo")) - files += null.asInstanceOf[String] - Assert.assertEquals(files, Set(new File("foo"), null)) - - files = Set[File](null) - files += "foo" - Assert.assertEquals(files, Set(new File("foo"), null)) - - files = Set[File](null) - files += null.asInstanceOf[String] - Assert.assertEquals(files, Set(null)) - } - - @Test - def testFileToStringSet() { - var strings = Set("foo") - strings += new File("bar") - Assert.assertEquals(strings, Set("foo", "bar")) - - strings = Set("foo") - strings += null.asInstanceOf[File] - Assert.assertEquals(strings, Set("foo", null)) - - strings = Set[String](null) - strings += new File("foo") - Assert.assertEquals(strings, Set("foo", null)) - - strings = Set[String](null) - strings += null.asInstanceOf[File] - Assert.assertEquals(strings, Set(null)) - } - @Test def testStringListToFileList() { var files = Seq(new File("foo")) @@ -163,41 +125,4 @@ class StringFileConversionsUnitTest { Assert.assertEquals(strings, Seq(null, null)) } - @Test - def testStringSetToFileSet() { - var files = Set(new File("foo")) - files ++= Set("bar") - Assert.assertEquals(files, Set(new File("foo"), new File("bar"))) - - files = Set(new File("foo")) - files ++= Set[String](null) - Assert.assertEquals(files, Set(new File("foo"), null)) - - files = Set[File](null) - files ++= Set("foo") - Assert.assertEquals(files, Set(new File("foo"), null)) - - files = Set[File](null) - files ++= Set[String](null) - Assert.assertEquals(files, Set(null)) - } - - @Test - def testFileSetToStringSet() { - var strings = Set("foo") - strings ++= Set(new File("bar")) - Assert.assertEquals(strings, Set("foo", "bar")) - - strings = Set("foo") - strings ++= Set[File](null) - Assert.assertEquals(strings, Set("foo", null)) - - strings = Set[String](null) - strings ++= Set(new File("foo")) - Assert.assertEquals(strings, Set("foo", null)) - - strings = Set[String](null) - strings ++= Set[File](null) - Assert.assertEquals(strings, Set(null)) - } }