[ 
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)

Reply via email to