[MAGNOLIA-333] remove cyclic dependencies Created: 17/Apr/05  Updated: 22/Mar/06  Resolved: 22/Mar/06

Status: Closed
Project: Magnolia
Component/s: core
Affects Version/s: 2.01
Fix Version/s: 3.0 Beta 1

Type: Task Priority: Major
Reporter: Fabrizio Giustina Assignee: Fabrizio Giustina
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:

 Description   

[was deleted]

The magnolia code has a lot of cyclic dependencies between packages,
which prevents from eventually splitting the project in different
modules (core, gui, taglibs, etc.). Cyclic dependencies are bad,
fixing them will anyway require moving some classes to a different
package. See:
http://magnolia.sourceforge.net/maven/jdepend-report.html#Cycles

We could start by defining the correct order of dependencies (e.g.
info.magnolia.cms.core should never depends on info.magnolia.cms.util)
for all the packages.

First candidates: move Path to core and exchange servlet to exchange.simple?



 Comments   
Comment by Fabrizio Giustina [ 17/Apr/05 ]

inlined some comparators in info.magnolia.cms.core.Content to reduce dependencies on info.magnolia.cms.util

Comment by Fabrizio Giustina [ 17/Apr/05 ]

moved Path to core. This removes any direct dependency from cms.core to cms.util

Comment by Fabrizio Giustina [ 17/Apr/05 ]

moved ExchangeServlet to info.magnolia.cms.exchange.simple.SimpleExchangeServlet

Comment by Fabrizio Giustina [ 17/Apr/05 ]

the bigger problem now is the cyclic dependency between info.magnolia.cms.core and info.magnolia.cms.beans.config.

We should remove any dependency to info.magnolia.cms.beans.config from info.magnolia.cms.core, but at the moment this isn't so easy and it will require moving to core most of the classes from beans.config.

Comment by Fabrizio Giustina [ 01/May/05 ]

Moved ItemType to core

Comment by Fabrizio Giustina [ 03/May/05 ]

moved SystemProperty to core

Comment by Fabrizio Giustina [ 07/May/05 ]

moved info.magnolia.cms.core.util.Access to core. Circular dependency between core and security now

Comment by Fabrizio Giustina [ 15/May/05 ]

see MAGNOLIA-391
removed dependency from beans.config.Paragraph to info.magnolia.module using event listeners

Comment by Fabrizio Giustina [ 15/May/05 ]

removed dependency from info.magnolia.cms.i18n to info.magnolia.cms.gui: removed utility methods in TemplateMessagesUtils which took a DialogSuper as argument (Philipp, please be careful in adding new inter-package dependencies)

Comment by Boris Kraft [ 15/Jun/05 ]

Fabrizio, can you comment on the state of this and either close or move issue to 2.2DP?
Thanks - Boris

Comment by Fabrizio Giustina [ 15/Jun/05 ]

ciclic dependencies have been partially removed, but there is still something to do. Moving to 2.2, we will try to split magnolia modules in separate subprojects and this will help.

Comment by Fabrizio Giustina [ 22/Mar/06 ]

still some cyclic dependencies in core, but the split into separate modules helped a lot.
I'll close this issue for now, I'll reopen specific items when a particular cycle will be identified.

Generated at Mon Feb 12 03:16:23 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.