
# This file gets loaded before build.platform.properties (for test only)
# Therefore it cannot rely on properties set in build.platform.properties
# pre-init platform and version setting has been moved to a separate file
# so platform and version can be used

# Location of the installed package, i.e. parent of delivered lib files
#dir.release=${basedir}/../../../obj/package/axis-c-${version}-${platform}-trace-bin

# Specify to use the delivered include files
#test.include=${dir.release}/include

# Location of the AXIS jar files - same as build properties
#test.axisJARs=${env.AXISJAVA_LIB}

# Location of the XML Parser library files (include lib/bin in name)
#test.xmlParser=${env.XERCES_HOME}/lib

