Quality Assurance doesn’t always get the attention it needs during a project. Maintaining and enforcing organization defined quality rules can be seen as a chore. Having code quality audited while coding is much more efficient than manually peer reviewing afterwards. We will not only demonstrate the powerful Oracle JDeveloper built-in auditing tools, but will also show how to extend it with your own auditing rules, create your own automated code fixes, and how to integrate automated auditing with your build automation.
This session shows JDeveloper’s Auditing features and other free tools to enable you and your team to consistently deliver high quality code whether it is ADF, SOA, BPM or any other technology supported by JDeveloper.
15. Setting up JDev Extension Project
●Install Extension SDK (Help>CheckForUpdates)
●File > New > Applications > Extension Application
●extension.xml and MANIFEST.MF
●Bundled as .ZIP
●Can be distributed through custom JDeveloper Update Center (aka network drive or URL)
39. OJAudit
●Command line auditing
●JDEV_HOME/jdev/bin/ojaudit -help
●Output in XML/text/HTML or custom xsl
40.
41. Automated QA
●Simple solution: Run ojaudit from CI server and publish output
●Benefit: Same rules during development and CI QA
●@SuppressWarnings and<!-- SuppressWarning--> keep list of violations short and actionable
44. SonarQube
●Tool to manage Code Quality
●Rules, Violations, Metrics, Test Coverage, etc
●Free Open Source
●Initially Java, but now 20+ languages
●Historical data, thus trends
●Highly extensible through plugins
45.
46.
47.
48.
49. ADF EMG SonarQube plugin
●SonarQube plugin
oruns ojaudit
oconverts ojaudit output to SonarQube violations
●www.sonarqube.com for base product
●Watch ADF EMG for availability of plugin
●Not specific to ADF, but for any JDev project
●Tested with JDeveloper 12c, but should work with any version
51. Further Reading
●www.olrichs.nl
oIndex page for Audit Rules
●www.redheap.com
●www.adfemg.org
oGoogle Groups
●http://docs.oracle.comJDeveloper Doc (not ADF documentation)
oDeveloping Extensions for JDeveloper
oJava API Reference for Extension SDK