KFS Kuali OLE uses Ant for deployments and unit testing.
...
Configuration properties may be specified by certain files which are looked for automatically by the script. The first definition of a property will be used by the build, i.e. Ant does not work like many other things where the last value wins. There are three locations that that the build script attempts to load properties from, in the order specified:
- ${user.home}/kfsole-build.properties
Info User Home Locations
- Unix:
/home/username/kfsole-build.properties
- Mac OS X:
/Users/username/kfsole-build.properties
- Windows XP:
C:/Documents and Settings/username/kfsole-build.properties
- Windows Vista:
C:/Users/username/kfsole-build.properties
- Unix:
- ${institution.build.properties.file} (location set in the above kfs
ole-build.properties
) - ${build.environment}-build.properties
- The
build/properties
directory in the kfsole
project. You should not generally change the properties here. Override them in one of the above files.- build/properties/build.properties
- build/properties/database.properties
- build/properties/directory.properties
- build/properties/logging.properties
- build/properties/batch.properties
- build/properties/email.properties
- build/properties/url.properties
- build/properties/cas.properties
- build/properties/rice.properties
- build/properties/spring.properties
- build/properties/web.properties
- build/properties/b2b.properties
For ease of future upgrades, you should avoid modifying any of the delivered files under the kfs
ole
directory. Instead, you can override any or all of those properties in the first two. For example...
- Create a second build properties file in the root of the project (e.g. sampleu-build.properties).
- Ensure that your new properties file will be loaded by adding the following to your ${user.home}/kfsole-build.properties file.
Code Block title example institution properties reference institution.build.properties.file=sampleu-build.properties
Build Target Overview
To deploy a KFS distributionOLE, you can use the dist
or dist-local
targets of the KFS OLE build.xml. To execute the KFS OLE unit tests, you can use the test-local
or continuous-integration
targets. The dist-local
and test-local
targets assume that you are using an IDE for compilation. If not, you will need to add this line to your build properties file and use the make-source
target, too: war.classes.directory=work/web-root/WEB-INF/classes
. The continuous-integration
target is intended for use within an automated testing tool like Hudson. See the setup instructions and the help target in the build file itself for more information.
...
Directory & File Creation
KFS OLE requires that certain external directories and files exist at runtime.
...
The dist-local
target accounts for these external dependencies. It copies the files and folders in the build/external
directory of the project to their expected locations. The expected locations are configurable via build properties. The configuration properties page lists the default values for the properties that control the expected locations.
...
Source | Destination | Notes |
---|---|---|
build/external/appserver/*.jar | ${appserver.lib.dir} |
|
${drivers.directory}/*.jar | ${appserver.lib.dir} |
|
build/external/appserver/carol.properties | ${appserver.classes.dir} |
|
build/external/appserver/context.xml | ${appserver.localhost.dir} or META-INF directory in war |
|
build/external/work/* | ${external.work.directory} |
|
build/external/log4j.properties | ${settings.directory} |
|
build/external/security.properties | ${security.directory} |
|
build/external/rice.keystore | ${security.directory} | Note: you should never use this delivered file in a production environment as it contains the private key used by all Kuali test environments for KSB communication. |
The dist
target will generate a file: skel.zip
which contains the base structure for the external dependencies/directory structure and can be unpacked on a server.
...
Source | Destination | ||
---|---|---|---|
build/project/configuration.properties | work/src | ||
build/project/spy.properties | work/src | ||
build/project/OJB.properties | work/src | ||
build/project/OJB-logging.properties | work/src | ||
build/project/OJB-repository.xml | work/src | ||
build/project/web.xml | work/web-root/WEB-INF | ||
build/project/help.zip | work/web-root/static/help | build/project/xsd/* | work/web-root/static |
build/external/appserver/rice-web-*.war (JSP/TAG portions) | work/web-root | ||
build/external/appserver/rice-web-*.war (JAR files) | build/rice-lib | ||
build/rice-lib | work/web-root/WEB-INF/lib |
...