ZOOKEEPER-3620: Allow to override calls to System.exit in server side code

- Introduce a way to override calls to System.exit
- enable DM_EXIT spotbugs rule

see https://issues.apache.org/jira/browse/ZOOKEEPER-3620 for more context.

Author: Enrico Olivelli <enrico.olivelli@diennea.com>
Author: Enrico Olivelli <eolivelli@apache.org>

Reviewers: andor@apache.org

Closes #1147 from eolivelli/fix/ZOOKEEPER-3620-no-systemexit and squashes the following commits:

a234f85f1 [Enrico Olivelli] Fix checkstyle
4c4fec49e [Enrico Olivelli] Fix spotbugs warning
ae339b724 [Enrico Olivelli] Revert changes to VerGen.java
0e5ee07c5 [Enrico Olivelli] Enable DM_EXIT spotbugs rule for the full code base
b05a4bf38 [Enrico Olivelli] ZOOKEEPER-3620 Allow to override calls to System.exit in server side code: - Use a common utility to call System.exit - Override calls to System.exit to a NO-OP function in tests
20 files changed
tree: 628941eb91b0a877320de27390deb6101b95d7bf
  1. bin/
  2. conf/
  3. dev/
  4. zookeeper-assembly/
  5. zookeeper-client/
  6. zookeeper-contrib/
  7. zookeeper-docs/
  8. zookeeper-it/
  9. zookeeper-jute/
  10. zookeeper-metrics-providers/
  11. zookeeper-recipes/
  12. zookeeper-server/
  13. .gitattributes
  14. .gitignore
  15. .travis.yml
  16. checkstyle-simple.xml
  17. checkstyle-strict.xml
  18. checkstyleSuppressions.xml
  19. excludeFindBugsFilter.xml
  20. LICENSE.txt
  21. NOTICE.txt
  22. owaspSuppressions.xml
  23. pom.xml
  24. README.md
  25. README_packaging.md
  26. zk-merge-pr.py
README.md

Apache ZooKeeper Build Status Maven Central License

alt text

For the latest information about Apache ZooKeeper, please visit our website at:

http://zookeeper.apache.org/

and our wiki, at:

https://cwiki.apache.org/confluence/display/ZOOKEEPER


Packaging/release artifacts

Either downloaded from https://zookeeper.apache.org/releases.html or found in zookeeper-assembly/target directory after building the project with maven.

apache-zookeeper-[version].tar.gz

    Contains all the source files which can be built by running:
    mvn clean install

    To generate an aggregated apidocs for zookeeper-server and zookeeper-jute:
    mvn javadoc:aggregate
    (generated files will be at target/site/apidocs)

apache-zookeeper-[version]-bin.tar.gz

    Contains all the jar files required to run ZooKeeper
    Full documentation can also be found in the docs folder

As of version 3.5.5, the parent, zookeeper and zookeeper-jute artifacts are deployed to the central repository after the release is voted on and approved by the Apache ZooKeeper PMC:

https://repo1.maven.org/maven2/org/apache/zookeeper/zookeeper/

Contributing

We always welcome new contributors to the project! See How to Contribute for details on how to submit patch through pull request and our contribution workflow.