[ 
https://issues.apache.org/jira/browse/OODT-833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Starch updated OODT-833:
--------------------------------
    Description: 
Currently in the radix poms, there are a cyclic dependencies. This causes ALL 
dependent libraries for all of radix to be pulled into each component.  This is 
incorrect behavior for components that are supposed to be independent.

Currently the cyclic dependency shows itself in the following way:

 FileManager --> Extensions -->PCS Core --> FileManager, Workflow, Resource ....

As can be seen, there is a cyclic dependency.

It is recommended that the top level projects in radix for FileManager, 
WorkflowManager, ResourceManager, etc should be broken down into two projects: 
deployment and core.

In this way, extensions can depend on core projects, and deployment can depend 
on both extensions, and core.  Therefore, the cycle has disappeared.

At this point, in-order to prevent pulling in dependencies from the 
non-component cores, define the dependencies inside Extensions to "provided".

  was:
Currently in the radix poms, there are a cyclic dependencies. This causes ALL 
dependent libraries for all of radix to be pulled into each component.  This is 
incorrect behavior for components that are supposed to be independent.

Currently the cyclic dependency shows itself in the following way:

 FileManager --> Extensions -->PCS Core --> FileManager, Workflow, Resource ....

As can be seen, there is a cyclic dependency.

It is recommended that the top level projects in radix for FileManager, 
WorkflowManager, ResourceManager, etc should be broken down into two projects: 
deployment and core.

In this way, extensions can depend on core poms, and deployment can depend on 
both extensions, and core.  Therefore, the cycle has disappeared.






> Cyclic Dependency
> -----------------
>
>                 Key: OODT-833
>                 URL: https://issues.apache.org/jira/browse/OODT-833
>             Project: OODT
>          Issue Type: Bug
>          Components: radix
>            Reporter: Michael Starch
>         Attachments: evil-cycle.png
>
>
> Currently in the radix poms, there are a cyclic dependencies. This causes ALL 
> dependent libraries for all of radix to be pulled into each component.  This 
> is incorrect behavior for components that are supposed to be independent.
> Currently the cyclic dependency shows itself in the following way:
>  FileManager --> Extensions -->PCS Core --> FileManager, Workflow, Resource 
> ....
> As can be seen, there is a cyclic dependency.
> It is recommended that the top level projects in radix for FileManager, 
> WorkflowManager, ResourceManager, etc should be broken down into two 
> projects: deployment and core.
> In this way, extensions can depend on core projects, and deployment can 
> depend on both extensions, and core.  Therefore, the cycle has disappeared.
> At this point, in-order to prevent pulling in dependencies from the 
> non-component cores, define the dependencies inside Extensions to "provided".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to