[buildout]
# Local development
develop =
  ${:parts-directory}/slapos.cookbook-repository

parts = 
  boinc-instance
  template
  boinc-application
  template_wu
  template_result
  template_input
  slapos-cookbook
  instance-egg
  slapos.cookbook-repository
  check-recipe

extends =
  ../../component/git/buildout.cfg
  ../../stack/boinc/buildout.cfg

#Generate All instances templates
[boinc-instance]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/boinc-app.cfg
output = ${buildout:directory}/template-app.cfg
mode = 0644
md5sum = ab01f101cc6280ef07ea61a22a1432d0

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

#Download Boinc Application Binary and configure project
[boinc-application]
recipe = hexagonit.recipe.download
url = ${boinc:location}/libexec/examples/upper_case
download-only = true
filename = upper_case
#Application configuration
app-name = upper_case
version = 1.00
exec-extension = 
#Please read Boinc platform before update platform value: http://boinc.berkeley.edu/trac/wiki/BoincPlatforms
platform = x86_64-pc-linux-gnu
#Work Unit number number of work unit
wu-number = 2

[template-base]
recipe = slapos.recipe.download
download-only = true
mode = 0644

[template_result]
<= template-base
url = ${:_profile_base_location_}/templates/template_result
filename = template_result
location = ${buildout:parts-directory}/${:_buildout_section_name_}
#md5sum = 

[template_wu]
<= template-base
url = ${:_profile_base_location_}/templates/template_wu
filename = template_wu
location = ${buildout:parts-directory}/${:_buildout_section_name_}
#md5sum = 

[template_input]
<= template-base
url = ${:_profile_base_location_}/input/input_file
filename = input_file
location = ${buildout:parts-directory}/${:_buildout_section_name_}
#md5sum = 

# Local development
[slapos.cookbook-repository]
recipe = plone.recipe.command
stop-on-error = true
branch = grid-computing
revision =
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = "${git:location}/bin/git" clone --branch "${:branch}" --quiet http://git.erp5.org/repos/slapos.git "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
update-command = cd "${:location}" && "${git:location}/bin/git" fetch --quiet && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --quiet --hard @{upstream} ; fi

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