Several recent email threads have discussed our parent pom and release process. 
 The process we have derive from Apache Common’s rich history which pre-dates 
many current distribution practices.  I’d like to summarize several quirks with 
our current releases:
The official release source tarball contains just the sources, not all the 
project files.  Building the artifact from just the src directory without the 
pom would be extremely difficult.
The commons parent pom attaches the source tarball to the maven release for the 
side effects of signing/checksumming the source tarball.  This induces a manual 
step of removing the source tarballs from the staging repository.
We publish convenience binaries to 
https://www.apache.org/dist/commons/XXX/binaries.  I doubt anyone consumes 
these binaries.  Most developers use Maven Central.  Extremely security 
conscious downstream projects consume the distribution source tarballs.
The distribution artifacts are doubled in size by providing both .zip and 
tar.gz versions.
Slightly different artifacts are published to Apache Distribution Site vs Maven 
Central.

Now the questions:

1. Are there any concerns with publishing the source and source-test jars 
produced by maven-source-plugin as the official distribution artifacts?  This 
would make the official distribution artifacts published to 
https://www.apache.org/dist/commons/XXX/source the same as the convenience 
source artifacts published to Maven Central.

2. Are there concerns with not publishing the convenience binaries to 
https://www.apache.org/dist/commons/XXX/binaries?  Alternatively, are there 
concerns with using the the jar produced by maven-jar-plugin as the convenience 
binary artifact?  This would make the convenience binary artifact published to 
https://www.apache.org/dist/commons/XXX/binaries the same as the convenience 
binary artifacts published to Maven Central.

Some background information to help contemplate these questions:

When releasing a package, Apache Commons publishes the official source tarball 
at https://www.apache.org/dist/commons/XXX/source.  The Apache Release Policy 
<http://www.apache.org/dev/release.html#what-must-every-release-contain> and 
Release Signing Policy 
<http://www.apache.org/dev/release-distribution.html#sigs-and-sums> require:
“Every ASF release must contain a source package, which must be sufficient for 
a user to build and test the release provided they have access to the 
appropriate platform and tools”
"Every artifact distributed to the public through Apache channels MUST be 
accompanied by one file containing an OpenPGP compatible ASCII armored detached 
signature and another file containing an MD5 checksum.” (.asc file and .md5 
file)

Apache Commons also distributes convenience binaries at 
https://www.apache.org/dist/commons/XXX/binaries. These convenience binaries 
must also be signed and checksummed.

For even more convenience, Apache Commons also publishes packages to Maven 
Central.  Maven Central policy 
<http://central.sonatype.org/pages/requirements.html> requires:
“Projects with packaging other than pom have to supply JAR files that contain 
Javadoc and sources.”
“All files deployed need to be signed with GPG/PGP and a .asc file containing 
the signature must be included for each file.”
A pom file with 
Correct Coordinates
Project Name, Description and URL
License Information
Developer Information
SCM Information

Reply via email to