The EJBCA build system ---------------------- This directory contains/will contain all the different modules that is required to build EJBCA and the stand alone VA. All modules will not always be built, depending on the configuration. You should be able to build and to run any modules JUnit tests any module separately. Dependencies should be built automatically. Different modules and build-scripts ----------------------------------- Moving different parts of EJBCA to well-defined modules is still an on-going process. modules/build.xml The main build file where all ant-targets from different modules that are used outside the modules are defined. This file is included from all modules/{module name}/build.xml. modules/build-properties.xml Paths, class-paths and variables are defined here. Included from modules/build.xml. modules/build-helpers.xml Contains general ant-targets that are used from several modules. Included from modules/build.xml. modules/{module name}/build.xml The modules build file. Should normally have at least a "build" and "test" target. modules/dist/ This is a directory that hold results (JAR, WAR files) from the different module builds that should be re-used by different modules. dist/ This is a directory that hold results (EAR, DataSources, CLI files) that are deployable or can be used directly by the one installing EJBCA. modules/common/ This directory holds (/will hold) common libraries and meta-data used by the different modules. build.xml Contains all the targets that are of concern to the one installing/upgrading/testing EJBCA. src/ Still contains the main source-code of EJBCA and some meta-data used for deployment. Creating a new module --------------------- This is just a general guideline that has to be adapted for each module. - Create a new directory modules/{module name}. - Create new sub-directories modules/{module name}/src Holds the module's source-code modules/{module name}/src-test Holds the module's JUnit test source-code modules/{module name}/resources Holds the module's meta-data and templates - Create a new build script, modules/{module name}/build.xml using the following template: Describe the module here... ... ...