#
# Properties for the LauncherBootstrap class
#
# This file contains the following configurable properties:
# - ant.class.path - This property is a ":" separated list of the URL file
#   fragments where the Ant classes are located. The list must include a JAXP
#   compliant XML parser if you are not using Java(TM) SE 1.4 or higher.
#
# Important notes:
# - Relative URL file fragments, such as "../lib", are supported and strongly
#   encouraged as absolute files prevent cross platform distribution.
# - URL file fragments are the portions of a URL after the "file:" string.
#   This means that you must use "/" characters as directory separators on
#   all platforms. Also, ":" characters in a file fragment, such as in drive
#   portion of absolute Windows files, must be URL encoded as "%3A". Lastly,
#   directories must have a "/" character at the end.
# - All relative URL file fragments in the above properties will be resolved
#   using the URL of the directory that the LauncherBootstrap class was
#   loaded from, not the current working directory. This ensures that the
#   LauncherBootstrap class can properly resolve the files without regard to
#   the current working directory.
#
ant.class.path=../common/lib/ant.jar:../common/lib/ant-launcher.jar:../common/endorsed/xercesImpl.jar:../common/endorsed/xml-apis.jar
