[Checkins] SVN: Sandbox/cklinger/example/trunk/ basic project layout
Christian Klinger
cklinger at novareto.de
Tue Feb 3 07:51:19 EST 2009
Log message for revision 96028:
basic project layout
Changed:
A Sandbox/cklinger/example/trunk/bootstrap.py
A Sandbox/cklinger/example/trunk/buildout.cfg
A Sandbox/cklinger/example/trunk/etc/
A Sandbox/cklinger/example/trunk/etc/debug.ini
A Sandbox/cklinger/example/trunk/etc/deploy.ini
A Sandbox/cklinger/example/trunk/etc/site.zcml
A Sandbox/cklinger/example/trunk/etc/zdaemon.conf
A Sandbox/cklinger/example/trunk/etc/zope.conf
A Sandbox/cklinger/example/trunk/setup.py
A Sandbox/cklinger/example/trunk/src/
A Sandbox/cklinger/example/trunk/src/example/
A Sandbox/cklinger/example/trunk/src/example/__init__.py
A Sandbox/cklinger/example/trunk/src/example/app.py
A Sandbox/cklinger/example/trunk/src/example/app.txt
A Sandbox/cklinger/example/trunk/src/example/app_templates/
A Sandbox/cklinger/example/trunk/src/example/app_templates/index.pt
A Sandbox/cklinger/example/trunk/src/example/configure.zcml
A Sandbox/cklinger/example/trunk/src/example/ftesting.zcml
A Sandbox/cklinger/example/trunk/src/example/startup.py
A Sandbox/cklinger/example/trunk/src/example/static/
A Sandbox/cklinger/example/trunk/src/example/static/README.txt
A Sandbox/cklinger/example/trunk/src/example/tests.py
A Sandbox/cklinger/example/trunk/src/example.egg-info/
A Sandbox/cklinger/example/trunk/versions.cfg
-=-
Added: Sandbox/cklinger/example/trunk/bootstrap.py
===================================================================
--- Sandbox/cklinger/example/trunk/bootstrap.py (rev 0)
+++ Sandbox/cklinger/example/trunk/bootstrap.py 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,84 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Bootstrap a buildout-based project
+
+Simply run this script in a directory containing a buildout.cfg.
+The script accepts buildout command-line options, so you can
+use the -c option to specify an alternate configuration file.
+
+$Id: bootstrap.py 85041 2008-03-31 15:57:30Z andreasjung $
+"""
+
+import os, shutil, sys, tempfile, urllib2, logging
+
+def remove_old_logger_handlers():
+ # zc.buildout installs a new log stream on every call of
+ # main(). We remove any leftover handlers to avoid multiple output
+ # of same content (doubled lines etc.)
+ root_logger = logging.getLogger()
+ if 'zc.buildout' in root_logger.manager.loggerDict.keys():
+ logger = logging.getLogger('zc.buildout')
+ for handler in logger.handlers:
+ logger.removeHandler(handler)
+ return
+
+
+tmpeggs = tempfile.mkdtemp()
+
+try:
+ import pkg_resources
+except ImportError:
+ ez = {}
+ exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
+ ).read() in ez
+ ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
+
+ import pkg_resources
+
+if sys.platform == 'win32':
+ def quote(c):
+ if ' ' in c:
+ return '"%s"' % c # work around spawn lamosity on windows
+ else:
+ return c
+else:
+ def quote (c):
+ return c
+
+cmd = 'from setuptools.command.easy_install import main; main()'
+ws = pkg_resources.working_set
+assert os.spawnle(
+ os.P_WAIT, sys.executable, quote (sys.executable),
+ '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout',
+ dict(os.environ,
+ PYTHONPATH=
+ ws.find(pkg_resources.Requirement.parse('setuptools')).location
+ ),
+ ) == 0
+
+ws.add_entry(tmpeggs)
+ws.require('zc.buildout')
+import zc.buildout.buildout
+zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
+remove_old_logger_handlers()
+shutil.rmtree(tmpeggs)
+
+# grokproject specific addition to standard bootstrap.py:
+# Install eggbasket too. This should be verbose to give the user
+# information about what is happening, since this can take a while.
+zc.buildout.buildout.main(sys.argv[1:] + ['-v', 'install', 'eggbasket'])
+if sys.platform == 'win32':
+ print "Now you can run 'bin\buildout.exe'"
+else:
+ print "Now you can run 'bin/buildout'"
Added: Sandbox/cklinger/example/trunk/buildout.cfg
===================================================================
--- Sandbox/cklinger/example/trunk/buildout.cfg (rev 0)
+++ Sandbox/cklinger/example/trunk/buildout.cfg 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,44 @@
+[buildout]
+develop = .
+parts = eggbasket app i18n test data log
+newest = false
+extends = versions.cfg
+# eggs will be installed in the default buildout location
+# (see .buildout/default.cfg in your home directory)
+# unless you specify an eggs-directory option here.
+
+versions = versions
+
+[app]
+recipe = zc.recipe.egg
+eggs = example
+ z3c.evalexception>=2.0
+ Paste
+ PasteScript
+ PasteDeploy
+interpreter = python-console
+
+[data]
+recipe = zc.recipe.filestorage
+
+[log]
+recipe = zc.recipe.filestorage
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = example
+defaults = ['--tests-pattern', '^f?tests$', '-v']
+
+# this section named so that the i18n scripts are called bin/i18n...
+[i18n]
+recipe = z3c.recipe.i18n:i18n
+packages = example
+eggs = example
+domain = example
+output = src/example/locales
+zcml =
+
+[eggbasket]
+recipe = z3c.recipe.eggbasket
+eggs = grok
+url = http://grok.zope.org/releaseinfo/grok-eggs-1.0a1.tgz
Added: Sandbox/cklinger/example/trunk/etc/debug.ini
===================================================================
--- Sandbox/cklinger/example/trunk/etc/debug.ini (rev 0)
+++ Sandbox/cklinger/example/trunk/etc/debug.ini 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,17 @@
+[filter-app:main]
+# Change the last part from 'ajax' to 'pdb' for a post-mortem debugger
+# on the console:
+use = egg:z3c.evalexception#ajax
+next = zope
+
+[app:zope]
+use = egg:example
+
+[server:main]
+use = egg:Paste#http
+host = 127.0.0.1
+port = 8080
+
+[DEFAULT]
+# set the name of the zope.conf file
+zope_conf = %(here)s/zope.conf
Added: Sandbox/cklinger/example/trunk/etc/deploy.ini
===================================================================
--- Sandbox/cklinger/example/trunk/etc/deploy.ini (rev 0)
+++ Sandbox/cklinger/example/trunk/etc/deploy.ini 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,11 @@
+[app:main]
+use = egg:example
+
+[server:main]
+use = egg:Paste#http
+host = 127.0.0.1
+port = 8080
+
+[DEFAULT]
+# set the name of the zope.conf file
+zope_conf = %(here)s/zope.conf
Added: Sandbox/cklinger/example/trunk/etc/site.zcml
===================================================================
--- Sandbox/cklinger/example/trunk/etc/site.zcml (rev 0)
+++ Sandbox/cklinger/example/trunk/etc/site.zcml 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,36 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+ i18n_domain="example">
+
+ <include package="example" />
+
+ <configure i18n_domain="example">
+
+ <unauthenticatedPrincipal id="zope.anybody"
+ title="Unauthenticated User" />
+ <unauthenticatedGroup id="zope.Anybody"
+ title="Unauthenticated Users" />
+ <authenticatedGroup id="zope.Authenticated"
+ title="Authenticated Users" />
+ <everybodyGroup id="zope.Everybody"
+ title="All Users" />
+ <principal id="zope.manager"
+ title="Manager"
+ login="admin"
+ password_manager="Plain Text"
+ password="admin"
+ />
+
+ <!-- Replace the following directive if you do not want
+ public access -->
+ <grant permission="zope.View"
+ principal="zope.Anybody" />
+ <grant permission="zope.app.dublincore.view"
+ principal="zope.Anybody" />
+
+ <role id="zope.Manager" title="Site Manager" />
+ <role id="zope.Member" title="Site Member" />
+ <grantAll role="zope.Manager" />
+ <grant role="zope.Manager"
+ principal="zope.manager" />
+ </configure>
+</configure>
\ No newline at end of file
Added: Sandbox/cklinger/example/trunk/etc/zdaemon.conf
===================================================================
--- Sandbox/cklinger/example/trunk/etc/zdaemon.conf (rev 0)
+++ Sandbox/cklinger/example/trunk/etc/zdaemon.conf 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,8 @@
+<runner>
+ program bin/paster serve /Users/cklinger/work/examples/example/etc/deploy.ini
+ daemon on
+ transcript /Users/cklinger/work/examples/example/parts/log/zdaemon.log
+ socket-name /Users/cklinger/work/examples/example/parts/log/zdaemonsock
+ # Enable this to run the child process as a different user
+ # user zope
+</runner>
\ No newline at end of file
Added: Sandbox/cklinger/example/trunk/etc/zope.conf
===================================================================
--- Sandbox/cklinger/example/trunk/etc/zope.conf (rev 0)
+++ Sandbox/cklinger/example/trunk/etc/zope.conf 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,39 @@
+# Identify the component configuration used to define the site:
+site-definition /Users/cklinger/work/examples/example/etc/site.zcml
+
+<zodb>
+ # Standard Filestorage
+ <filestorage>
+ path /Users/cklinger/work/examples/example/parts/data/Data.fs
+ </filestorage>
+
+# Uncomment this if you want to connect to a ZEO server instead:
+# <zeoclient>
+# server localhost:8100
+# storage 1
+# # ZEO client cache, in bytes
+# cache-size 20MB
+# # Uncomment to have a persistent disk cache
+# #client zeo1
+# </zeoclient>
+</zodb>
+
+<eventlog>
+ # This sets up logging to both a file and to standard output
+ # (STDOUT). The "path" setting can be a relative or absolute
+ # filesystem path or the tokens STDOUT or STDERR.
+
+ <logfile>
+ path /Users/cklinger/work/examples/example/parts/log/z3.log
+ formatter zope.exceptions.log.Formatter
+ </logfile>
+
+ <logfile>
+ path STDOUT
+ formatter zope.exceptions.log.Formatter
+ </logfile>
+</eventlog>
+
+# Comment this line to disable developer mode. This should be done in
+# production
+devmode on
\ No newline at end of file
Added: Sandbox/cklinger/example/trunk/setup.py
===================================================================
--- Sandbox/cklinger/example/trunk/setup.py (rev 0)
+++ Sandbox/cklinger/example/trunk/setup.py 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,34 @@
+from setuptools import setup, find_packages
+
+version = '0.0'
+
+setup(name='example',
+ version=version,
+ description="",
+ long_description="""\
+""",
+ # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers
+ classifiers=[],
+ keywords="",
+ author="",
+ author_email="",
+ url="",
+ license="",
+ package_dir={'': 'src'},
+ packages=find_packages('src'),
+ include_package_data=True,
+ zip_safe=False,
+ install_requires=['setuptools',
+ 'grok',
+ 'grokui.admin',
+ 'z3c.testsetup',
+ # Add extra requirements here
+ ],
+ entry_points = """
+ [console_scripts]
+ example-debug = example.startup:interactive_debug_prompt
+ example-ctl = example.startup:zdaemon_controller
+ [paste.app_factory]
+ main = example.startup:application_factory
+ """,
+ )
Added: Sandbox/cklinger/example/trunk/src/example/__init__.py
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/__init__.py (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/__init__.py 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1 @@
+# this directory is a package
Added: Sandbox/cklinger/example/trunk/src/example/app.py
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/app.py (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/app.py 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,7 @@
+import grok
+
+class Example(grok.Application, grok.Container):
+ pass
+
+class Index(grok.View):
+ pass # see app_templates/index.pt
Added: Sandbox/cklinger/example/trunk/src/example/app.txt
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/app.txt (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/app.txt 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,32 @@
+Do a functional doctest test on the app.
+========================================
+
+:Test-Layer: functional
+
+Let's first create an instance of Example at the top level:
+
+ >>> from example.app import Example
+ >>> root = getRootFolder()
+ >>> root['app'] = Example()
+
+
+Run tests in the testbrowser
+----------------------------
+
+The zope.testbrowser.browser module exposes a Browser class that
+simulates a web browser similar to Mozilla Firefox or IE. We use that
+to test how our application behaves in a browser. For more
+information, see http://pypi.python.org/pypi/zope.testbrowser.
+
+Create a browser and visit the instance you just created:
+
+ >>> from zope.testbrowser.testing import Browser
+ >>> browser = Browser()
+ >>> browser.open('http://localhost/app')
+
+Check some basic information about the page you visit:
+
+ >>> browser.url
+ 'http://localhost/app'
+ >>> browser.headers.get('Status').upper()
+ '200 OK'
Added: Sandbox/cklinger/example/trunk/src/example/app_templates/index.pt
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/app_templates/index.pt (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/app_templates/index.pt 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,11 @@
+<html>
+<head>
+</head>
+<body>
+ <h1>Congratulations!</h1>
+
+ <p>Your Grok application is up and running.
+ Edit <code>example/app_templates/index.pt</code> to change
+ this page.</p>
+</body>
+</html>
Added: Sandbox/cklinger/example/trunk/src/example/configure.zcml
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/configure.zcml (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/configure.zcml 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,6 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+ xmlns:grok="http://namespaces.zope.org/grok">
+ <include package="grok" />
+ <includeDependencies package="." />
+ <grok:grok package="." />
+</configure>
Added: Sandbox/cklinger/example/trunk/src/example/ftesting.zcml
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/ftesting.zcml (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/ftesting.zcml 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,34 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ i18n_domain="example"
+ package="example"
+ >
+
+ <include package="example" />
+
+ <!-- Typical functional testing security setup -->
+ <securityPolicy
+ component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+ />
+
+ <unauthenticatedPrincipal
+ id="zope.anybody"
+ title="Unauthenticated User"
+ />
+ <grant
+ permission="zope.View"
+ principal="zope.anybody"
+ />
+
+ <principal
+ id="zope.mgr"
+ title="Manager"
+ login="mgr"
+ password="mgrpw"
+ />
+
+ <role id="zope.Manager" title="Site Manager" />
+ <grantAll role="zope.Manager" />
+ <grant role="zope.Manager" principal="zope.mgr" />
+
+</configure>
Added: Sandbox/cklinger/example/trunk/src/example/startup.py
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/startup.py (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/startup.py 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,35 @@
+import os
+import sys
+import code
+import zdaemon.zdctl
+import zope.app.wsgi
+import zope.app.debug
+
+def application_factory(global_conf):
+ zope_conf = os.path.join(global_conf['zope_conf'])
+ return zope.app.wsgi.getWSGIApplication(zope_conf)
+
+def interactive_debug_prompt(zope_conf='/Users/cklinger/work/examples/example/etc/zope.conf'):
+ db = zope.app.wsgi.config(zope_conf)
+ debugger = zope.app.debug.Debugger.fromDatabase(db)
+ # Invoke an interactive interpreter shell
+ banner = ("Welcome to the interactive debug prompt.\n"
+ "The 'root' variable contains the ZODB root folder.\n"
+ "The 'app' variable contains the Debugger, 'app.publish(path)' "
+ "simulates a request.")
+ code.interact(banner=banner, local={'debugger': debugger,
+ 'app': debugger,
+ 'root': debugger.root()})
+
+class ControllerCommands(zdaemon.zdctl.ZDCmd):
+
+ def do_debug(self, rest):
+ interactive_debug_prompt()
+
+ def help_debug(self):
+ print "debug -- Initialize the application, providing a debugger"
+ print " object at an interactive Python prompt."
+
+def zdaemon_controller(zdaemon_conf='/Users/cklinger/work/examples/example/etc/zdaemon.conf'):
+ args = ['-C', zdaemon_conf] + sys.argv[1:]
+ zdaemon.zdctl.main(args, options=None, cmdclass=ControllerCommands)
\ No newline at end of file
Added: Sandbox/cklinger/example/trunk/src/example/static/README.txt
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/static/README.txt (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/static/README.txt 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,2 @@
+Put static files here, like javascript and css. They will be
+available as static/<filename> in views.
Added: Sandbox/cklinger/example/trunk/src/example/tests.py
===================================================================
--- Sandbox/cklinger/example/trunk/src/example/tests.py (rev 0)
+++ Sandbox/cklinger/example/trunk/src/example/tests.py 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,12 @@
+import os.path
+import z3c.testsetup
+import example
+from zope.app.testing.functional import ZCMLLayer
+
+
+ftesting_zcml = os.path.join(
+ os.path.dirname(example.__file__), 'ftesting.zcml')
+FunctionalLayer = ZCMLLayer(ftesting_zcml, __name__, 'FunctionalLayer',
+ allow_teardown=True)
+
+test_suite = z3c.testsetup.register_all_tests('example')
Property changes on: Sandbox/cklinger/example/trunk/src/example.egg-info
___________________________________________________________________
Added: svn:ignore
+ top_level.txt
entry_points.txt
requires.txt
PKG-INFO
namespace_packages.txt
SOURCES.txt
dependency_links.txt
not-zip-safe
Added: Sandbox/cklinger/example/trunk/versions.cfg
===================================================================
--- Sandbox/cklinger/example/trunk/versions.cfg (rev 0)
+++ Sandbox/cklinger/example/trunk/versions.cfg 2009-02-03 12:51:19 UTC (rev 96028)
@@ -0,0 +1,128 @@
+# This file contains a list of versions of the various grok modules that
+# belong together.
+# It was downloaded from http://grok.zope.org/releaseinfo/grok-1.0a1.cfg
+# when this project was created.
+
+[versions]
+grok = 1.0a1
+ClientForm = 0.2.9
+Pygments = 0.8.1
+RestrictedPython = 3.4.2
+ZConfig = 2.5.1
+ZODB3 = 3.8
+docutils = 0.4
+grokcore.component = 1.5.1
+grokcore.formlib = 1.1
+grokcore.security = 1.0
+grokcore.view = 1.2.1
+grokcore.viewlet = 1.0
+martian = 0.11
+mechanize = 0.1.7b
+pytz = 2007k
+simplejson = 1.7.1
+z3c.autoinclude = 0.2.2
+z3c.flashmessage = 1.0
+z3c.testsetup = 0.2.1
+zc.catalog = 1.2
+zc.recipe.testrunner = 1.0.0
+zdaemon = 2.0.2
+zodbcode = 3.4
+zope.annotation = 3.4.1
+zope.app.apidoc = 3.4.3
+zope.app.applicationcontrol = 3.4.3
+zope.app.appsetup = 3.4.1
+zope.app.authentication = 3.4.3
+zope.app.basicskin = 3.4
+zope.app.broken = 3.4
+zope.app.catalog = 3.5.1
+zope.app.component = 3.4.1
+zope.app.container = 3.5.6
+zope.app.content = 3.4
+zope.app.debug = 3.4.1
+zope.app.dependable = 3.4
+zope.app.error = 3.5.1
+zope.app.exception = 3.4.1
+zope.app.file = 3.4.4
+zope.app.folder = 3.4
+zope.app.form = 3.4.1
+zope.app.generations = 3.4.1
+zope.app.http = 3.4.1
+zope.app.i18n = 3.4.4
+zope.app.interface = 3.4
+zope.app.intid = 3.4.1
+zope.app.keyreference = 3.4.1
+zope.app.locales = 3.4.5
+zope.app.onlinehelp = 3.4.1
+zope.app.pagetemplate = 3.4.1
+zope.app.preference = 3.4.1
+zope.app.principalannotation = 3.4
+zope.app.publication = 3.4.3
+zope.app.publisher = 3.5.1
+zope.app.renderer = 3.4
+zope.app.rotterdam = 3.4.1
+zope.app.schema = 3.4
+zope.app.security = 3.5.2
+zope.app.securitypolicy = 3.4.6
+zope.app.server = 3.4.2
+zope.app.session = 3.5.1
+zope.app.skins = 3.4
+zope.app.testing = 3.4.3
+zope.app.tree = 3.4
+zope.app.twisted = 3.4.1
+zope.app.wsgi = 3.4.1
+zope.app.zapi = 3.4
+zope.app.zcmlfiles = 3.4.3
+zope.app.zopeappgenerations = 3.4
+zope.cachedescriptors = 3.4.1
+zope.component = 3.4
+zope.configuration = 3.4
+zope.contentprovider = 3.4
+zope.contenttype = 3.4
+zope.copypastemove = 3.4
+zope.datetime = 3.4
+zope.deferredimport = 3.4
+zope.deprecation = 3.4
+zope.dottedname = 3.4.2
+zope.dublincore = 3.4
+zope.error = 3.5.1
+zope.event = 3.4
+zope.exceptions = 3.4
+zope.filerepresentation = 3.4
+zope.formlib = 3.4
+zope.hookable = 3.4
+zope.i18n = 3.4
+zope.i18nmessageid = 3.4.3
+zope.index = 3.4.1
+zope.interface = 3.4.1
+zope.lifecycleevent = 3.4
+zope.location = 3.4
+zope.minmax = 1.1
+zope.modulealias = 3.4
+zope.pagetemplate = 3.4
+zope.proxy = 3.4.2
+zope.publisher = 3.4.6
+zope.schema = 3.4
+zope.security = 3.4.1
+zope.securitypolicy = 3.4.1
+zope.server = 3.4.3
+zope.session = 3.4.1
+zope.size = 3.4
+zope.structuredtext = 3.4
+zope.tal = 3.4.1
+zope.tales = 3.4
+zope.testbrowser = 3.4.2
+zope.testing = 3.5.4
+zope.thread = 3.4
+zope.traversing = 3.4.1
+zope.viewlet = 3.4.2
+
+
+# Here we pin the recipes used in the buildout.cfg
+z3c.recipe.i18n = 0.5.0
+z3c.recipe.eggbasket = 0.4.0
+zc.buildout = 1.0.6
+zc.recipe.egg = 1.1.0b1
+zc.recipe.filestorage = 1.0.1
+zc.recipe.testrunner = 1.0.0
+zc.zodbrecipes = 0.4.0
+zc.zope3recipes = 0.7.0
More information about the Checkins
mailing list