You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by dj...@apache.org on 2009/06/15 21:59:17 UTC
svn commit: r784955 - in /buildr/trunk/lib/buildr/scala/org: ./ apache/
apache/buildr/ apache/buildr/SpecsSingletonRunner$.class
apache/buildr/SpecsSingletonRunner.class
apache/buildr/SpecsSingletonRunner.scala
Author: djspiewak
Date: Mon Jun 15 19:59:17 2009
New Revision: 784955
URL: http://svn.apache.org/viewvc?rev=784955&view=rev
Log:
Added custom Specs runner utility
Added:
buildr/trunk/lib/buildr/scala/org/
buildr/trunk/lib/buildr/scala/org/apache/
buildr/trunk/lib/buildr/scala/org/apache/buildr/
buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class
buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class
buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala
Added: buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner%24.class?rev=784955&view=auto
==============================================================================
Files buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class (added) and buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class Mon Jun 15 19:59:17 2009 differ
Added: buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class?rev=784955&view=auto
==============================================================================
Files buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class (added) and buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class Mon Jun 15 19:59:17 2009 differ
Added: buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala?rev=784955&view=auto
==============================================================================
--- buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala (added)
+++ buildr/trunk/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala Mon Jun 15 19:59:17 2009
@@ -0,0 +1,33 @@
+package org.apache.buildr
+
+import java.net.{URL, URLClassLoader}
+import java.io.File
+
+/**
+ * @author Daniel Spiewak
+ */
+object SpecsSingletonRunner {
+ type Spec = { def main(args: Array[String]) }
+
+ @throws(classOf[Throwable])
+ def main(args: Array[String]) {
+ val (colors, spec) = if (args.length > 1 && args(1) == "-c")
+ (true, args(2))
+ else
+ (false, args(1))
+
+ run(args(0), colors, spec)
+ }
+
+ @throws(classOf[Throwable])
+ def run(path: String, colors: Boolean, spec: String) = {
+ val parent = new File(path)
+ val specURL = new File(parent, spec.replace('.', '/') + ".class").toURL
+ val loader = new URLClassLoader(Array(specURL), getClass.getClassLoader)
+
+ val clazz = loader.loadClass(spec)
+ val instance = clazz.getField("MODULE$").get(null).asInstanceOf[Spec]
+
+ instance.main(if (colors) Array("-c") else Array())
+ }
+}