[buildout]
extensions = mr.developer

allow-picked-versions = false
develop = .
extends =
    sources.cfg
    versions.cfg
parts =
    test
    scripts
    zopepy
    alltests
    ztktests
    allpy
    sphinx
    checkversions
    requirements
sources-dir = develop
auto-checkout =
    ZServer


[test]
recipe = zc.recipe.testrunner
initialization =
    import sys
    import warnings
    warnings.simplefilter('default')
eggs = Zope2


[scripts]
recipe = zc.recipe.egg
eggs = Zope2


[zopepy]
recipe = zc.recipe.egg
eggs = Zope2
interpreter = zopepy
scripts = zopepy


[alltests]
recipe = zc.recipe.testrunner
eggs =
    AccessControl
    Acquisition
    DateTime
    DocumentTemplate
    ExtensionClass
    five.globalrequest
    MultiMapping
    Persistence
    Zope2
# RestrictedPython has an optional dependency on DateTime, make sure to run its
# tests with DateTime being available
    RestrictedPython
    zExceptions
    ZopeUndo
# Test optional dependencies.
    Missing
    Products.BTreeFolder2
    Products.ExternalMethod
    Products.MailHost
    Products.PythonScripts
    Products.Sessions
    Products.SiteErrorLog
    Products.StandardCacheManagers
    Products.TemporaryFolder
    Products.ZCatalog
    Products.ZCTextIndex
    Record
    tempstorage
    ZServer
    zLOG


[ztktests]
recipe = zc.recipe.testrunner
eggs =
    zope.annotation
    zope.browser
    zope.browsermenu
    zope.browserpage
    zope.browserresource
    zope.component
    zope.configuration
    zope.container
    zope.contentprovider
    zope.contenttype
    zope.deferredimport
    zope.dottedname
    zope.event
    zope.exceptions
    zope.filerepresentation
    zope.i18n
    zope.i18nmessageid
    zope.interface
    zope.lifecycleevent
    zope.location
    zope.pagetemplate
    zope.proxy
    zope.processlifetime
    zope.ptresource
    zope.publisher
    zope.schema
    zope.security
    zope.sendmail
    zope.sequencesort
    zope.site[test]
    zope.size
    zope.structuredtext
    zope.tal
    zope.tales
    zope.testbrowser[test]
    zope.testing
    zope.testrunner
    zope.traversing
    zope.viewlet


[allpy]
recipe = zc.recipe.egg
eggs = ${alltests:eggs}
interpreter = allpy
scripts = allpy


[sphinx]
recipe = collective.recipe.sphinxbuilder
build = ${buildout:directory}/docs/_build
source = ${buildout:directory}/docs
outputs = html
script-name = make-docs
extra-paths = ${buildout:directory}


[checkversions]
recipe = zc.recipe.egg
eggs = z3c.checkversions [buildout]


[requirements]
recipe = plone.recipe.command
command =
    ${zopepy:bin-directory}/${zopepy:interpreter} util.py
update-command = ${:command}
stop-on-error = yes