[Checkins] SVN: Zope3/trunk/ Merge from baijum-zope-app-zcmlfiles branch:

Baiju M baiju.m.mail at gmail.com
Sat Dec 23 09:17:49 EST 2006


Log message for revision 71649:
  Merge from baijum-zope-app-zcmlfiles branch:
  
   Implemented "Loading Configuration from the zope.app Egg" proposal.
  
     - Now zope.app is a namespace package.
     - ZCML files in zope.app package is moved to zope.app.zcmlfiles
  

Changed:
  U   Zope3/trunk/doc/CHANGES.txt
  U   Zope3/trunk/ftesting-base.zcml
  U   Zope3/trunk/src/zope/app/PACKAGE.cfg
  U   Zope3/trunk/src/zope/app/__init__.py
  U   Zope3/trunk/src/zope/app/apidoc/codemodule/browser/tests.py
  U   Zope3/trunk/src/zope/app/apidoc/codemodule/module.py
  U   Zope3/trunk/src/zope/app/apidoc/codemodule/tests.py
  U   Zope3/trunk/src/zope/app/apidoc/zcmlmodule/tests.py
  D   Zope3/trunk/src/zope/app/browser.zcml
  D   Zope3/trunk/src/zope/app/configure.zcml
  D   Zope3/trunk/src/zope/app/ftesting.zcml
  D   Zope3/trunk/src/zope/app/menus.zcml
  D   Zope3/trunk/src/zope/app/meta.zcml
  A   Zope3/trunk/src/zope/app/zcmlfiles/
  _U  Zope3/trunk/src/zope/app/zcmlfiles/__init__.py
  _U  Zope3/trunk/src/zope/app/zcmlfiles/browser.zcml
  _U  Zope3/trunk/src/zope/app/zcmlfiles/configure.zcml
  _U  Zope3/trunk/src/zope/app/zcmlfiles/ftesting.zcml
  _U  Zope3/trunk/src/zope/app/zcmlfiles/menus.zcml
  _U  Zope3/trunk/src/zope/app/zcmlfiles/meta.zcml
  U   Zope3/trunk/src/zope/configuration/tests/test_xmlconfig.py
  U   Zope3/trunk/src/zope/configuration/xmlconfig.py
  U   Zope3/trunk/zopeskel/etc/ftesting-base.zcml
  U   Zope3/trunk/zopeskel/etc/site.zcml

-=-
Modified: Zope3/trunk/doc/CHANGES.txt
===================================================================
--- Zope3/trunk/doc/CHANGES.txt	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/doc/CHANGES.txt	2006-12-23 14:17:45 UTC (rev 71649)
@@ -84,6 +84,11 @@
 
     Restructuring
 
+      - Implemented "Loading Configuration from the zope.app Egg" proposal.
+        Now zope.app is a namespace package.  ZCML files in zope.app package
+        is moved to zope.app.zcmlfiles (a new package with only ZCML files).
+        Now creating individual eggs of zope.app.* packages is possible.
+
       - ``ClientForm`` changed from a file based module to a package.
 
       - Changed internal widget API to allow retrieving the current value

Modified: Zope3/trunk/ftesting-base.zcml
===================================================================
--- Zope3/trunk/ftesting-base.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/ftesting-base.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -7,8 +7,8 @@
   <!-- This file is the equivalent of site.zcml and it is -->
   <!-- used for functional testing setup -->
 
-  <include package="zope.app" />
-  <include package="zope.app" file="ftesting.zcml" />
+  <include package="zope.app.zcmlfiles" />
+  <include package="zope.app.zcmlfiles" file="ftesting.zcml" />
 
   <include files="zopeskel/etc/package-includes/*-meta.zcml" />
   <include files="zopeskel/etc/package-includes/*-configure.zcml" />

