fresh ScalaTest

6 views
Skip to first unread message

Kevin Wright

unread,
Jun 24, 2010, 9:34:29 AM6/24/10
to scalate...@googlegroups.com, Bill Venners, scala...@googlegroups.com

As part of the scala fresh initiative, I've put myself forward to help enable Scalatest work with maven-sourced libraries.

ScalaTest is widely used as an upstream dependency of many other projects, so it's definitely an important one to get sorted.  As a side benefit, it also means that automatic builds of the project, triggered by new Scala release candidates, should be easy to arrange.


My current thinking goes something like this:
  • ScalaTest currently uses ant as a build tool
  • it's already structured using the maven standard layout for source and target directories
  • It should therefore be easy to add a parallel maven build to the existing structure
  • (alternatively, ant could be retrofitted to use the maven plugin for dependency management)
  • For the code generation, a Maven build could bind the antrun plugin to the generate-sources goal
  • the maven 'dependency' plugin could also be used to update the libs directory, so the ant build needn't be deprecated
If anybody has already attempted anything like this already, I'd love to hear from you.  I'm also interested to know the general opinions/preferences of the group.

As a related issue, I also think the task would be easier if Bill were willing to migrate the source code to a git repository such as Assembla or GitHub, but this isn't a prerequisite by any means!



Kevin Wright

unread,
Jun 24, 2010, 9:48:19 AM6/24/10
to Bill Venners, scalate...@googlegroups.com, scala...@googlegroups.com
We're already using Assembla for Lift and the Eclipse IDE, as well as the London Scala Dojos, and it's highly likely that the Incubator will also be moving there soon.  It comes highly recommended :)

Can you point me to the current location for the SBT build sources?  As these aren't in my local checkout of the ScalaTest from SVN.


As for ensuring upstream support of new Scala releases...  That's exactly why the Scala Fresh initiative was started :)



On 24 June 2010 14:42, Bill Venners <bi...@artima.com> wrote:
Hi Kevin,

There's a parallel sbt build, but I haven't used it in a while, so a
parallel maven build should be straightforward. I think that would be
good. The reason we didn't want to rely just on sbt and have a
parallel build was the dependency problem. I didn't want to have to
wait for sbt to support a new release of Scala before ScalaTest could
support it.

I want to move off of java.net, because it is very slow to navigate
the source code via web pages. I'm not sure about github or assembla.
I'll take a look at assembla and see.

Thanks.

Bill
--
Bill Venners
Artima, Inc.
http://www.artima.com



--
Kevin Wright

mail/google talk: kev.lee...@gmail.com
wave: kev.lee...@googlewave.com
skype: kev.lee.wright
twitter: @thecoda

Jason Zaugg

unread,
Jun 24, 2010, 11:47:34 AM6/24/10
to scala...@googlegroups.com, Bill Venners
+1 for SBT.

SBT build configuration, and SBT itself is based on Scala 2.7.7. It
has a small compiler interface layer to invoke the compiler which
needs to remain source compatible with the 2.8.x branch. It is
automatically recompiled as part of the build process when you update
to a new Scala version.

This layer was incompatible for a few weeks earlier this year during
the classpath changes in the compiler, but I think this is less likely
to happen in the future if is is continuously integrated through the
Scala Fresh builds.

-jason

Kevin Wright

unread,
Jul 3, 2010, 1:47:50 PM7/3/10
to scala...@googlegroups.com, scalate...@googlegroups.com, Bill Venners
I'm proud to announce an updated pom.xml and build.xml for ScalaTest.  I'm using the maven-ant-tasks to handle deps, and have been able to drop the lib directory from the build entirely.

All dependency version numbers have been moved into the POM, so future maintenance should also be a bit easier :)

I did look into the pre-existing SBT build, but it looked a little dated, and was just another unnecessary dependency.  If SBT should also have a dependency on ScalaTest then this would introduce a nasty circular reference issue for the Fresh Scala initiative.


As a test, I've just built ScalaTest-1.2-for-scala-2.8.0.RC6-SNAPSHOT successfully (just a few warning about the docs).
A missing scalacheck_2.8.0.RC7 dependency is the only thing that stops me from building ScalaTest-1.2-for-scala-2.8.0.RC7-SNAPSHOT
(otherwise, it only needs a single line change to do this...)


Bill:
  If you're willing to clone your SVN source into an assembla space, I could have these changes up on a branch within minutes :)




--
You received this message because you are subscribed to the Google Groups "Scala Fresh" group.
To post to this group, send email to scala...@googlegroups.com.
To unsubscribe from this group, send email to scala-fresh...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/scala-fresh?hl=en.

David Pollak

unread,
Jul 3, 2010, 1:57:20 PM7/3/10
to scala...@googlegroups.com
Awesome!!
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Blog: http://goodstuff.im
Surf the harmonics
Reply all
Reply to author
Forward
0 new messages