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