You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by "Michael Starch (JIRA)" <ji...@apache.org> on 2015/04/16 21:53:58 UTC

[jira] [Updated] (OODT-833) Cyclic Dependency

     [ 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)