Skip to content
mrumpf edited this page Jun 18, 2012 · 28 revisions

Welcome to fawkeZ

What is fawkeZ?

The fawkeZ project provides a set of Java classes, tools, and utilities that are freely available under a BSD license. More fundamentally fawkeZ incorporates a set of principles and guidelines for agile software development. Of course the 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 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?

Tools like PMD, Checkstyle, FindBugs and Cobertura deliver high-quality code-analysis features. But what we found missing is a combined representation of the various findings. The JcReport 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. JcReport

Another feature of the [JcReport|jCoderZ report tool] is a summary report generator. The JcReport 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 [JcReport|jCoderZ summary report tool] tracks the number of findings from the XML files, generated JcReport 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. More...

Documentation

The fawkeZ project provides a set of tools and some guideline documents from the area of software lifecycle documentation:

  • [http://www.jcoderz.org/cc/fawkez/latest/usecase/sample.pdf Software Requirements Specification (SRS)] GeneratorBRThe 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.
  • [http://www.jcoderz.org/cc/fawkez/latest/sad/sad.pdf Software Architecture Document (SAD)] GeneratorBRThe 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 documentBRThis 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 documentBRThis 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/ as a backing technology. [wiki:Documentation More...]

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].

Clone this wiki locally