plone / Products.CMFPlone

The core of the Plone content management system
https://plone.org
GNU General Public License v2.0
252 stars 188 forks source link

Break dependency cycles #3764

Closed gforcada closed 1 year ago

gforcada commented 1 year ago

forest

plone.app.vocabularies is a major source of cyclic dependencies ๐Ÿ˜…

The image above has been generated with these tox environment on plone.app.vocabularies repository:

[testenv:circular]
usedevelop = true
deps =
    pipdeptree
    git+https://github.com/collective/pipforester
    -c https://dist.plone.org/release/6.0-dev/constraints.txt
commands =
    sh -c 'pipdeptree -j >forest.json'
    pipforester -i forest.json -o forest.dot --cycles
    dot -Tsvg -o forest.svg forest.dot
    dot -Tpng -o forest.png forest.dot

Save that on plone.app.vocabularies tox.ini file and then run tox -e circular โœจ

Now time to ๐Ÿงน those circular dependencies โ›“๏ธ

gforcada commented 1 year ago

Seems that plone.app.vocabulary is free from circular dependencies ๐ŸŽ‰