# define where to put the output of the build
buckminster.output.root=${workspace.root}/.buckminster/buckminster.build.output

# define where to put temporary stuff
buckminster.temp.root=${workspace.root}/.buckminster/buckminster.build.temp

# define the qualifier replacement method
qualifier.replacement.*=generator:buildTimestamp
generator.buildTimestamp.format='v'yyyyMMdd-HHmm

target.os=*
target.ws=*
target.arch=*  

# define the site generation properties
site.pack200=true
site.retain.unpacked=true
site.signing=false
eclipse.staging.area=${workspace.root}/buckminster.build.signing

# define the range generation rules for required bundles
# pde.bundle.range.generation=false
# pde.feature.range.generation=false