Modified: Zope3/trunk/src/zope/app/PACKAGE.cfg
===================================================================
--- Zope3/trunk/src/zope/app/PACKAGE.cfg	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/PACKAGE.cfg	2006-12-23 14:17:45 UTC (rev 71649)
@@ -69,6 +69,7 @@
 wsgi
 zopeappgenerations
 zapi
+zcmlfiles
 
 # BBB 2006/05/01 -- to be removed after 12 months
 

Modified: Zope3/trunk/src/zope/app/__init__.py
===================================================================
--- Zope3/trunk/src/zope/app/__init__.py	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/__init__.py	2006-12-23 14:17:45 UTC (rev 71649)
@@ -15,4 +15,10 @@
 
 $Id$
 """
+try:
+    #Declare this a namespace package if pkg_resources is available.
+    import pkg_resources
+    pkg_resources.declare_namespace('zope.app')
+except ImportError:
+    pass
 

Modified: Zope3/trunk/src/zope/app/apidoc/codemodule/browser/tests.py
===================================================================
--- Zope3/trunk/src/zope/app/apidoc/codemodule/browser/tests.py	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/apidoc/codemodule/browser/tests.py	2006-12-23 14:17:45 UTC (rev 71649)
@@ -13,7 +13,7 @@
 ##############################################################################
 """Tests for the Code Documentation Module
 
