# This Software Release is used to test
# the behavior of Slave Instances in slapos and in slaprunner.
[buildout]
# Local development
develop =
  ${:parts-directory}/slapos.cookbook-repository
extends =
  ../../component/lxml-python/buildout.cfg
  ../../component/git/buildout.cfg
parts =
  slapos.cookbook-repository
  check-recipe
  slapos-cookbook
  instance-profile
  collective-egg

# Local development
[slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/slapos.git
branch = master
git-executable = ${git:location}/bin/git

[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link

[instance-profile]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/instance.cfg
mode = 0644

[instance-default-profile]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-default.cfg
output = ${buildout:directory}/instance-default.cfg
mode = 0644

[instance-test-profile]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-test.cfg
output = ${buildout:directory}/instance-test.cfg
mode = 0644

[promise-template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/parameter-check-promise.py.in
output = ${buildout:directory}/parameter-check-promise.py
mode = 0644

[collective-egg]
recipe = zc.recipe.egg
eggs = collective.recipe.template

[versions]
collective.recipe.template = 1.11
plone.recipe.command = 1.1
slapos.recipe.build = 0.28
slapos.recipe.template = 4.4

# Replicate slapos stack, but without shacache to not have to compile the entire world for a simple test.
[buildout]
# Explicitly disable download-cache
download-cache =

# Separate from site eggs
allowed-eggs-from-site-packages =
include-site-packages = false
exec-sitecustomize = false

# Add location for modified non-official slapos.buildout
find-links +=
  http://www.nexedi.org/static/packages/source/slapos.buildout/
  http://www.nexedi.org/static/packages/source/
  http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/

# Use only quite well working sites.
allow-hosts +=
  *.googlecode.com
  *.nexedi.org
  *.python.org
  *.sourceforge.net
  alastairs-place.net
  bitbucket.org
  dist.repoze.org
  effbot.org
  github.com
  launchpad.net
  peak.telecommunity.com
  sourceforge.net
  www.dabeaz.com
  www.owlfish.com

# XXX: Workaround of SlapOS limitation
# Unzippig of eggs is required, as SlapOS do not yet provide nicely working
# development / fast switching environment for whole software
unzip = true

# Define where is defined what version of eggs we should use
versions = versions

# Define networkcache with shacache.org
networkcache-section = networkcache

# Install slapos.cookbook containing all officials recipes
[slapos-cookbook]
recipe = zc.recipe.egg
eggs =
  ${lxml-python:egg}
  slapos.cookbook

[versions]
# Use SlapOS patched zc.buildout
zc.buildout = 1.6.0-dev-SlapOS-013
# zc.recipe.egg 2.x is for Buildout 2
zc.recipe.egg = 1.3.2
# Use own version of h.r.download to be able to open xz-like archives
hexagonit.recipe.download = 1.7nxd002
# Use pinned version of setuptools. Other versions work, but changing
# version makes buildout recompile everything. Developers' nightmare.
setuptools = 0.9.8
# Official egg of prettytable has permission problems in EGG-INFO.
prettytable = 0.7.3-nxd001

[networkcache]
download-cache-url = http://download.shacache.org
download-dir-url = http://dir.shacache.org
