Seth Fitzsimmons created SEDONA-210:
---------------------------------------

             Summary: 1.3.0-incubating doesn't work with Scala 2.12 sbt projects
                 Key: SEDONA-210
                 URL: https://issues.apache.org/jira/browse/SEDONA-210
             Project: Apache Sedona
          Issue Type: Bug
            Reporter: Seth Fitzsimmons


`org.apache.sedona:[email protected]` ([direct Maven 
link](https://repo1.maven.org/maven2/org/apache/sedona/sedona-common/1.3.0-incubating/))
 is only built for Scala 2.13.x and doesn't include the Scala version suffix. 
This is problematic due to the inclusion of 
`org.scala-lang.modules:scala-collection-compat`, which targets specific Scala 
versions differently. As a result, `sbt` fails to build projects against Scala 
2.12 with this error:

```
2022.12.07 21:46:49 INFO  [error] Modules were resolved with conflicting 
cross-version suffixes in ProjectRef(uri("file:/path/to/project/"), "project"):
2022.12.07 21:46:49 INFO  [error]    
org.scala-lang.modules:scala-collection-compat _2.12, _2.13
```

The relevant part of the offending `build.sbt` looks like this:

```scala
scalaVersion := "2.12.17"
val SedonaVersion = "1.3.0-incubating"
val ScalaCompatibleVersion = "2.12"

libraryDependencies ++= Seq(
  "org.apache.sedona" %% f"sedona-core-${SparkCompatibleVersion}" % 
SedonaVersion,
  "org.apache.sedona" %% f"sedona-sql-${SparkCompatibleVersion}" % SedonaVersion
)
```

I was able to work around this by explicitly depending on the correct version 
of `org.scala-lang.modules:[email protected]` and excluding the 
wrong cross-versioned one:

```scala
libraryDependencies ++= Seq(
  "org.scala-lang.modules" %% "scala-collection-compat" % "2.9.0",
  "org.apache.sedona" %% f"sedona-core-${SparkCompatibleVersion}" % 
SedonaVersion, // exclude("org.scala-lang.modules", 
"scala-collection-compat_2.13"),
  "org.apache.sedona" %% f"sedona-sql-${SparkCompatibleVersion}" % 
SedonaVersion exclude("org.scala-lang.modules", "scala-collection-compat_2.13")
)
```



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to