[buildout]

extends =
  ../../component/bcrypt/buildout.cfg
  ../../component/curl/buildout.cfg
  ../../component/git/buildout.cfg
  ../../component/pillow/buildout.cfg
  ../../component/python-cryptography/buildout.cfg
  ../../component/python-pynacl/buildout.cfg
  ../../component/quic_client-bin/buildout.cfg
  ../../component/python-backports-lzma/buildout.cfg

  ../../stack/slapos.cfg

  ./buildout.hash.cfg

parts =
  eggs
  slapos-cookbook
  template

[setup-develop-egg]
recipe = zc.recipe.egg:develop

[slapos.cookbook-setup]
<= setup-develop-egg
egg = slapos.cookbook
setup = ${slapos-repository:location}/

[slapos.test.caddy-frontend-setup]
<= setup-develop-egg
egg = slapos.test.caddy-frontend
setup = ${slapos-repository:location}/software/caddy-frontend/test/

[slapos.test.erp5-setup]
<= setup-develop-egg
egg = slapos.test.erp5
setup = ${slapos-repository:location}/software/erp5/test/

[slapos.test.slapos-master-setup]
<= setup-develop-egg
egg = slapos.test.slapos-master
setup = ${slapos-repository:location}/software/slapos-master/test/

[slapos.test.kvm-setup]
<= setup-develop-egg
egg = slapos.test.kvm
setup = ${slapos-repository:location}/software/kvm/test/

[slapos.test.monitor-setup]
<= setup-develop-egg
egg = slapos.test.monitor
setup = ${slapos-repository:location}/software/monitor/test/

[slapos.test.plantuml-setup]
<= setup-develop-egg
egg = slapos.test.plantuml
setup = ${slapos-repository:location}/software/plantuml/test/

[slapos.test.powerdns-setup]
<= setup-develop-egg
egg = slapos.test.powerdns
setup = ${slapos-repository:location}/software/powerdns/test/

[slapos.test.proftpd-setup]
<= setup-develop-egg
egg = slapos.test.proftpd
setup = ${slapos-repository:location}/software/proftpd/test/

[slapos.test.re6stnet-setup]
<= setup-develop-egg
egg = slapos.test.re6stnet
setup = ${slapos-repository:location}/software/re6stnet/test/

[slapos.test.seleniumserver-setup]
<= setup-develop-egg
egg = slapos.test.seleniumserver
setup = ${slapos-repository:location}/software/seleniumserver/test/

[slapos.test.slaprunner-setup]
<= setup-develop-egg
egg = slapos.test.slaprunner
setup = ${slapos-repository:location}/software/slaprunner/test/

[slapos.test.helloworld-setup]
<= setup-develop-egg
egg = slapos.test.helloworld
setup = ${slapos-repository:location}/software/helloworld/test/

[slapos.test.jupyter-setup]
<= setup-develop-egg
egg = slapos.test.jupyter
setup = ${slapos-repository:location}/software/jupyter/test/

[slapos.test.nextcloud-setup]
<= setup-develop-egg
egg = slapos.test.nextcloud
setup = ${slapos-repository:location}/software/nextcloud/test/

[slapos.test.turnserver-setup]
<= setup-develop-egg
egg = slapos.test.nextcloud
setup = ${slapos-repository:location}/software/turnserver/test/

[slapos.test.theia-setup]
<= setup-develop-egg
egg = slapos.test.theia
setup = ${slapos-repository:location}/software/theia/test/

[slapos.core-repository]
<= git-clone-repository
repository = https://lab.nexedi.com/nexedi/slapos.core.git
branch = master

[slapos.core-setup]
<= setup-develop-egg
egg = slapos.core
setup = ${slapos.core-repository:location}

[eggs]
recipe = zc.recipe.egg
eggs =
  ${lxml-python:egg}
  ${slapos.core-setup:egg}
  ${pillow-python:egg}
  erp5.util
  ${python-pynacl:egg}
  ${python-cryptography:egg}
  ${bcrypt:egg}
  slapos.libnetworkcache
  supervisor
  ${slapos.cookbook-setup:egg}
  ${slapos.test.caddy-frontend-setup:egg}
  ${slapos.test.erp5-setup:egg}
  ${slapos.test.slapos-master-setup:egg}
  ${slapos.test.kvm-setup:egg}
  ${slapos.test.monitor-setup:egg}
  ${slapos.test.plantuml-setup:egg}
  ${slapos.test.powerdns-setup:egg}
  ${slapos.test.proftpd-setup:egg}
  ${slapos.test.re6stnet-setup:egg}
  ${slapos.test.seleniumserver-setup:egg}
  ${slapos.test.slaprunner-setup:egg}
  ${slapos.test.jupyter-setup:egg}
  ${slapos.test.nextcloud-setup:egg}
  ${slapos.test.turnserver-setup:egg}
  ${backports.lzma:egg}
entry-points =
  runTestSuite=erp5.util.testsuite:runTestSuite
scripts =
  runTestSuite
  slapos
  supervisorctl
  supervisord
interpreter=
  python_for_test

[git-clone-repository]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
forbid-download-cache = true

[slapos-repository]
<= git-clone-repository
repository = https://lab.nexedi.com/nexedi/slapos.git
branch = master

[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/template.cfg
mode = 640

[versions]
# slapos.core is used from the clone always
slapos.core =
# Various needed versions
Pillow = 5.3.0
PyNaCl = 1.3.0
bcrypt = 3.1.4
forcediphttpsadapter = 1.0.1
httplib2 = 0.11.3
image = 1.5.25
paramiko = 2.4.2
plantuml = 0.1.1
pysftp = 0.2.9
requests-toolbelt = 0.8.0
selenium = 3.141.0
slapos.recipe.template = 4.3

# modern versions for SSL fixed support
requests = 2.20.0
certifi = 2018.10.15
idna = 2.7
chardet = 3.0.4

# ipaddress is patching IPAddress so IPv6 match works
ipaddress = 1.0.22

# cacuase and its dependencies
caucase = 0.9.4
pem = 18.2.0
PyJWT = 1.6.4

# Django 1.11 is python 2 compatible
Django = 1.11

# Required by:
# selenium==3.141.0
urllib3 = 1.24.1

backports.lzma = 0.0.13
