[ 
https://issues.apache.org/jira/browse/MAHOUT-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16083586#comment-16083586
 ] 

ASF GitHub Bot commented on MAHOUT-1654:
----------------------------------------

Github user sslavic commented on the issue:

    https://github.com/apache/mahout/pull/331
  
    @rawkintrevo making release step includes running Maven release plugin, 
prepare and perform goals. Perform runs a build (of of the sources prepared by 
prepare, so with non-snapshot version set, and with all changes committed), 
creates artifacts, and uploads/deploys artifacts on Apache artifact repository 
- all in a single run. Maybe I missed something in the PR, but I guess there's 
no code that attaches artifacts previously built with this new shell script, to 
the Maven build running "perform" - so those artifacts will not be published on 
Apache Maven artifact repository. I guess the goal is to have all variants 
(scala, spark) and all artifacts published.
    
    Because of that, when solving same problem in the past I opted for 
switching from Maven to sbt (see 
https://issues.apache.org/jira/browse/MAHOUT-1654 and 
https://github.com/sslavic/mahout/tree/MAHOUT-1654 )
    
    sbt is aware of Scala binary compatibility "feature" and can natively in 
single build run release all different variants of a (multi-module) project for 
different Scala versions, and release all of them. Maven has no good support 
for this Scala specific - just like you do in this new script, you have to run 
Maven multiple times with different profiles active. sbt does that too 
internally, it just keeps the context, that all the different internal builds 
with different settings are all part of one big build execution, and ends up 
releasing all the artifacts.


> Migrate from Maven to SBT
> -------------------------
>
>                 Key: MAHOUT-1654
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1654
>             Project: Mahout
>          Issue Type: Improvement
>          Components: build
>            Reporter: Stevo Slavic
>            Assignee: Stevo Slavic
>             Fix For: 0.12.0
>
>
> Mahout modules which are Scala libraries like mahout-math-scala, 
> mahout-spark/mahout-spark-shell, should be published across Scala binary 
> versions to be usable to wider audience. At the moment this is not possible 
> with Maven. We need to switch to another build tool which supports this, and 
> SBT is most natural choice. Besides allowing us to publish Mahout Scala 
> libraries across Scala binary versions, it is expected that this migration 
> will help us mitigate/resolve other issues (to name a few, issue of 
> publishing javadoc/scaladoc documentation, and long standing issue of 
> migration to modern CLI library with sources).
> As acceptance criteria of migration success it should be defined that both 
> project committers and users see only improvements/benefits, everything else 
> that was possible and available with existing Maven build should be possible 
> with SBT.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to