Building
Click uses an Ant based build system for 
creating JAR files, application WAR files and the Click distribution.
  - Build Configuration
  
 
  - Ant Targets
  
 
  - Framework Dependencies
  
 
  - Extras Dependencies
  
 
 
1.  Build Configuration
The configuration of the Click Ant build system is detailed below:
+--[build]                      Ant build directory
|   |
|   +---build.xml               Ant build script
|   |
|   +---build.properties        Ant build properties
|   
+--[dist]                       JAR and WAR file output directory
|
+--[documentation]              Click documentation set application
|
+--[examples]                   Click Examples application
|   |
|   +---build.xml               Ant build script
|   |  
|   +---README.txt              Click Examples Readme file
|
+--[extras]                     Click Extras source directory
|
+--[framework]                  Click framework source directory
|
+--[lib]                        Dependent JAR libraries directory
|
+--[mock]                       Mock objects source directory 
1.1  Build Requirements
Ensure the following requirements are met before performing builds:
  - Ensure JAVA_HOME environment variable is set and points to
  a JDK installation (1.4 or later).
  
 
  
  - Ensure ANT_HOME environment variable is set and points to
  an Ant installation (1.7.0 or later).
  
 
  
  - Ensure junit.jar is present in your ANT_HOME/lib
  directory.
  
 
2.  Ant Targets
ant help
Buildfile: build.xml
help:
     [echo] Click web application framework
     [echo] ===============================
     [echo] Main targets:
     [echo] build-all             build framework, extras, examples
     [echo] build-distribution    build distribution ZIP file
     [echo] build-examples        build click-examples WAR file
     [echo] build-extras          build click-extras JAR file
     [echo] build-framework       build click framework JAR file
     [echo] build-maven-bundles   build Maven repository upload bundles
     [echo] build-sources         build source ZIP files for use with IDEs
     [echo] deploy-examples       copy examples WAR files to app server
     [echo] get-deps              download JAR dependencies
     [echo] get-deps-proxy        download JAR dependencies via proxy
     [echo] help                  display the Help message
     [echo] javadoc               create Javadoc HTML files
     [echo] project-quick-start   build application template
     [echo] Please ensure you have configured build.properties
BUILD SUCCESSFUL 
2.1  Getting Dependencies
  - Run the Ant target get-deps to download JAR dependencies
  from Ibiblio Maven repository:
  
ant get-deps 
  If you are behind a firewall use the Ant target get-deps-proxy
  and configure you proxy settings in build.properties
  
  
# Proxy hostname used by Ant target 'get-deps-proxy'
proxy.host=192.168.0.3
# Proxy port for by Ant target 'get-deps-proxy'
proxy.port=3128 
   
2.2  Building Framework
To build the Click framework JAR file click.jar
  - Ensure the above configurations have been made and get-deps has
  been run.
  
 
  - Run the Ant target build-framework to build the framework:
  
ant build-framework 
   
2.3  Building Extras
Click Extras JAR file click-extras.jar
  - Ensure the above configurations have been made and get-deps has
  been run.
  
 
  
  - Run the Ant targets framework and build-extras:
  
ant build-framework build-extras 
   
2.4  Building Examples
To build the Click Examples and Click QuickStart web application WAR files:
  - Please see the examples/README.txt file, ensuring the 
  required properties have been configured and the dependencies downloaded.
  
 
  
  - Ensure the above configurations have been made and get-deps has
  been run.
  
 
  
  - Run the Ant target build-all:
  
ant build-all 
   
3.  Framework Dependencies
The Click framework has the following runtime dependencies.
  | Library | 
  Version | 
  JAR / Source | 
  Author | 
  Description | 
  | Java Runtime |   
  1.4 | 
  n/a | 
  Sun Microsystems | 
  J2SE Runtime Environment | 
  | Servlet API | 
  2.3 | 
  servlet-2.3.jar |   
  Sun Microsystems | 
  JEE Servlet API | 
  | Velocity Engine | 
  1.5 | 
  velocity-1.6.2.jar* |   
  Apache Velocity | 
  Velocity Templating Framework | 
  | Velocity Tools | 
  1.1 | 
  WebappLoader source* |   
  Jakarta Velocity Tools | 
  Velocity Tools Utility Library | 
  | OGNL | 
  2.6.9 | 
  ognl-2.6.9.jar * |   
  OGNL | 
  Object Graph Navigation Library | 
  | Common Language | 
  2.4 | 
  commons-lang-2.4.jar * |   
  Jakarta Commons | 
  General Language Utilities Library | 
  | Common FileUpload | 
  1.2 | 
  commons-fileupload-1.2.jar * |   
  Jakarta Commons | 
  HTTP File Upload Library | 
  | Commons Codec | 
  1.3 | 
  commons-codec-1.3.jar * |   
  Jakarta Commons | 
  Encoding Decoding Library | 
  | Commons Collections | 
  3.1 | 
  commons-collections-3.1.jar * |   
  Jakarta Commons | 
  Collection Utilities Library | 
  | Common IO | 
  1.1 | 
  commons-io-1.3.jar * |   
  Jakarta Commons | 
  IO Utilities Library | 
  | Concurrent | 
  1.3.4 | 
  ConcurrentReaderHashMap source* |   
  Doug Lea | 
  Concurrent utilities library | 
* : marked JAR libraries or Java source are included in the 
click.jar file.
The standard click-xx.jar includes all of the listed dependencies.
 
Alternatively use the click-nodeps-xx.jar which includes none of these
dependencies.
4.  Extras Dependencies
The Click Extras has the following runtime dependencies in addition to the
Framework dependencies.
Please note: a runtime dependency is only required if you use the specific
library. For example, if you use Hibernate, you need hibernate.jar on your
classpath, otherwise it is not needed.
  | Library | 
  Version | 
  JAR | 
  Author | 
  Description | 
  | Cayenne | 
  2.0.4 | 
  cayenne-nodeps-2.0.4.jar | 
  Apache Cayenne | 
  ORM Framework | 
  | Freemarker | 
  2.3.12 | 
  freemarker-2.3.12.jar | 
  Freemarker | 
  Alternate Template Engine to Velocity | 
  | Hibernate | 
  3.2.6 | 
  hibernate-3.2.6.ga.jar | 
  Hibernate | 
  ORM Framework | 
  | Log4J | 
  1.2.14 | 
  log4j-1.2.14.jar | 
  Log4j | 
  Logging Framework | 
  | Spring | 
  2.5.4 | 
  spring-2.5.4.jar | 
  Spring Framework | 
  IoC Framework | 
  | JSCalendar | 
  1.0 | 
  JavaScript source* |   
  Dynarch.com | 
  JavaScript Calendar Widget | 
  | JSGraphics | 
  2.33 | 
  JavaScript source* |   
  Walter Zorn | 
  JavaScript Graphics library | 
  | Prototype | 
  1.6.0.1 | 
  JavaScript source* |   
  Prototype Org | 
  JavaScript library | 
  | script.aculo.us | 
  1.8.1 | 
  JavaScript source* |   
  script.aculo.us | 
  JavaScript library |