# common properties
# easier to set here than in xml file

# set common.dir when used without ant (e.g. IvyDE)
common.dir	= ${ivy.settings.dir}

ivy.jar		= ${common.dir}/sigil/ivy-2.0.0-rc1.jar
sigil-ivy-plugin.jar = ${common.dir}/sigil/sigil-ivy-plugin.jar

build.dir	= ${basedir}/build
build_xml	= build.xml
classes.dir	= ${build.dir}/classes
deps.dir	= ${build.dir}/deps
composite.dir	= ${basedir}/xml
src.dir		= ${basedir}/src
ivy.file	= ${basedir}/ivy.xml

_build.dir	= ${build.dir}
build.lib.dir	= ${_build.dir}/lib
build.etc.dir	= ${_build.dir}/etc

top-build.dir	= ${common.dir}/../build
dist.dir	= ${top-build.dir}/dist
install.dir	= ${top-build.dir}/install
repository.dir	= ${top-build.dir}/repository
cache.dir	= ${common.dir}/../cache
# note: clean-local task assumes repository.pattern starts with ${ivy.module}
repository.pattern = [module]/[revision]/[type]s/[artifact].[ext]

community.version = 1.4.0.SNAPSHOT
jini.version	= 2.1
paremus.version	= ${default.version}
bundle.version	= ${paremus.version}
resolve.log	= download-only

# over-ridden by hudson
buildVersion	= 0.8.0-dev

# end

