Repository: buildr Updated Branches: refs/heads/master 5bcd625f1 -> ed77d8311
BUILDR-724: Use scalamain to call scala projects Project: http://git-wip-us.apache.org/repos/asf/buildr/repo Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/ed77d831 Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/ed77d831 Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/ed77d831 Branch: refs/heads/master Commit: ed77d83111fc2c6a179df97fbe22e3516820bf2b Parents: 5bcd625 Author: Antoine Toulme <[email protected]> Authored: Tue Nov 1 00:29:04 2016 -0700 Committer: Antoine Toulme <[email protected]> Committed: Tue Nov 1 00:29:04 2016 -0700 ---------------------------------------------------------------------- CHANGELOG | 1 + lib/buildr/scala/bdd.rb | 6 +- lib/buildr/scala/compiler.rb | 7 ++- .../scala/org/apache/buildr/Specs2Runner.java | 37 ------------ .../apache/buildr/SpecsSingletonRunner.class | Bin 1891 -> 0 bytes .../org/apache/buildr/SpecsSingletonRunner.java | 57 ------------------- .../scala/org/apache/buildr/ZincRunner.class | Bin 1162 -> 0 bytes .../scala/org/apache/buildr/ZincRunner.java | 37 ------------ 8 files changed, 9 insertions(+), 136 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/CHANGELOG ---------------------------------------------------------------------- diff --git a/CHANGELOG b/CHANGELOG index 909ec04..c539f03 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,7 @@ * Change: Move hoe to the development dependencies * Fixed: BUILDR-728 Snapshots metadata incorrectly created * Fixed: BUILDR-718 Deprecate SVN repository - remove links to SVN +* Change: BUILDR-724 Use scalamain to call scala projects 1.5.0 (2016-09-23) * Change: Update RJB to 1.5.4 http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/lib/buildr/scala/bdd.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/bdd.rb b/lib/buildr/scala/bdd.rb index e72d65f..ad13663 100644 --- a/lib/buildr/scala/bdd.rb +++ b/lib/buildr/scala/bdd.rb @@ -92,7 +92,7 @@ module Buildr::Scala #:nodoc: unless @dependencies super - # Add utility classes (e.g. SpecsSingletonRunner) and other dependencies + # Add utility classes and other dependencies options = { :scopes => [nil, "compile", "runtime", "provided", "optional"], :optional => true @@ -144,10 +144,10 @@ module Buildr::Scala #:nodoc: :classpath => dependencies, :name => false } - runner = 'org.apache.buildr.Specs2Runner' + runner = 'org.specs2.runner.ClassRunner' specs.inject [] do |passed, spec| begin - Java::Commands.java(runner, spec, cmd_options) + Java::Commands.java('io.tmio.scalamain.Main', runner, 'run', spec, cmd_options) rescue => e passed else http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/lib/buildr/scala/compiler.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/compiler.rb b/lib/buildr/scala/compiler.rb index feb127c..c295c4e 100644 --- a/lib/buildr/scala/compiler.rb +++ b/lib/buildr/scala/compiler.rb @@ -90,6 +90,7 @@ module Buildr::Scala DEFAULT_ZINC_VERSION = '0.3.12' DEFAULT_SBT_VERSION = '0.13.12' DEFAULT_JLINE_VERSION = '2.14.2' + DEFAULT_SCALAMAIN_VERSION = '1.0.0' class << self def scala_home @@ -164,11 +165,13 @@ module Buildr::Scala zinc_version = Buildr.settings.build['zinc.version'] || DEFAULT_ZINC_VERSION sbt_version = Buildr.settings.build['sbt.version'] || DEFAULT_SBT_VERSION jline_version = Buildr.settings.build['jline.version'] || DEFAULT_JLINE_VERSION + scalamain_version = Buildr.settings.build['scalamain.version'] || DEFAULT_SCALAMAIN_VERSION ns.zinc! "com.typesafe.zinc:zinc:jar:>=#{zinc_version}" ns.sbt_interface! "com.typesafe.sbt:sbt-interface:jar:>=#{sbt_version}" ns.incremental! "com.typesafe.sbt:incremental-compiler:jar:>=#{sbt_version}" ns.compiler_interface_sources! "com.typesafe.sbt:compiler-interface:jar:sources:>=#{sbt_version}" ns.jline! "jline:jline:jar:>=#{jline_version}" + ns.scalamain! "io.tmio:scalamain:jar:>=#{scalamain_version}" end Javac = Buildr::Compiler::Javac @@ -279,9 +282,9 @@ module Buildr::Scala cmd_args += files_from_sources(sources) unless Buildr.application.options.dryrun - trace((['org.apache.buildr.ZincRunner'] + cmd_args).join(' ')) + trace((['io.tmio.scalamain.Main', 'com.typesafe.zinc.Main', 'main'] + cmd_args).join(' ')) begin - Java::Commands.java 'org.apache.buildr.ZincRunner', *(cmd_args + [{ :classpath => Scalac.dependencies + [ File.join(File.dirname(__FILE__)) ]}]) + Java::Commands.java 'io.tmio.scalamain.Main', *(['com.typesafe.zinc.Main', 'main'] + cmd_args + [{ :classpath => Scalac.dependencies + [ File.join(File.dirname(__FILE__)) ]}]) rescue => e fail "Zinc compiler crashed:\n#{e.inspect}\n#{e.backtrace.join("\n")}" end http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/lib/buildr/scala/org/apache/buildr/Specs2Runner.java ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/org/apache/buildr/Specs2Runner.java b/lib/buildr/scala/org/apache/buildr/Specs2Runner.java deleted file mode 100644 index 55c52b1..0000000 --- a/lib/buildr/scala/org/apache/buildr/Specs2Runner.java +++ /dev/null @@ -1,37 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -package org.apache.buildr; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; - -public class Specs2Runner { - - public static void main(String[] args) { - try { - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - Class clazz = loader.loadClass("org.specs2.runner.ClassRunner$"); - Field singleton = clazz.getField("MODULE$"); - Object instance = singleton.get(null); - Method main = clazz.getMethod("run", String[].class); - main.invoke(instance, new Object[] { args }); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - -} http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class b/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class deleted file mode 100644 index 7a27b57..0000000 Binary files a/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java b/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java deleted file mode 100644 index 611c46b..0000000 --- a/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java +++ /dev/null @@ -1,57 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -package org.apache.buildr; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLClassLoader; -import java.io.File; - -/** - * @author Daniel Spiewak - */ -public class SpecsSingletonRunner { - // Incompatible with JVM 1.4 target - // @throws(classOf[Throwable]) - public static void main(String[] args) { - boolean colors = (args.length > 1 && args[1].equals("-c")); - String spec = colors ? args[2] : args[1]; - - run(args[0], colors, spec); - } - - // Incompatible with JVM 1.4 target - // @throws(classOf[Throwable]) - static void run(String path, boolean colors, String spec) { - try { - File parent = new File(path); - URL specURL = new File(parent, spec.replace('.', '/') + ".class").toURL(); - URLClassLoader loader = new URLClassLoader(new URL[] { specURL }, Thread.currentThread().getContextClassLoader()); - - Class clazz = loader.loadClass(spec); - Object instance = clazz.getField("MODULE$").get(null); - - Method main = clazz.getMethod("main", String[].class); - - String[] args = colors ? new String[] { "-c" } : new String[] {}; - main.invoke(instance, new Object[] { args }); - } catch (Exception e) { - throw new RuntimeException(e); - } - } -} http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/lib/buildr/scala/org/apache/buildr/ZincRunner.class ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/org/apache/buildr/ZincRunner.class b/lib/buildr/scala/org/apache/buildr/ZincRunner.class deleted file mode 100644 index a60c7eb..0000000 Binary files a/lib/buildr/scala/org/apache/buildr/ZincRunner.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/buildr/blob/ed77d831/lib/buildr/scala/org/apache/buildr/ZincRunner.java ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/org/apache/buildr/ZincRunner.java b/lib/buildr/scala/org/apache/buildr/ZincRunner.java deleted file mode 100644 index e8a6407..0000000 --- a/lib/buildr/scala/org/apache/buildr/ZincRunner.java +++ /dev/null @@ -1,37 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -package org.apache.buildr; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; - -public class ZincRunner { - - public static void main(String[] args) { - try { - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - Class clazz = loader.loadClass("com.typesafe.zinc.Main$"); - Field singleton = clazz.getField("MODULE$"); - Object instance = singleton.get(null); - Method main = clazz.getMethod("main", String[].class); - main.invoke(instance, new Object[] { args }); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - -}
