
On 07/09/2010 8:08 PM, Heiko Seeberger wrote:
Hi,
Other than Java, Scala software must use the same Scala version for build and runtime. Because of this binary incompatibility Scala projects must be built against different Scala versions, also known as cross building. There is excellent support for cross building in SBT [1], but ASFAIK not in the Maven Scala plugin.
As we will probably see Scala 2.8.1 end of this year and milestones and release candidates even earlier, this is an important issue for SLF4S. How could we deal with that?
There is no way 2.8.1 will be (or can be) incompatible with 2.8. The 2.7 to 2.8 binary incompatibility was a single fluke occurrence.
(a) Switch the whole build from Maven to SBT: Not sure if that makes sense for a +95% Java project (b) Try to only build slf4j-scala with SBT: No clue how to integrate SBT and Maven; also publishing/deploying will be an issue due to different naming strategies for artifacts [2] (c) Keep things as they are, i.e. SLF4S as a separate Scala project
b) seems like a reasonable option. I m guessing that SBT can create maven artifacts. d) Be simplistic and only target scala 2.8. For example, akka only targets 2.8 in its latest release. I am confident that for a new library like slf4j-scala, we can get away with targeting only 2.8. Let's go for d.
Heiko
-- Ceki