Adding a new library must be submitted for discussions. We should avoid having multiple libs for the same need.
This white-list of libraries relates to the internal dependencies of SonarQube but not to plugins.
- JUnit 4
- FEST Assert, heavily recommended for replacing Hamcrest matchers
- XMLUnit for comparing XML documents
- SubEtha SMTP
- Guava. Warning : google-collections must be excluded from transitive dependencies
- Commons Lang. Note : pending experiments to move to Guava.
- Commons IO 2.2. Version 2.3 is not accepted because it does not support Java 5. Note : we're doing some experiments to move to Guava.
- Commons Codec, for example for Base64 encoding
- Freemarker for templating
- Commons Collections is deprecated and replaced by Guava.
- Commons BeanUtils is not recommended
- Commons Configuration is replaced by org.sonar.api.config.Settings
- Apache Commons DBCP
Hibernate is deprecated and must not be used in new developments.
Writing and reading XML documents should be implemented with Stax :
- Woodstox parser
All other technologies are deprecated or forbidden (XStream, DOM4J, JDOM, ...)
All other libraries must be excluded from transitive dependencies (log4j, commons-logging) and replaced by jcl-over-slf4j/log4j-over-slf4j
- Prototype 1.7
- Scriptaculous 1.9.0, provided under the MIT License.
- Protovis 3.3, a visualization toolkit using SVG. Does not depend on Prototype. Provided under the BSD License.
- Protovis MSIE, a compatibility layer for Protovis that adds support for VML compatible browsers (IE7 and IE8)
Should be dropped soon :