[buildout]
bef_erp5_recipe_location = ${:parts-directory}/bef_erp5-recipe
develop =
  ${:bef_erp5_recipe_location}
extends =
  http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/component/mysql-tritonn-5.0/buildout.cfg?js=1
  http://git.erp5.org/gitweb/erp5.git/blob_plain/HEAD:/slapos/software.cfg

parts +=
  mysql-tritonn-5.0
  products-bef
  products-upgrade

[eggs]
# Just so buildout executes [bef_erp5-recipe] before [eggs], as
# - [eggs] references [bef_erp5-recipe]
# - [instance-recipe] needs [bef_erp5-recipe] to be finished
# - we cannot rely on anything else being executed before [eggs]
bef_dummy = ${bef_erp5-recipe:location}
extra-paths +=
  ${products-erp5:location}

[template]
url = ${:_profile_base_location_}/instance.cfg
md5sum = 3c6c32ac83f78a91d0d7ee7c47730e02

[instance-recipe]
name = slapos.recipe.bef_erp5

[bef-svn-template]
# Recipe infrae.subversion is using svn command under the hood, but there is
# no way to pass --trust-server-cert --non-interactive, so in 2.12 falvour
# it is better to evaluate usage of provided subversion command
recipe = plone.recipe.command
svn_param =--trust-server-cert --no-auth-cache --non-interactive --quiet --username saneftestbot --password kucahS5oav6jahch
svn = ${subversion:location}/bin/svn
location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
update-command = ${:command}

[products-bef]
<= bef-svn-template
product_list = SANEF
command =
  for product in SANEF ; do ${:svn} checkout ${:svn_param} https://svn.erp5.org/repos/sanef/trunk/products/$product ${:location}/$product || exit 1 ; done

[products-upgrade]
# Recipe infrae.subversion is using svn command under the hood, but there is
# no way to pass --trust-server-cert --non-interactive, so in 2.12 falvour
# it is better to evaluate usage of provided subversion command
recipe = plone.recipe.command
svn_param =--trust-server-cert --no-auth-cache --non-interactive --quiet
location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
update-command = ${:command}
product_list = ERP5PropertySheetLegacy
command =
  for product in ERP5PropertySheetLegacy ; do ${subversion:location}/bin/svn checkout ${:svn_param} https://svn.erp5.org/repos/public/erp5/trunk/obsolete/products/$product ${:location}/$product || exit 1 ; done

[products-erp5]
recipe = plone.recipe.command
stop-on-error = true
location = ${buildout:parts-directory}/${:_buildout_section_name_}
update-command = ${:command}
command =
  mkdir -p ${:location}/Products &&
  for product in ${erp5:location}/product/* ; do ln -fs $product ${:location}/Products ; done &&
  echo "__import__('pkg_resources').declare_namespace(__name__)" > "${:location}/Products/__init__.py"

[products]
# XXX: Lack of eggification workaround
# list of products, possible to extend, it is passed in reversed way
# to allow overriding during extending profile
list = ${products-deps:location} ${products-upgrade:location} ${products-bef:location}

[bef_erp5-recipe]
<= bef-svn-template
command = ${:svn} checkout ${:svn_param} https://svn.erp5.org/repos/sanef/trunk/utils/slapos.recipe.bef_erp5/ ${:location}
location = ${buildout:bef_erp5_recipe_location}