-$Id: tests.py 29269 2005-02-23 22:22:48Z srichter $
+$Id$
 """
 import os
 import unittest
@@ -51,9 +51,9 @@
     xmlns:meta="http://namespaces.zope.org/meta"
     i18n_domain="zope">
   <meta:provides feature="devmode" />
-  <include package="zope.app" file="meta.zcml" />
+  <include package="zope.app.zcmlfiles" file="meta.zcml" />
   <include package="zope.app.apidoc" file="meta.zcml" />
-  <include package="zope.app" file="menus.zcml" />
+  <include package="zope.app.zcmlfiles" file="menus.zcml" />
 </configure>
 '''
 
@@ -106,7 +106,7 @@
     global old_source_file
     old_source_file = zope.app.appsetup.appsetup.__config_source
     zope.app.appsetup.appsetup.__config_source = os.path.join(
-        os.path.dirname(zope.app.__file__), 'meta.zcml')
+        os.path.dirname(zope.app.zcmlfiles.__file__), 'meta.zcml')
 
     # Register the index.html view for codemodule.class_.Class
     from zope.publisher.browser import BrowserView

Modified: Zope3/trunk/src/zope/app/apidoc/codemodule/module.py
===================================================================
--- Zope3/trunk/src/zope/app/apidoc/codemodule/module.py	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/apidoc/codemodule/module.py	2006-12-23 14:17:45 UTC (rev 71649)
@@ -34,6 +34,9 @@
 from zope.app.apidoc.codemodule.text import TextFile
 from zope.app.apidoc.codemodule.zcml import ZCMLFile
 
+# XXX This should be imported somewhere?
+import zope.app.zcmlfiles
+
 # Ignore these files, since they are not necessary or cannot be imported
 # correctly.
 IGNORE_FILES = ('tests', 'tests.py', 'ftests', 'ftests.py', 'CVS', 'gadfly',

Modified: Zope3/trunk/src/zope/app/apidoc/codemodule/tests.py
===================================================================
--- Zope3/trunk/src/zope/app/apidoc/codemodule/tests.py	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/apidoc/codemodule/tests.py	2006-12-23 14:17:45 UTC (rev 71649)
@@ -32,14 +32,14 @@
         xmlns:meta="http://namespaces.zope.org/meta"
         i18n_domain="zope">
       <meta:provides feature="devmode" />
-      <include package="zope.app" file="meta.zcml" />
-      <include package="zope.app" file="menus.zcml" />
+      <include package="zope.app.zcmlfiles" file="meta.zcml" />
+      <include package="zope.app.zcmlfiles" file="menus.zcml" />
     </configure>
     '''
     xmlconfig.string(meta)
 
-    meta = os.path.join(os.path.dirname(zope.app.__file__), 'meta.zcml')
-    context = xmlconfig.file(meta, zope.app)
+    meta = os.path.join(os.path.dirname(zope.app.zcmlfiles.__file__), 'meta.zcml')
+    context = xmlconfig.file(meta, zope.app.zcmlfiles)
     context.provideFeature('devmode')
     meta = os.path.join(os.path.dirname(zope.app.apidoc.__file__), 'meta.zcml')
     context = xmlconfig.file(meta, zope.app.apidoc, context)

Modified: Zope3/trunk/src/zope/app/apidoc/zcmlmodule/tests.py
===================================================================
--- Zope3/trunk/src/zope/app/apidoc/zcmlmodule/tests.py	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/apidoc/zcmlmodule/tests.py	2006-12-23 14:17:45 UTC (rev 71649)
@@ -31,8 +31,8 @@
 from zope.app.apidoc.zcmlmodule import Namespace, Directive
 from zope.app.apidoc.zcmlmodule import ZCMLModule
 from zope.app.apidoc.tests import Root
+import zope.app.zcmlfiles
 
-
 def setUp(test):
     placelesssetup.setUp()
 
@@ -40,13 +40,13 @@
     ztapi.provideAdapter(None, IPhysicallyLocatable,
                          LocationPhysicallyLocatable)
 
-    config_file = os.path.join(os.path.dirname(zope.app.__file__), 'meta.zcml')
+    config_file = os.path.join(os.path.dirname(zope.app.zcmlfiles.__file__), 'meta.zcml')
 
     # Fix up path for tests.
     global old_context
     old_context = zope.app.appsetup.appsetup.getConfigContext()
     zope.app.appsetup.appsetup.__config_context = xmlconfig.file(
-        config_file, execute=False)
+        config_file, zope.app.zcmlfiles, execute=False)
 
 def tearDown(test):
     placelesssetup.tearDown()

Deleted: Zope3/trunk/src/zope/app/browser.zcml
===================================================================
--- Zope3/trunk/src/zope/app/browser.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/browser.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -1,17 +0,0 @@
-<configure
-   xmlns="http://namespaces.zope.org/zope"
-   xmlns:browser="http://namespaces.zope.org/browser">
-
-  <browser:defaultView name="index.html" />
-  <browser:defaultSkin name="Rotterdam" />
-
-  <include package="zope.app.exception.browser" />
-  <include package="zope.traversing.browser" />
-  <include package="zope.app.security.browser" />
-
-  <include package="zope.app.container.browser" />
-  <include package="zope.app.form.browser" />
-
-  <include package="zope.app.component.browser" />
-
-</configure>

Deleted: Zope3/trunk/src/zope/app/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/configure.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/configure.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -1,83 +0,0 @@
-<configure
-    xmlns="http://namespaces.zope.org/zope"
-    xmlns:i18n="http://namespaces.zope.org/i18n"
-    i18n_domain="zope"
-    >
-
-  <!-- Meta configuration (new directives) -->
-  <include file="meta.zcml" />
-
-  <!-- Note that we need to do this early, as later startup
-       subscribers may break without fixups -->
-
-  <include package="zope.app.component" />
-
-  <include package=".generations" file="subscriber.zcml" />
-
-  <!-- Ordinary Application (non-view) configuration) -->
-  <include package="zope.app.interface" />
-  <include package="zope.app.security" />
-  <include package="zope.component" />
-  <include package="zope.annotation" />
-  <include package="zope.app.dependable" />
-  <include package="zope.app.content" />
-  <include package="zope.publisher" />
-
-  <include file="menus.zcml" />
-
-  <include package="zope.copypastemove" />
-  <include package="zope.size" />
-  <include package="zope.location" />
-  <include package="zope.app.container" />
-
-  <include package="zope.app.publisher" />
-
-  <include package="zope.app.publication" file="meta.zcml" />
-  <include package="zope.app.publication" />
-
-
-  <include package="zope.traversing" />
-  <include package="zope.app.pagetemplate" />
-  <include package=".generations" />
-  <include package=".zapi" />
-
-  <!-- Views -->
-  <include package="zope.app.http" />
-
-  <!-- Translations -->
-  <i18n:registerTranslations directory="locales" />
-
-  <include package="zope.app.i18n" />
-
-  <!-- Database boostrapping and maintanance -->
-  <include package=".appsetup" />
-  <include package=".zopeappgenerations" />
-
-  <!-- Services -->
-  <include package="zope.app.principalannotation" />
-
-  <!-- Utilities -->
-  <include package="zope.app.error" />
-
-  <!-- Broken-object support -->
-  <include package="zope.app.broken" />
-
-  <!-- Skins -->
-
-  <include package="zope.app.basicskin" />
-  <include package="zope.app.rotterdam" />
-
-  <!-- Additional packages -->
-
-  <include package="zope.app.applicationcontrol" />
-  <include package="zope.dublincore" />
-  <include package="zope.app.wsgi" />
-
-
-  <!-- Content types -->
-  <include package="zope.app.folder" />
-
-  <!-- Browser Configurations -->
-  <include file="browser.zcml" />
-
-</configure>

Deleted: Zope3/trunk/src/zope/app/ftesting.zcml
===================================================================
--- Zope3/trunk/src/zope/app/ftesting.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/ftesting.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -1,11 +0,0 @@
-<configure
-    xmlns="http://namespaces.zope.org/zope"
-    xmlns:i18n="http://namespaces.zope.org/i18n"
-    i18n_domain="zope"
-    >
-
-<include package=".container.browser.ftests" />
-<include package=".pagetemplate.ftests" />
-<include package=".form.browser.ftests" file="i18n.zcml" />
-
-</configure>

Deleted: Zope3/trunk/src/zope/app/menus.zcml
===================================================================
--- Zope3/trunk/src/zope/app/menus.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/menus.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -1,37 +0,0 @@
-<configure
-    xmlns="http://namespaces.zope.org/browser"
-    i18n_domain="zope">
-
-  <menu
-      id="zmi_views"
-      title="Views"
-      description="Menu for displaying alternate representations of an object"
-      />
-
-  <menu
-      id="zmi_actions"
-      title="Actions"
-      description="Menu for displaying actions to be performed"
-      />
-
-  <menu
-      id="zope.app.container.add"
-      title="Add"
-      description="Menu for objects to be added according to
-                   containment constraints"
-      interface="zope.app.publisher.interfaces.browser.AddMenu"
-      />
-
-  <menu
-      id="add_component"
-      title="Add"
-      description="Menu of objects to be added to site management folders"
-      />
-
-  <menu
-      id="add_registration"
-      title="Add Registration"
-      description="Menu of addable configuration objects"
-      />
-
-</configure>

Deleted: Zope3/trunk/src/zope/app/meta.zcml
===================================================================
--- Zope3/trunk/src/zope/app/meta.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/app/meta.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -1,18 +0,0 @@
-<configure xmlns="http://namespaces.zope.org/zope">
-
-<!-- Standard configuration directives -->
-
-<!-- BBB deprecated as of 2006/02/24. To be removed after 12 months. -->
-<include package="zope.modulealias" file="meta.zcml" />
-
-<include package="zope.app.component" file="meta.zcml" />
-<include package="zope.app.component.browser" file="meta.zcml" />
-<include package="zope.app.publisher" file="meta.zcml" />
-<include package="zope.app.security" file="meta.zcml" />
-<include package="zope.app.form.browser" file="meta.zcml" />
-<include package="zope.i18n" file="meta.zcml" />
-<include package="zope.app.pagetemplate" file="meta.zcml" />
-<include package="zope.app.schema" file="meta.zcml" />
-<include package="zope.app.container.browser" file="meta.zcml" />
-
-</configure>

Copied: Zope3/trunk/src/zope/app/zcmlfiles (from rev 71647, Zope3/branches/baijum-zope-app-zcmlfiles/src/zope/app/zcmlfiles)

Modified: Zope3/trunk/src/zope/configuration/tests/test_xmlconfig.py
===================================================================
--- Zope3/trunk/src/zope/configuration/tests/test_xmlconfig.py	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/configuration/tests/test_xmlconfig.py	2006-12-23 14:17:45 UTC (rev 71649)
@@ -271,6 +271,31 @@
     ['tests/samplepackage/foo.zcml.in']
     """
 
