GitHub user afine opened a pull request:
https://github.com/apache/zookeeper/pull/316
ZOOKEEPER-2829: Interface usability / compatibility improvements through
Java annotation.
This patch uses Apache Yetus audience annotations to label our publicly
available interfaces and then generate our javadoc based on the annotations.
The javadoc generated by this patch should be identical to our javadoc before
with a few extra classes (that I think should have been included before
anyway).
HostProvider
Record
StaticHostProvider
Transaction
ZKClientConfig
The "gotcha" with this patch is the way that java classes generated by jute
are handled. There are four of these classes that need to be publicly
documented: ACL, Id, Stat, StatPersisted (in addition to their superclass
Record). I thought it would be safest to have the jute compiler always label
these as "Public" and then we can filter out the ones we don't want in the
javadoc ant task (by excluding the org.apache.zookeeper.server package and then
pulling in the tools classes separately).
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/afine/zookeeper ZOOKEEPER-2829
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/zookeeper/pull/316.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #316
----
commit c238a9f23787aade9122e7a9068b185d6c1fcf1b
Author: Abraham Fine <[email protected]>
Date: 2017-07-24T22:11:43Z
ZOOKEEPER-2829: Interface usability / compatibility improvements through
Java annotation.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---