[
https://issues.apache.org/jira/browse/MAHOUT-2020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16221258#comment-16221258
]
Pat Ferrel commented on MAHOUT-2020:
------------------------------------
The problem here is with the multi-artifact build. The last version I tried
always builds scala 2.10 version(s) of modules and makes the
{scala.compat.version} = 2.10 in the master POM of the mvn repo. This trickles
down to the child POMs in the repo and therefore the math-scala_2.11 is not
found because the POM is telling the resolver to look for the scala 2.10 jar.
This is very subtle because the jars are there for scala 2.10 and 2.11 but
their poms use the master pom's {scala.compat.version} which seem to be always
set to 2.10.
The solution may be to not set the {scala.compat.version} in the master pom but
set it in each scala module's pom with the correct scala version. Whatever the
solution is must account for the possible use of more than one
{scala.compat.version} that gets applied where the jar is stored in the maven
directory structure.
I know this works because I have created by hand, using `mvn deploy`, a maven
type repo that excludes the master pom and things are resolved correctly. This
seems to mean the {scala.compat.version} is set somewhere outside of the master
pom, not sure where.
> Maven repo structure compatibility with SBT
> -------------------------------------------
>
> Key: MAHOUT-2020
> URL: https://issues.apache.org/jira/browse/MAHOUT-2020
> Project: Mahout
> Issue Type: Bug
> Components: build
> Affects Versions: 0.13.1
> Environment: Creating a project from maven built Mahout using sbt.
> Made critical since it seems to block using Mahout with sbt. At least I have
> found no way to do it.
> Reporter: Pat Ferrel
> Assignee: Trevor Grant
> Priority: Blocker
> Fix For: 0.13.1
>
>
> The maven repo should build:
> org/apache/mahout/mahout-spark-2.1/0.13.1-SNAPSHOT/mahout-spark-2.1_2.11-0.13.1-SNAPSHOT.jar
> substitute Spark version for -2.1, so -1.6 etc.
> The build.sbt `libraryDependencies` line then will be:
> `"org.apache.mahout" %% "mahout-spark-2.1" % “0.13.1-SNAPSHOT`
> This is parsed by sbt to yield the path of :
> org/apache/mahout/mahout-spark-2.1/0.13.1-SNAPSHOT/mahout-spark-2.1_2.11-0.13.1-SNAPSHOT.jar
> The outcome of `mvn clean install` currently is something like:
> org/apache/mahout/mahout-spark/0.13.1-SNAPSHOT/mahout-spark-0.13.1-SNAPSHOT-spark_2.1.jar
> This has no effect on the package structure, only artifact naming and maven
> repo structure.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)