__ _ _____ / _| __ ___ _| | _____|__ / | |_ / _` \ \ /\ / / |/ / _ \ / / | _| (_| |\ V V /| ( __// /_ |_| \__,_| \_/\_/ |_|\_\___/____| _____________________________________________________________________ ``A classic is something that everybody wants to have read and nobody has read.'' -- Mark Twain R E A D M E This file gives a quick introduction into the fawkeZ project setup. B U I L D I N G T H E P R O J E C T PREREQUISITES * Java Development Kit >= 1.4.0 and * JRE >= 1.5.0 for the jCoderZ Report * Ant >= 1.6.5 THIRD PARTY DEPENDENCY o GraphViz [OPTIONAL] http://www.graphviz.org/ The GraphViz package is required to render diagrams generated by the documentation task. The 'dot' command line tool must be available in the default path. If you are behind a proxy, you need to configure the following Ant properties: o For proxy without proxy authentication: proxyHost proxyPort o For proxy with proxy authentication: proxyHost proxyPort proxyUser proxyPass You can put these properties in your user property file (config/${user.name}.properties) or specify them on the ant command line like this: ant dist -DproxyHost=proxy -DproxyPort=80 and then fire up Ant /path/to/ant/1.6.5/bin/ant dist To execute the JUnit testcases, you need the junit.jar on your classpath: export CLASSPATH=$CLASSPATH:/path/to/fawkez/lib/default/junit/junit.jar D I R E C T O R Y L A Y O U T This is a brief list of all the files in this directory and for what they are used. Also includes major configuration files. README This file AUTHORS Project's authors. CHANGES Summarize changes that are 'visible' to the 'outside' (after first release). build.xml Project build file includes config/properties.xml and lib/ant.properties. DIRECTORIES build (*) All files that are generated at compile time MUST be stored here. Java source files that are generated by an idl compiler MUST be stored here too. Neither this directory itself nor any files in it are added to the CVS system. Subfolders like /build/classes, /build/docs, /build/gen-java, will be created as used. dist (*) This directory is the one and only source for the productizing team [and QA]. The "ready to productize" product will be and MUST be stored here. Files that are not intended for distribution MUST NOT be placed in this folder. If there is a universal productizing subfolder structure, this should be used. Neither this directory itself nor any files in it are added to the CVS system. lib Contains 3rd party jar Archive for the compile and test targets that cannot be resolved dynamically. lib/default (*) Contains 3rd party jar Archive that are resolved dynamically. docs Development documentation (preferred 7-bit ASCII). ASCII filenames should use upppercase letters and no extension, e.g. TODO. See plain documentation style guide. config Compile time configuration for the Ant build process is stored here. config/properties.xml This file contains mostly static properties and path settings used in the build.xml. Maybe overwritten by user specific property file. src Contains any sources. See below. test Contains any test related stuff e.g. JUnit Test, test-data or test-scripts. See below. tools Contains project related tools used exclusive at compile time, e.g. code generator, build-report-generator or cruise control stuff. See below. (src|tools|test)/java Contains the java sources. Subfolders represent the java packaging. So /java/com/jcoderz/foo/ is the lowest level directory to put FOO related sources in. Classes in the test directory matching the JUnit naming schema "*Test.java" must contain valid JUnit testcases. (src|tools|test)/sql Contains all database create scripts needed for installation, tools or testing. (src|tools|test)/bin Contains scripts. (src|tools|test)/xml Contains XML source. See subfolders. (src|tools|test)/etc Contains runtime configuration files. (*) This directory is generated during the build process.