And here comes the solution: <a href="http://github.com/hseeberger/scala-profiles-demo">http://github.com/hseeberger/scala-profiles-demo</a><div><br></div><div>Run Maven twice:</div><div>1. mvn install</div><div>2. mvn -Pscala-2.7.7 install</div>
<div><br></div><div>You wil get exactly what we need:</div><div><div>./scala-profiles-demo_2.7.7</div><div>./scala-profiles-demo_2.7.7/1.0-SNAPSHOT</div><div>./scala-profiles-demo_2.7.7/1.0-SNAPSHOT/maven-metadata-local.xml</div>
<div>./scala-profiles-demo_2.7.7/1.0-SNAPSHOT/scala-profiles-demo_2.7.7-1.0-SNAPSHOT.jar</div><div>./scala-profiles-demo_2.7.7/1.0-SNAPSHOT/scala-profiles-demo_2.7.7-1.0-SNAPSHOT.pom</div><div>./scala-profiles-demo_2.7.7/maven-metadata-local.xml</div>
<div>./scala-profiles-demo_2.8.0</div><div>./scala-profiles-demo_2.8.0/1.0-SNAPSHOT</div><div>./scala-profiles-demo_2.8.0/1.0-SNAPSHOT/maven-metadata-local.xml</div><div>./scala-profiles-demo_2.8.0/1.0-SNAPSHOT/scala-profiles-demo_2.8.0-1.0-SNAPSHOT.jar</div>
<div>./scala-profiles-demo_2.8.0/1.0-SNAPSHOT/scala-profiles-demo_2.8.0-1.0-SNAPSHOT.pom</div><div>./scala-profiles-demo_2.8.0/maven-metadata-local.xml</div><div><br></div><div>Heiko</div><br><div class="gmail_quote">On 8 September 2010 08:19, Heiko Seeberger <span dir="ltr"><<a href="mailto:heiko.seeberger@googlemail.com">heiko.seeberger@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Ceki,<div><br></div><div>Different Scala versions are binary incompatible and I don't believe that will change in the near future, even if Martin has said that once. IMHO 2.8.1 will not be binary compatible with 2.8.0. And 2.8.2 won't be with 2.8.1 nor with 2.8.0. And of course neither of these is compatible with 2.7.x. If you are interested in the reasons, you will find numerous resources on the web, e.g. [1] or [2]. Maybe starting from 2.9 EPFL will manage to solve that issue.</div>
<div><br></div><div>But that's not a reason to pack and go home. The solution is simple: Cross-build your libraries and frameworks against all the versions you want to support. If you look at an example of such a library deployed to a Maven style repository you will see that the artifact ID is suffixed with _2.8.0 or whatever Scala version [3]. So there is not only the project version but also the Scala version. SBT [4] makes that very easy, but I think I know a solution for Maven, too.</div>
<div><br></div><div>Akka has not yet been released (only milestones) and therefore they can target only one Scala version. But they already do it the style I described, i.e. they are ready for multiple versions. Lift already does builds against 2.7.7 and 2.8.0. And there will be others.</div>
<div><br></div><div>For something as widespread as SLF4J there in NO WAY not supporting 2.7.7 plus 2.8.0 plus 2.8.x. It just must be cross-built.</div><div><br></div><div>So your (d) is not an option, but as I already mentioned I hope to find a Maven based solution.<br clear="all">
<br></div><div>Heiko</div><div><br></div><div>[1] <a href="http://stackoverflow.com/questions/2053265/scala-binary-incompatibility-between-releases" target="_blank">http://stackoverflow.com/questions/2053265/scala-binary-incompatibility-between-releases</a></div>
<div>[2] <a href="http://it-republik.de/jaxenter/news/Scala---Die-Reifepruefung-056248.html" target="_blank">http://it-republik.de/jaxenter/news/Scala---Die-Reifepruefung-056248.html</a></div><div>[3] <a href="http://scala-tools.org/repo-releases/com/weiglewilczek/scalamodules/scalamodules-core_2.8.0/2.0.0.RC2/" target="_blank">http://scala-tools.org/repo-releases/com/weiglewilczek/scalamodules/scalamodules-core_2.8.0/2.0.0.RC2/</a></div>
<div>[4] <a href="http://code.google.com/p/simple-build-tool/" target="_blank">http://code.google.com/p/simple-build-tool/</a><br></div><div><div></div><div class="h5"><br><div class="gmail_quote">On 7 September 2010 22:59, Ceki Gülcü <span dir="ltr"><<a href="mailto:ceki@qos.ch" target="_blank">ceki@qos.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 07/09/2010 10:53 PM, Ceki Gülcü wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 07/09/2010 8:08 PM, Heiko Seeberger wrote:<br>
</blockquote>
<br>
</div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
As we will probably see Scala 2.8.1 end of this year and milestones and<br>
release candidates even earlier, this is an important issue for SLF4S.<br>
How could we deal with that?<br>
</blockquote>
<br>
There is no way 2.8.1 will be (or can be) incompatible with 2.8. The 2.7<br>
to 2.8 binary incompatibility was a single fluke occurrence.<br>
</blockquote>
<br></div>
2.8.1 will be binary compatible with 2.8.0. See <a href="http://bit.ly/93ie5V" target="_blank">http://bit.ly/93ie5V</a><div><div></div><div><br>
_______________________________________________<br>
slf4j-dev mailing list<br>
<a href="mailto:slf4j-dev@qos.ch" target="_blank">slf4j-dev@qos.ch</a><br>
<a href="http://qos.ch/mailman/listinfo/slf4j-dev" target="_blank">http://qos.ch/mailman/listinfo/slf4j-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br></div></div>-- <br><font color="#888888">Heiko Seeberger</font><div><div></div><div class="h5"><br><br>Company: <a href="http://weiglewilczek.com" target="_blank">weiglewilczek.com</a><br>
Blog: <a href="http://heikoseeberger.name" target="_blank">heikoseeberger.name</a><br>
Follow me: <a href="http://twitter.com/hseeberger" target="_blank">twitter.com/hseeberger</a><br>OSGi on Scala: <a href="http://scalamodules.org" target="_blank">scalamodules.org</a><br>Lift, the simply functional web framework: <a href="http://liftweb.net" target="_blank">liftweb.net</a><br>
Akka - Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors: <a href="http://akkasource.org" target="_blank">akkasource.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Heiko Seeberger<br><br>Company: <a href="http://weiglewilczek.com" target="_blank">weiglewilczek.com</a><br>Blog: <a href="http://heikoseeberger.name" target="_blank">heikoseeberger.name</a><br>
Follow me: <a href="http://twitter.com/hseeberger" target="_blank">twitter.com/hseeberger</a><br>OSGi on Scala: <a href="http://scalamodules.org" target="_blank">scalamodules.org</a><br>Lift, the simply functional web framework: <a href="http://liftweb.net" target="_blank">liftweb.net</a><br>
Akka - Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors: <a href="http://akkasource.org" target="_blank">akkasource.org</a><br>
</div>