[Zope-dev] Dependencies for ZCML

Tres Seaver tseaver at palladion.com
Wed Mar 11 21:27:15 EDT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Martijn Faassen wrote:
> Dan Korostelev wrote:
>> 2009/3/11 Martijn Faassen <faassen at startifact.com>:
>>>> Oh, and on the topic, one more time: can we have a steering group
>>>> decision on the package requirements for zcml statements? Are we doing
>>>> extras for them or simply skipping them?
>>> Sorry, I wasn't clear that there was an open question and I'm afraid I
>>> don't understand this one. :)
>>>
>>> Could you point me to the appropriate thread that was left in the
>>> middle, or could you start a new thread with a description of the open
>>> question?
>> I'm too lazy now to search in archives, so I'll just describe again.
>> For example, the zope.password package only requires zope.interface to
>> be functional. But it's configure.zcml contains directives that need
>> zope.component (or repoze.zcml) and zope.security. Also, the zcml
>> thing itself needs zope.configure as well. Should we mention it in
>> extra dependencies somehow or just document it, saying that zcml is
>> intented to be used in more zope3-ish environment that already has
>> needed packages, so others can simply ignore these files.
> 
> Good question.
> 
> In packages where the *tests* load the ZCML, they will definitely need 
> to be described as test extra dependencies at the least.
> 
> In packages that don't load their own ZCML during the tests, it's harder 
> to say. One reaction could be that this package doesn't have enough 
> tests then! Of course another would argue that this is configuration 
> information only that can be overridden, but it is rather special 
> configuration...

- -1 on having "configuration dependecies," including having mandatory
tests that ZCML will load:  "mandatory configuration is a contradiction
in terms."  I therefore don't believe that tests which try to load ZCML
are useful, at least for "library" pacakges (as opposed to "applications").


Any ZCML file which needs something like zope.component or zope.security
to be present should signalt that by either including the meta.zcml
(e.g., to define directives) or nesting the dependent directives inside
a "conditional" block, whose predicate documents the requirement.


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJuGTz+gerLs4ltQ4RAitlAKDXU6+YEGsF5ftyZim+8LYPVTilOACcC09i
dh9HsIp2qk1jLbeee0KVvpw=
=HzIJ
-----END PGP SIGNATURE-----



More information about the Zope-Dev mailing list