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



Reply via email to