I'm trying to set up a Jenkins task that regularly checks out a play 2.1-rc4 project and executes all the tasks that would be run normally when you do "play test."
Our Jenkins install is hosted on cloudbees (dev@cloud).
I installed the Jenkins sbt plugin and configured it to point to a valid copy of sbt(.11.? I think). In my build, I run a sbt test with the current directory set to the root of the play project.
My understanding was that sbt would update itself to .12 because of build.properties files under projects, download and installing the play sbt plugin, resolve all dependencies and then execute the tests.
However, sbt fails to resolve the play sbt plugin:
Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
warn play:sbt-plugin:2.1-RC4 (sbtVersion=0.11.3, scalaVersion=2.9.1)
The scala and sbt version attributes seem wrong (play 2.1 uses sbt .12)...I've been trying to piece together how play, sbt and Jenkins play together and have several questions:
- Will sbt .11 update itself on the fly just for the current build if build.properties calls for a newer version?
- What functionality does the play sbt plugin (loaded in plugins.sbt) add to sbt? Could I replace it with "pure" sbt?
- What are sbt.boot.properties and play's framework/sbt/boot directory for? When play runs sbt, it sets -Dsbt.boot.properties to a boot properties file in the framework/sbt directory. This file defines some repositories and the scala version among other thing. In this sbt directory, there's a sub-directory called "boot". In it,there's a directory tree including a ton of jars. What is all this boot stuff? It doesn't seem to be covered in the main sbt documentation.. My guess is that it has to do with loading sbt itself (resolving any necessary deps for sbt. Etc.)
- Does anyone have dev@cloud executing play 2.1-rc4 tests correctly? If so, how did you set it up?