Hi Pablo,

I ran in the exact same issues this week.
I have a patch for both issues at
https://github.com/alexism/buildr/tree/scala_29

You can install this branch until it gets integrated in the next release.

Alexis

On Thu, May 26, 2011 at 5:08 PM, Pablo Lalloni <[email protected]> wrote:

> Hello everyone,
>
> This is my first email to this maillist so please forgive my lack of
> familiarity with local protocols.
>
> Now to the situation... I'm using buildr for the first time ever and using
> it for a scala project, in my project I've got some specs and suites
> written
> over scalatest framework setted on buildfile.rb with "test.using
> :scalatest"
>
> I'm using scala 2.9.0 setted on build.yaml with "scala.version".
>
> In this setting "buildr clean test" fails with:
>
> Downloading org.scala-tools.testing:scalacheck_2.9.0:jar:1.7
> Buildr aborted!
> RuntimeError : Failed to download
> org.scala-tools.testing:scalacheck_2.9.0:jar:1.7, tried the following
> repositories:
> http://scala-tools.org/repo-releases/
> http://scala-tools.org/repo-snapshots/
> http://www.ibiblio.org/maven2//
>
> I figured out it was because the default version of scalacheck wich gets
> used is 1.7 and for that varsion there is no scala 2.9 jar deployed... so I
> went and setted "scala.check = 1.9" on build.yaml, then it ended at:
>
> E, [2011-05-26T19:55:32.859152 #10775] ERROR -- : Error instantiating
> 'scalatest' task: scala.collection.immutable.Set$EmptySet$ cannot be cast
> to
> scala.collection.generic.Addable
> Test framework error: scala.collection.immutable.Set$EmptySet$ cannot be
> cast to scala.collection.generic.Addable
> The following tests failed:
> org.retistruen.AsynchronousSuite
> org.retistruen.BufferedMaxSpec
> org.retistruen.VariableSpec
>
> After investigation I determined this was because default scalatest jar
> used
> is 1.3 which again is not scala 2.9 compatible... so I added "scala.test =
> 1.4.1" at build.yaml, then I got:
>
> Downloading org.scalatest:scalatest:jar:1.4.1
> Buildr aborted!
> RuntimeError : Failed to download org.scalatest:scalatest:jar:1.4.1, tried
> the following repositories:
> http://scala-tools.org/repo-releases/
> http://scala-tools.org/repo-snapshots/
> http://www.ibiblio.org/maven2//
>
> So I've found there's not scalatest 1.4.1 jar deployed on scala-tools repo
> without the _2.9.0 artifactId suffix... then I tried to find out how to
> customize the scalatest artifactId buildr uses but I've found no way other
> than subclassing Scala::Test::ScalaTestFramework using this code:
>
> module Buildr::Scala
>  class CustomScalaTest < Buildr::Scala::ScalaTest
>    VERSION = "1.4.1"
>    class << self
>      def dependencies
>        ["org.scalatest:scalatest_#{Scala.version}:jar:#{version}"] +
> Check.dependencies + JMock.dependencies + JUnit.dependencies
>      end
>    end
>  end
> end
>
> Buildr::TestFramework << Buildr::Scala::CustomScalaTest
>
> test.using :customscalatest
>
> Then everything worked out... testing and everything else.
>
> Is there an easiest way to override default scalatest artifactId that gets
> used?
>
> If there isn't... should not this change be on the default
> Buildr::Scala::CustomScalaTest? Better yet... should not all the groupId,
> artifactId and version of scalatest be parameterized so all can be
> customized from build.yaml?
>
> I will be happy to provide a patch if there is interest.
>
> Respect,
> Pablo
>

Reply via email to