Robert, Thank you - this is very useful critique.
On Aug 16, 2014, at 5:00 AM, Robert Metzger <[email protected]> wrote: > As a little disclaimer. I have never successfully done an Apache release, > but I spend some time on this topic recently because I'm the release > manager of the first Apache release of Flink. I noticed the release candidate and vote for Flink. Good luck with that! > So the list of things below > just points out what I would do differently. > > - No checksum files (md5, sha) Agreed. Fixed. (Or rather, I’ve fixed the instructions in HOWTO. If you know a way to generate them automatically using maven, please let me know.) > - DISCLAIMER file missing (I saw the notice in the README.md and README). > It seems that incubator wants an explicit file for that. Agreed. Fixed in d43ec94. > - "mvn clean verify" is working (so license headers are okay as well) (It > was only working after passing -U for the 18.0-rc1 guava artifact) (maybe > you should fix the guava version, because a release candidate is usually > not what you want. I think if you just set 11.0.2, this means 11.0.2 or > higher [1]) Agreed. Logged https://issues.apache.org/jira/browse/OPTIQ-380 and will fix shortly. > - The filename of the zip is prefixed with "apache-", the directory inside > the archive is just "optiq". We had a discussion on this on our mailing > list. The majority of apache projects does not have the "apache-" prefix > for their releases. I personally prefer an "apache-" prefix. Agreed. (I would prefer an “apache-“ prefix also, but it is not worth fighting maven over it.) > - The url in the pom is "http://incubator.apache.org/optiq", I think > incubating projects have "optiq.incubator.apache.org" as their address > (similar to the mailing lists) Both forms are in use by projects. (Flink uses one style, Drill and Optiq use the other.) > - I could not find the public key (2AD3FAE3) on a public keyserver, the > keys are also not available here: http://people.apache.org/keys/ (Once you > have the key on a public server and the key fingerprint at id.apache.org), > it will be published for Optiq and your name. I found the key inside the > archive. > > $ gpg --recv-keys 2AD3FAE3 > gpg: requesting key 2AD3FAE3 from hkp server keys.gnupg.net > gpgkeys: key 2AD3FAE3 not found on keyserver > gpg: no valid OpenPGP data found. > gpg: Total number processed: 0 Done. > For my release candidates, I upload a version without the "-SNAPSHOT" > suffix into the staging area of nexus. Once the staging is closed, there is > a URL that contains the artifacts. The other devs can then test these from > the staging repository. Once the vote has passed, I just press "Release" in > Nexus and they are going to central. How do you upload it? Does “mvn -Papache-release deploy” do the trick? And by the way, do you use “mvn release:prepare” and “mvn release:perform”, or have you built other/additional scripts? > Some feedback on my impressions: There are a lot of small text files in the > root directory of the archive. > In particular, I would remove the ".travis.yml" file. There are two readme > files. I would suggest to merge them. > I think you can put the contents of "DEPENDENCIES" into the NOTICE file? > And maybe it would make sense to create a docs/ directory with the HOWTO, > REFERENCE, PROPOSAL, MODEL and even the HISTORY. I agree there are a lot of files. I’ll move some of them to the docs directory, as you suggest. Much as I’d like to get rid of them, I think .gitignore, .travis.yml, README and README.md have to remain. They don’t serve their purpose if they are moved anywhere else, and I don’t want the source distro to have a different shape than the actual source repository. Thanks again for reviewing the release. When I have fixed the remaining issues, I’ll create another release candidate and kick off a vote. Julian
