= Welcome to fawkeZ = == News == * '''2011-08-20 - We are currently working on [wiki:fawkeZ-2.0.0] which gets rid of all old and unused features and converts the project from an Ant-based build into multiple Maven projects''' == What is fawkeZ? == The fawkeZ project provides a set of [http://java.sun.com Java] classes, tools, and utilities that are freely available under a [source:trunk/LICENSE BSD license]. More fundamentally fawkeZ incorporates a set of principles and guidelines for agile software development. Of course the [http://java.sun.com Java] components, tools, and utilities can be used without strictly following those principles, but they reveal their real power only when used in combination. fawkeZ has been developed during many years in software development. In the past, the combination of tools, components and principles supported us in writing high-quality [http://java.sun.com Java] software. We are releasing fawkeZ as open-source library now in order to make those benefits freely available to everyone. == What components does fawkeZ consist of? == {{{ #!html jcreport-screenshot.png }}} == Code Analysis [/cc/fawkez/buildresults/fawkez/ Sample] == Tools like [wiki:PMD], [wiki:Checkstyle], FindBugs and [wiki:Cobertura] deliver high-quality code-analysis features. But what we found missing is a combined representation of the various findings. The [wiki:JcReport jCoderZ report tool] reads the XML output of the code-analysis tools and creates a single report which combines all findings in one XML report file and a set of easy to browse HTML files. [wiki:JcReport More...] Another feature of the [wiki:JcReport jCoderZ report tool] is a summary report generator. The [wiki:JcReport jCoderZ report tool] creates separate reports but there is no linking between the reports and no statistical overview on how the number of findings evolve over time. The [wiki:JcSummaryReport jCoderZ summary report tool] tracks the number of findings from the XML files, generated [wiki:JcReport jCoderZ report tool] and stores them into different categories: error, warning, info, filtered. The final output is a HTML page that shows the trend in the number of findings. [wiki:JcSummaryReport More...] {{{ #!html
 
}}} {{{ #!html doc-screenshot.png.png }}} === Documentation === The fawkeZ project provides a set of tools and some guideline documents from the area of software lifecycle documentation: * [/cc/fawkez/latest/usecase/sample.pdf Software Requirements Specification (SRS)] Generator[[BR]]The SRS Generator uses an XML file as input where the requirements are defined in a formal structure. This input format can then be rendered as PDF or HTML. * [/cc/fawkez/latest/sad/sad.pdf Software Architecture Document (SAD)] Generator[[BR]]The SAD Generator uses XML fragments and Javadoc input to generate docbook XML. This input format can also be rendered as PDF or HTML. * A [http://java.sun.com Java] coding guideline document[[BR]]This is our Java coding guidelines document that can easily be used as a template for your own Java coding guideline documents. * A SQL coding guideline document[[BR]]This is our SQL coding guidelines document that can easily be used as a template for your own SQL coding guideline documents. All of the documentation tools use [http://www.docbook.org/ docbook] as a backing technology. [wiki:Documentation More...] {{{ #!html
 
}}} === Utility Classes === Many useful [wiki:UtilityClasses utility classes] for [http://java.sun.com Java] development are included in the fawkeZ project. There is for example [source:/trunk/src/java/org/jcoderz/commons/util/Assert.java a null assertion class], [source:/trunk/src/java/org/jcoderz/commons/types/Date.java a date class], [source:/trunk/src/java/org/jcoderz/commons/util/Base64Util.java a base64 encoder / decoder]. [wiki:UtilityClasses More...] === Code Generators === A bunch of XSLT based code generators that generate java code out of structured XML input. There are generators to create exceptions and log messages supporting our JSR47 based logging concept. Other generators generate [wiki:SimpleTypesGenerator strong types] including enums for JDK 1.4 and earlier. Last not least there is a generator that generates [wiki:SimpleTypesGenerator#ValueObject-CompositeType composite objects] - better known as POJOs or Java Bean. The generators are build to run with every compile as opposed to one shot code generators. So you only store the XML input and generate the java code with every compile. This supports the DRY principle. === Misc === There is even more stuff in the fawkeZ project. If you are interested, then click [wiki:Misc here...] == Getting fawkeZ == If you now want to use any of the features, mentioned above, then please read the page on how to [wiki:GettingFawkeZ get fawkeZ]. This page will give you an overview on the different ways to get the distribution archives from. == Contributing to fawkeZ == The fawkeZ project is an open-source project which lives from the contributions of the community. We appreciate any help you can offer us, so don't hesitate to contact us. In order to guarantee that your contributions are recognized effectively, please read the page on how to [wiki:ContributeToFawkeZ contribute to fawkeZ] first. == FAQ == The answers to the most frequently asked questions can be found in the [wiki:FAQ].