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

Reply via email to