[buildout]
extensions = mr.developer

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


[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
    Missing
    MultiMapping
    Persistence
    Products.OFSP
    Products.SiteErrorLog
    Products.ZCatalog
    Products.ZCTextIndex
    Record
    Zope2
# RestrictedPython has an optional dependency on DateTime, make sure to run its
# tests with DateTime being available
    RestrictedPython
    initgroups
    tempstorage
    zExceptions
    zLOG
    ZopeUndo
# these are still dependencies of CMF. Test them here, so we don't have to
# define a CMF KGS
    Products.BTreeFolder2
    Products.ExternalMethod
    Products.MailHost
    Products.PythonScripts
    Products.StandardCacheManagers


[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.ptresource
    zope.proxy
    zope.processlifetime
    zope.publisher
    zope.sendmail
    zope.schema
    zope.security
    zope.sequencesort
    zope.site[test]
    zope.size
    zope.structuredtext
    zope.tal
    zope.tales
    zope.traversing
    zope.testbrowser[test]
    zope.testing
    zope.testrunner
    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]


[wsgi]
recipe = zc.recipe.egg
interpreter = wsgipy
eggs =
    Zope2
    repoze.who
    repoze.tm2
    repoze.retry
    Paste
    PasteDeploy
    PasteScript