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

buildRelease    = 0.9.0
buildQualifier  = SNAPSHOT
buildVersion    = ${buildRelease}.${buildQualifier}

update.site=http://ci.codecauldron.org/hudson/job/sigil-apache-daily/lastSuccessfulBuild/artifact/sigil/site/

# 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}/main-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
site.dir	= ${common.dir}/../site
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]

ivy.install.version=2.0.0
bnd.install.version=0.0.401
equinox.install.version=3.4.0.v20080421-2006
equinox.release=ganymede

resolve.log	= download-only

# end

