You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by Andrew Palumbo <an...@msn.com> on 2020/01/23 14:07:39 UTC

Small refactor for RC4

Hey all,
While fixing a few missing artifacts from the source distribution, I finally found the apache-release profile instructions [1].  It clarifies the Apache naming and prefrred project structure.. I have https://github.com/apache/mahout/pull/389 open to work on it a relatively minor refactor to get us in line with the suggested structure.



Essentially the #389 refactors the


   distribution_${scala.compat.version}/


module into a single dist/


module with no scala version appended (both 2.11 and 2.12 distribution artifacts). this due to some automatic mirroring script which picks up distribution releases from the dist/release folder [1] on the apache server and copies it to mirrors.. Still need to ensure that the artifacts are signed properly when uploaded. [1] is possibly out of date however i did see this mentioned on other projects.. by using a dist/release directory for the full tarballs, Mahout 14.1 bin and src distributions will be downloadable from https://dist.apache.org/repos/dist/.


This will give us a final structure of:

├── bin
 |     |___mahout
 |
├── community
 |       \__mahout-spark-cli-drivers_2.11
 |       \__mahout-spark-cli-drivers_2.12
 |
├── core_2.11
 |____core_2.12
 |
├── dist
 |      \___release
 |           |___apache-mahout-14.1_2.11-bin.tar.gz
 |           |___apache-mahout-14.1_2.11-bin.tar.gz.asc
 |           |___apache-mahout-14.1_2.11-bin.bz2
 |           |___apache-mahout-14.1_2.11-bin.bz2.asc
 |           |___apache-mahout-14.1_2.11-src.tar.gz
 |           |___apache-mahout-14.1_2.11-src.tar.gz.asc
 |           |___apache-mahout-14.1_2.11-src.bz2
 |           |___apache-mahout-14.1_2.11-src.bz2.asc
 |
├── engine
 |     \___mahout-hdfs_2.11
 |     \___mahout-hdfs_2.12
 |
 |     \___mahout-spark_2.11
 |     \___mahout-spark_2.12
 |
├── examples
 |     \___bin
 |         |___current_examples.sh
 |              \___resources
 |
├── lib
 |      \___all_mahout-14.1_2.11.jars
 |      \___all_mahout-14.1_2.12.jars
 |
 |── website
 |
├── pom.xml



That will be essentially the tree that will be available on nexus.  There is no clear guide on how best to release a cross compiled build, but i think that this should be fine.  previously artifacts have shown in nexus correctly:

To test, I have used:

        <dependency>
            <groupId>org.apache.mahout</groupId>
            <artifactId>mahout-core_${scala.compat.version}</artifactId>
            <version>14.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.mahout</groupId>
            <artifactId>mahout-hdfs_${scala.compat.version}</artifactId>
            <version>14.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.mahout</groupId>
            <artifactId>mahout-spark_${scala.compat.version}</artifactId>
            <version>14.1</version>
            <classifier>tests</classifier>
        </dependency>

        <dependency>
            <groupId>org.apache.mahout</groupId>
            <artifactId>mahout-spark_${scala.compat.version}</artifactId>
            <version>14.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.mahout</groupId>
            <artifactId>mahout-spark-cli-drivers_${scala.compat.version}</artifactId>
            <version>14.1</version>
        </dependency>

When the artifacts were staged for RC3.  Per [3], It seems that we must have an SCM tag on each pom:

  Staging a release (1) preparing poms (3):

      (3) "Verify that all pom.xml files have an SCM definition." [3]


I'd added these in previously but thought I'd had an issue.  Adding them in now before RC4.

I wanted to outline some of the changes that might seem odd.  Any suggestions/comments/criticisms are welcome.

Thanks all,

I hope to have RC4 out shortly.


[1] https://www.apache.org/dev/release-publishing#distribution

[2] https://www.apache.org/dev/publishing-maven-artifacts.html#publish-snapshot

[3] https://www.apache.org/dev/publishing-maven-artifacts.html