On 5/14/09 11:05 PM, Chris McDonough wrote: > zope.container (32 transitive dependencies) has some possibly low-hanging > dependency tease-apart fruit. Does anyone have any ideas about to sort out > the > below, particularly with externalizing the mentioned interface dependencies? > > - It depends on zope.filerepresentation but depends only on its interfaces > IReadDirectory, IWriteDirectory, and IDirectoryFactory. > (zope.filerepresentation has 32 transitive dependencies).
I found out that zope.container<->zope.filerepresentation is a direct circular dependency and that zope.filerepresentation is a package containing only interfaces. So breaking this dependency won't get us much for zope.container. OTOH, breaking zope.filerepresentation's dependency on zope.container might be a win (I dont know what else depends on zope.filerepresentation). zope.filerepresentation depends only on zope.container.interfaces.IReadContainer and zope.container.interfaces.IWriteContainer. > - It depends on zope.app.dependable but depends only on its interfaces > IDependable and DependencyError. (note: zope.app.dependable might > be a candidate to be called zope.dependable as it depends on no other > zope.app > packages; it does depend on about 20 other zope.* packages transitively > tho). I fixed this by using a zcml:condition statement on an event subscriber.. if zope.app.dependable is not installed, nothing could have been registered for the IDependable interface which a "CheckDependency" subscriber is using to figure out dependents, so there's no use registering the subscriber. > - It depends on zope.publisher, but only its interfaces > browser.IBrowserRequest, > browser.IBrowserPublisher, NotFound, IDefaultViewName, > xmlrpc.IXMLRPCPublisher, and IPublishTraverse. > > - I was able to break a runtime logic dependency on zope.traversing by > disusing zope.traversing.api.getPath in favor of using > ILocationInfo(object).getPath(). The rest of the runtime dependencies on > zope.traversing are interface dependencies (ITraversable, > IContainmentRoot). These are still up for debate. - C _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )