Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C85F7200B73 for ; Mon, 15 Aug 2016 08:10:40 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C709E160AA9; Mon, 15 Aug 2016 06:10:40 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A91A8160AB5 for ; Mon, 15 Aug 2016 08:10:39 +0200 (CEST) Received: (qmail 53235 invoked by uid 500); 15 Aug 2016 06:10:38 -0000 Mailing-List: contact commits-help@buildr.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@buildr.apache.org Delivered-To: mailing list commits@buildr.apache.org Received: (qmail 53202 invoked by uid 99); 15 Aug 2016 06:10:38 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Aug 2016 06:10:38 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A3805DFBA3; Mon, 15 Aug 2016 06:10:38 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: toulmean@apache.org To: commits@buildr.apache.org Date: Mon, 15 Aug 2016 06:10:40 -0000 Message-Id: <41482ad09d274f08beb504e1f60d958e@git.apache.org> In-Reply-To: <50b7c0086cb44876a4b161117bf974be@git.apache.org> References: <50b7c0086cb44876a4b161117bf974be@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [3/7] buildr git commit: remove Scala specs archived-at: Mon, 15 Aug 2016 06:10:40 -0000 remove Scala specs Project: http://git-wip-us.apache.org/repos/asf/buildr/repo Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/06d9c660 Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/06d9c660 Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/06d9c660 Branch: refs/heads/master Commit: 06d9c6604f1d6488a7da58058262de9b1184b1ad Parents: 02f5ede Author: Antoine Toulme Authored: Sun Aug 14 21:48:55 2016 -0700 Committer: Antoine Toulme Committed: Sun Aug 14 21:48:55 2016 -0700 ---------------------------------------------------------------------- doc/languages.textile | 2 +- lib/buildr/scala/bdd.rb | 125 ------------------- lib/buildr/scala/doc.rb | 1 - .../scala/org/apache/buildr/Specs2Runner.java | 7 +- .../apache/buildr/SpecsSingletonRunner.class | Bin 1891 -> 1890 bytes spec/scala/bdd_spec.rb | 101 --------------- 6 files changed, 5 insertions(+), 231 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/buildr/blob/06d9c660/doc/languages.textile ---------------------------------------------------------------------- diff --git a/doc/languages.textile b/doc/languages.textile index 5e45546..ec1b985 100644 --- a/doc/languages.textile +++ b/doc/languages.textile @@ -351,7 +351,7 @@ h4. Specs Specs is automatically selected whenever there are @.scala@ source files under the @src/spec/scala@ directory. It is also possible to force selection of the test framework by using the @test.using :specs@ directive. This can sometimes be useful when Scala sources may be found in *both* @src/test/scala@ and @src/spec/scala@. Normally in such cases, ScalaTest will have selection precedence, meaning that in case of a conflict between it and Specs, ScalaTest will be chosen. -Any objects which extend the @org.specs.Specification@ superclass will be automatically detected and run. Note that any *classes* which extend @Specification@ will also be invoked. As such classes will not have a @main@ method, such an invocation will raise an error. +Any objects which extend the @org.specs.Specification@ or @org.specs2.Specification@ superclass will be automatically detected and run. Note that any *classes* which extend @Specification@ will also be invoked. As such classes will not have a @main@ method, such an invocation will raise an error. A simple specification might look like this: http://git-wip-us.apache.org/repos/asf/buildr/blob/06d9c660/lib/buildr/scala/bdd.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/bdd.rb b/lib/buildr/scala/bdd.rb index c2a6f52..e72d65f 100644 --- a/lib/buildr/scala/bdd.rb +++ b/lib/buildr/scala/bdd.rb @@ -15,125 +15,6 @@ module Buildr::Scala #:nodoc: - # Specs is a Scala based BDD framework. - # To use in your project: - # - # test.using :specs - # - # This framework will search in your project for: - # src/spec/scala/**/*.scala - class Specs < Buildr::TestFramework::JavaBDD - @lang = :scala - @bdd_dir = :spec - - VERSION = case - when Buildr::Scala.version?("2.8.0") - '1.6.5' - when Buildr::Scala.version?("2.8.1"), Buildr::Scala.version?("2.8.2"), Buildr::Scala.version?("2.9.0") - '1.6.8' - else - '1.6.9' - end - - class << self - def version - custom = Buildr.settings.build['scala.specs'] - (custom =~ /:/) ? Buildr.artifact(custom).version : VERSION - end - - def specs - custom = Buildr.settings.build['scala.specs'] - [ (custom =~ /:/) ? custom : "org.scala-tools.testing:#{artifact}:jar:#{version}" ] - end - - def artifact - custom = Buildr.settings.build['scala.specs.artifact'] - return custom unless custom.nil? - - if Buildr::Scala.version >= "2.11" - "specs_2.10" - else - "specs_#{Buildr::Scala.version_without_build}" - end - end - - def dependencies - unless @dependencies - super - # Add utility classes (e.g. SpecsSingletonRunner) and other dependencies - @dependencies |= [ File.join(File.dirname(__FILE__)) ] + - specs + - Check.dependencies + JUnit.dependencies + Scalac.dependencies + ["org.scala-lang.modules:scala-xml_2.11:jar:1.0.5"] - end - @dependencies - end - - def applies_to?(project) #:nodoc: - scala_files = Dir[project.path_to(:source, bdd_dir, lang, '**/*.scala')] - return false if scala_files.empty? - scala_files.detect { |f| find(f, /\s+(org\.specs\.)/) } - end - - private - def const_missing(const) - return super unless const == :REQUIRES # TODO: remove in 1.5 - Buildr.application.deprecated "Please use Scala::Specs.dependencies/.version instead of ScalaSpecs::REQUIRES/VERSION" - dependencies - end - - def find(file, pattern) - File.open(file, "r") do |infile| - while (line = infile.gets) - return true if line.match(pattern) - end - end - false - end - end - - def initialize(task, options) #:nodoc: - super - - specs = task.project.path_to(:source, :spec, :scala) - task.compile.from specs if File.directory?(specs) - - resources = task.project.path_to(:source, :spec, :resources) - task.resources.from resources if File.directory?(resources) - end - - def tests(dependencies) - candidates = filter_classes(dependencies, :interfaces => ['org.specs.Specification']) - - Java.load # Java is already loaded, but just in case - - filter = Java.org.apache.buildr.JavaTestFilter.new(dependencies.to_java(Java.java.lang.String)) - filter.add_fields ['MODULE$'].to_java(Java.java.lang.String) - filter.filter(candidates.to_java(Java.java.lang.String)).map { |s| s[0..(s.size - 2)] } - end - - def run(specs, dependencies) #:nodoc: - cmd_options = { :properties => options[:properties], - :java_args => options[:java_args], - :classpath => dependencies, - :name => false } - - runner = 'org.apache.buildr.SpecsSingletonRunner' - specs.inject [] do |passed, spec| - begin - unless Util.win_os? - Java::Commands.java(runner, task.compile.target.to_s, '-c', spec + '$', cmd_options) - else - Java::Commands.java(runner, task.compile.target.to_s, spec + '$', cmd_options) - end - rescue => e - passed - else - passed << spec - end - end - end - end - class Specs2 < Buildr::TestFramework::JavaBDD @lang = :scala @bdd_dir = :spec @@ -277,10 +158,4 @@ module Buildr::Scala #:nodoc: end end -# Backwards compatibility stuff. Remove in 1.5. -module Buildr #:nodoc: - ScalaSpecs = Scala::Specs -end - -Buildr::TestFramework << Buildr::Scala::Specs Buildr::TestFramework << Buildr::Scala::Specs2 http://git-wip-us.apache.org/repos/asf/buildr/blob/06d9c660/lib/buildr/scala/doc.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/scala/doc.rb b/lib/buildr/scala/doc.rb index 9d9cf0c..d30a10f 100644 --- a/lib/buildr/scala/doc.rb +++ b/lib/buildr/scala/doc.rb @@ -80,7 +80,6 @@ module Buildr #:nodoc: class VScaladoc < Base VERSION = '1.2-m1' - Buildr.repositories.remote << 'https://oss.sonatype.org/content/groups/scala-tools' class << self def dependencies http://git-wip-us.apache.org/repos/asf/buildr/blob/06d9c660/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 index f0e38cf..55c52b1 100644 --- a/lib/buildr/scala/org/apache/buildr/Specs2Runner.java +++ b/lib/buildr/scala/org/apache/buildr/Specs2Runner.java @@ -24,9 +24,10 @@ public class Specs2Runner { public static void main(String[] args) { try { ClassLoader loader = Thread.currentThread().getContextClassLoader(); - Class clazz = loader.loadClass("org.specs2.runner.ClassRunner"); - Object instance = clazz.newInstance(); - Method main = clazz.getMethod("main", String[].class); + 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/06d9c660/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 index 7a27b57..4318e43 100644 Binary files a/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class and b/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class differ http://git-wip-us.apache.org/repos/asf/buildr/blob/06d9c660/spec/scala/bdd_spec.rb ---------------------------------------------------------------------- diff --git a/spec/scala/bdd_spec.rb b/spec/scala/bdd_spec.rb index fb946da..25167ab 100644 --- a/spec/scala/bdd_spec.rb +++ b/spec/scala/bdd_spec.rb @@ -15,104 +15,6 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helpers')) -if Java.java.lang.System.getProperty("java.runtime.version") >= "1.6" - -describe Buildr::Scala::Specs do - - it 'should be the default when tests in src/spec/scala reference "org.specs"' do - write 'src/spec/scala/com/example/MySpecs.scala', <<-SCALA - package com.example - object MySpecs extends org.specs.Specification { - "it" should { - "add" in { - val sum = 1 + 1 - sum mustEqual 2 - } - } - } - SCALA - define 'foo' - project('foo').test.framework.should eql(:specs) - end - - it 'should include Specs dependencies' do - define('foo') { test.using(:specs) } - project('foo').test.compile.dependencies.should include(*artifacts(Scala::Specs.dependencies)) - project('foo').test.dependencies.should include(*artifacts(Scala::Specs.dependencies)) - end - - it 'should include ScalaCheck dependencies' do - define('foo') { test.using(:specs) } - project('foo').test.compile.dependencies.should include(*artifacts(Scala::Check.dependencies)) - project('foo').test.dependencies.should include(*artifacts(Scala::Check.dependencies)) - end - - it 'should include public objects extending org.specs.Specification' do - write 'src/spec/scala/com/example/MySpecs.scala', <<-SCALA - package com.example - object MySpecs extends org.specs.Specification { - "it" should { - "add" in { - val sum = 1 + 1 - sum mustEqual 2 - } - } - } - SCALA - define('foo').test.invoke - project('foo').test.tests.should include('com.example.MySpecs') - end - - it 'should include public objects extending org.specs.Specification even with companion classes' do - write 'src/spec/scala/com/example/MySpecs.scala', <<-SCALA - package com.example - object MySpecs extends org.specs.Specification { - "it" should { - "add" in { - val sum = 1 + 1 - sum mustEqual 2 - } - } - } - class MySpecs extends org.specs.runner.JUnit4(MySpecs) - SCALA - define('foo').test.invoke - project('foo').test.tests.should include('com.example.MySpecs') - end - - it 'should pass when spec passes' do - write 'src/spec/scala/PassingSpecs.scala', <<-SCALA - object PassingSpecs extends org.specs.Specification { - "it" should { - "add" in { - val sum = 1 + 1 - sum mustEqual 2 - } - } - } - SCALA - lambda { define('foo').test.invoke }.should_not raise_error - end - - it 'should fail when spec fails' do - write 'src/spec/scala/StringSpecs.scala', <<-SCALA - import org.specs._ - import org.specs.runner._ - - object StringSpecs extends Specification { - "empty string" should { - "have a zero length" in { - ("".length) mustEqual(1) - } - } - } - SCALA - define('foo') - project('foo').test.invoke rescue - project('foo').test.failed_tests.should include('StringSpecs') - end -end - describe Buildr::Scala::Specs2 do it 'should be the default when tests in src/spec/scala reference "org.specs2"' do @@ -217,6 +119,3 @@ describe Buildr::Scala::Specs2 do end end -elsif Buildr::VERSION >= '1.5' - raise "JVM version guard in #{__FILE__} should be removed since it is assumed that Java 1.5 is no longer supported." -end