Building
Click uses an Ant based build system for
creating JAR files, application WAR files and the Click distribution.
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
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.6.5 or later).
- Ensure junit.jar is present in your ANT_HOME/lib
directory.
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 click-examples WAR file 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] Please ensure you have configured build.properties
BUILD SUCCESSFUL
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
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
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
Building Examples
To build the Click Examples web application file click-examples.war
- 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
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-dev |
velocity-1.5-dev.jar* |
Jakarta Velocity |
Velocity Templating Framework |
Velocity Tools |
1.1 |
WebappLoader source* |
Jakarta Velocity Tools |
Velocity Tools Utility Library |
OGNL |
2.6.7 |
ognl-2.6.7.jar * |
OGNL |
Object Graph Navigation Library |
Common Language |
2.1 |
commons-lang-2.1.jar * |
Jakarta Commons |
General Language Utilities Library |
Common FileUpload |
1.1 |
commons-fileupload-1.1.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.1.jar * |
Jakarta Commons |
IO Utilities Library |
DHTML Calendar |
1.0 |
JavaScript source* |
Dynarch.com |
DHTML Calendar Widget |
* : marked libraries and 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.
Extras Dependencies
The Click Extras has the following runtime dependencies in addition to the
Framework dependencies.
Library |
Version |
JAR |
Author |
Description |
Cayenne |
1.2.1 |
cayenne-nodeps-1.2.1.jar |
ObjectStyle |
ORM Framework |
Hibernate |
3.1.3 |
hibernate-3.1.3.jar |
Hibernate |
ORM Framework |
Spring |
1.2.8 |
spring-1.2.8.jar |
Spring Framework |
IoC Framework |