+def test_include_of_zope_app():
+    """
+    >>> context = config.ConfigurationMachine()
+    >>> xmlconfig.registerCommonDirectives(context)
+    >>> import zope.app
+
+    >>> import warnings
+    >>> showwarning = warnings.showwarning
+    >>> warnings.showwarning = lambda *a, **k: None
+
+    >>> xmlconfig.include(context, package=zope.app)
+
+    >>> xmlconfig.include(context, 'configure.zcml', zope.app)
+    >>> xmlconfig.include(context, 'ftesting.zcml', zope.app)
+    >>> xmlconfig.include(context, 'menus.zcml', zope.app)
+    >>> xmlconfig.include(context, 'meta.zcml', zope.app)
+    >>> try:
+    ...     xmlconfig.include(context, 'file_not_exists.zcml', zope.app)
+    ... except IOError, msg:
+    ...     'OK'
+    'OK'
+
+    >>> warnings.showwarning = showwarning
+    """
+
 def test_include_by_file_glob():
     """
     >>> context = config.ConfigurationMachine()

Modified: Zope3/trunk/src/zope/configuration/xmlconfig.py
===================================================================
--- Zope3/trunk/src/zope/configuration/xmlconfig.py	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/src/zope/configuration/xmlconfig.py	2006-12-23 14:17:45 UTC (rev 71649)
@@ -496,6 +496,20 @@
     elif not file:
         file = 'configure.zcml'
 
+    # BBB 2006/12/19 -- to be removed after 12 months
+    # This is a backward-compatibility support for old site.conf
+
+    if package and (package.__name__ == 'zope.app'):
+        dirpath, filename = os.path.split(file)
+        file = os.path.join(dirpath, "zcmlfiles", filename)
+        import warnings
+        warnings.warn('Change the site.zcml '
+                      'Replace: <include package="zope.app" /> '
+                      'with: <include package="zope.app.zcmlfiles" /> '
+                      "This will go away in Zope 3.6.",
+                      DeprecationWarning,
+                      2)
+
     # This is a tad tricky. We want to behave as a grouping directive.
 
     context = config.GroupingContextDecorator(_context)

Modified: Zope3/trunk/zopeskel/etc/ftesting-base.zcml
===================================================================
--- Zope3/trunk/zopeskel/etc/ftesting-base.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/zopeskel/etc/ftesting-base.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -9,8 +9,8 @@
 
   <include files="package-includes/*-meta.zcml" />
 
-  <include package="zope.app" />
-  <include package="zope.app" file="ftesting.zcml" />
+  <include package="zope.app.zcmlfiles" />
+  <include package="zope.app.zcmlfiles" file="ftesting.zcml" />
 
   <include files="package-includes/*-configure.zcml" />
   <include files="package-includes/*-ftesting.zcml" />

Modified: Zope3/trunk/zopeskel/etc/site.zcml
===================================================================
--- Zope3/trunk/zopeskel/etc/site.zcml	2006-12-23 13:40:40 UTC (rev 71648)
+++ Zope3/trunk/zopeskel/etc/site.zcml	2006-12-23 14:17:45 UTC (rev 71649)
@@ -2,7 +2,7 @@
 
   <include files="package-includes/*-meta.zcml" />
 
-  <include package="zope.app" />
+  <include package="zope.app.zcmlfiles" />
 
   <include files="package-includes/*-configure.zcml" />
 



More information about the Checkins mailing list