| 1 | __ _ _____ |
|---|
| 2 | / _| __ ___ _| | _____|__ / |
|---|
| 3 | | |_ / _` \ \ /\ / / |/ / _ \ / / |
|---|
| 4 | | _| (_| |\ V V /| ( __// /_ |
|---|
| 5 | |_| \__,_| \_/\_/ |_|\_\___/____| |
|---|
| 6 | _____________________________________________________________________ |
|---|
| 7 | |
|---|
| 8 | ``A classic is something that everybody |
|---|
| 9 | wants to have read and nobody has read.'' |
|---|
| 10 | -- Mark Twain |
|---|
| 11 | |
|---|
| 12 | R E A D M E |
|---|
| 13 | |
|---|
| 14 | This file gives a quick introduction into the fawkeZ project setup. |
|---|
| 15 | |
|---|
| 16 | B U I L D I N G T H E P R O J E C T |
|---|
| 17 | |
|---|
| 18 | PREREQUISITES |
|---|
| 19 | |
|---|
| 20 | * Java Development Kit >= 1.4.0 and |
|---|
| 21 | * JRE >= 1.5.0 for the jCoderZ Report |
|---|
| 22 | * Ant >= 1.6.5 |
|---|
| 23 | |
|---|
| 24 | THIRD PARTY DEPENDENCY |
|---|
| 25 | |
|---|
| 26 | o GraphViz [OPTIONAL] |
|---|
| 27 | http://www.graphviz.org/ |
|---|
| 28 | The GraphViz package is required to render diagrams generated by the |
|---|
| 29 | documentation task. The 'dot' command line tool must be available |
|---|
| 30 | in the default path. |
|---|
| 31 | |
|---|
| 32 | If you are behind a proxy, you need to configure the following Ant |
|---|
| 33 | properties: |
|---|
| 34 | |
|---|
| 35 | o For proxy without proxy authentication: |
|---|
| 36 | proxyHost |
|---|
| 37 | proxyPort |
|---|
| 38 | |
|---|
| 39 | o For proxy with proxy authentication: |
|---|
| 40 | proxyHost |
|---|
| 41 | proxyPort |
|---|
| 42 | proxyUser |
|---|
| 43 | proxyPass |
|---|
| 44 | |
|---|
| 45 | You can put these properties in your user property file |
|---|
| 46 | (config/${user.name}.properties) or specify them on the ant command |
|---|
| 47 | line like this: |
|---|
| 48 | |
|---|
| 49 | ant dist -DproxyHost=proxy -DproxyPort=80 |
|---|
| 50 | |
|---|
| 51 | and then fire up Ant |
|---|
| 52 | |
|---|
| 53 | /path/to/ant/1.6.5/bin/ant dist |
|---|
| 54 | |
|---|
| 55 | To execute the JUnit testcases, you need the junit.jar on your classpath: |
|---|
| 56 | |
|---|
| 57 | export CLASSPATH=$CLASSPATH:/path/to/fawkez/lib/default/junit/junit.jar |
|---|
| 58 | |
|---|
| 59 | |
|---|
| 60 | D I R E C T O R Y L A Y O U T |
|---|
| 61 | |
|---|
| 62 | This is a brief list of all the files in this directory and for what |
|---|
| 63 | they are used. Also includes major configuration files. |
|---|
| 64 | |
|---|
| 65 | README |
|---|
| 66 | This file |
|---|
| 67 | |
|---|
| 68 | AUTHORS |
|---|
| 69 | Project's authors. |
|---|
| 70 | |
|---|
| 71 | CHANGES |
|---|
| 72 | Summarize changes that are 'visible' to the 'outside' (after |
|---|
| 73 | first release). |
|---|
| 74 | |
|---|
| 75 | build.xml |
|---|
| 76 | Project build file includes config/properties.xml and |
|---|
| 77 | lib/ant.properties. |
|---|
| 78 | |
|---|
| 79 | DIRECTORIES |
|---|
| 80 | |
|---|
| 81 | build (*) |
|---|
| 82 | All files that are generated at compile time MUST be stored here. |
|---|
| 83 | Java source files that are generated by an idl compiler MUST be |
|---|
| 84 | stored here too. |
|---|
| 85 | Neither this directory itself nor any files in it are added to the |
|---|
| 86 | CVS system. |
|---|
| 87 | Subfolders like /build/classes, /build/docs, /build/gen-java, |
|---|
| 88 | will be created as used. |
|---|
| 89 | |
|---|
| 90 | dist (*) |
|---|
| 91 | This directory is the one and only source for the productizing |
|---|
| 92 | team [and QA]. The "ready to productize" product will be and MUST |
|---|
| 93 | be stored here. Files that are not intended for distribution MUST |
|---|
| 94 | NOT be placed in this folder. |
|---|
| 95 | If there is a universal productizing subfolder structure, this |
|---|
| 96 | should be used. |
|---|
| 97 | Neither this directory itself nor any files in it are added to the |
|---|
| 98 | CVS system. |
|---|
| 99 | |
|---|
| 100 | lib |
|---|
| 101 | Contains 3rd party jar Archive for the compile and test targets |
|---|
| 102 | that cannot be resolved dynamically. |
|---|
| 103 | |
|---|
| 104 | lib/default (*) |
|---|
| 105 | Contains 3rd party jar Archive that are resolved dynamically. |
|---|
| 106 | |
|---|
| 107 | docs |
|---|
| 108 | Development documentation (preferred 7-bit ASCII). |
|---|
| 109 | ASCII filenames should use upppercase letters and no extension, |
|---|
| 110 | e.g. TODO. See plain documentation style guide. |
|---|
| 111 | |
|---|
| 112 | config |
|---|
| 113 | Compile time configuration for the Ant build process is stored here. |
|---|
| 114 | |
|---|
| 115 | config/properties.xml |
|---|
| 116 | This file contains mostly static properties and path settings used |
|---|
| 117 | in the build.xml. Maybe overwritten by user specific property file. |
|---|
| 118 | |
|---|
| 119 | src |
|---|
| 120 | Contains any sources. See below. |
|---|
| 121 | |
|---|
| 122 | test |
|---|
| 123 | Contains any test related stuff e.g. JUnit Test, test-data or |
|---|
| 124 | test-scripts. See below. |
|---|
| 125 | |
|---|
| 126 | tools |
|---|
| 127 | Contains project related tools used exclusive at compile time, |
|---|
| 128 | e.g. code generator, build-report-generator or cruise control |
|---|
| 129 | stuff. See below. |
|---|
| 130 | |
|---|
| 131 | (src|tools|test)/java |
|---|
| 132 | Contains the java sources. Subfolders represent the java |
|---|
| 133 | packaging. So /java/com/jcoderz/foo/ is the lowest level |
|---|
| 134 | directory to put FOO related sources in. Classes in the test |
|---|
| 135 | directory matching the JUnit naming schema "*Test.java" must |
|---|
| 136 | contain valid JUnit testcases. |
|---|
| 137 | |
|---|
| 138 | (src|tools|test)/sql |
|---|
| 139 | Contains all database create scripts needed for installation, |
|---|
| 140 | tools or testing. |
|---|
| 141 | |
|---|
| 142 | (src|tools|test)/bin |
|---|
| 143 | Contains scripts. |
|---|
| 144 | |
|---|
| 145 | (src|tools|test)/xml |
|---|
| 146 | Contains XML source. See subfolders. |
|---|
| 147 | |
|---|
| 148 | (src|tools|test)/etc |
|---|
| 149 | Contains runtime configuration files. |
|---|
| 150 | |
|---|
| 151 | (*) This directory is generated during the build process. |
|---|