mahout-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAHOUT-1654) Migrate from Maven to SBT
Date Wed, 12 Jul 2017 07:38:00 GMT

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

Mime
View raw message