


<dependency>
<groupId>org.mod4j.org.apache.commons</groupId>
<artifactId>lang</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.github.seratch</groupId>
<artifactId>scalikejdbc_2.9.1</artifactId>
<version>1.4.3</version>
</dependency>
ArtifactId includes Scala version
Prevents us from fast migration to newer version of Scala until all libraries our products depends on supports newer version.
Be careful!
crossScalaVersions := Seq("2.9.1", "2.9.2", "2.10.0")
> + compile
> + publish
Compile and publish in multiple versions
import sbt._, sbt.Keys._
object ScalaProjectBuild extends Build {
lazy val scalaProject = Project(
id = "scala-project",
base = file("."),
settings = Project.defaultSettings ++ Seq(
// add other settings here
)
).dependsOn(
uri("git://github.com/tototoshi/scala-csv.git#0.7.0")
)
}
from SBT 0.12
ArtifactId now includes not Scala version but Scala binary version.
<dependency>
<groupId>com.github.seratch</groupId>
<artifactId>scalikejdbc_2.9.1</artifactId>
<version>1.4.3</version>
</dependency>
<dependency>
<groupId>com.github.seratch</groupId>
<artifactId>scalikejdbc_2.10</artifactId>
<version>1.4.3</version>
</dependency>
| Scala version | Scala binary version |
|---|---|
| 2.10.0 | 2.10 |
| 2.10.1 | 2.10 |
| 2.10.2 | 2.10 |
Scala 2.10.x ensures their binary compatibility
During RC period
| Scala version | Scala binary version |
|---|---|
| 2.10.0-RC1 | 2.10.0-RC1 |
| 2.10.0-RC2 | 2.10.0-RC2 |
| 2.10.0-RC3 | 2.10.0-RC3 |
Before 2.9.x
| Scala version | Scala binary version |
|---|---|
| 2.9.1 | 2.9.1 |
| 2.9.2 | 2.9.2 |
| 2.8.2 | 2.8.2 |
Scala version == Scala binary version
| Ruby | RubyGems |
| Perl | CPAN |
| Python | PyPI |
| Java | Maven Repository |
| Scala | Maven Repository |