jadu / meteor

A packaging and deployment tool
https://jadu.github.io/meteor
MIT License
9 stars 1 forks source link

Meteor detects circular references when there isn't one #104

Closed skmetaly closed 4 years ago

skmetaly commented 4 years ago

Given the following scripts section

    "scripts": {
        "patch.post-rollback": [
            "@clear-cache",
            "@warm-cache"
        ],
        "patch.post-apply": [
            "@clear-cache",
            "@warm-cache"
        ],
        "clear-cache": "php clear-cache",
        "warm-cache": "php warm-cache",
    },

Meteor detects the script a circular reference, because clear-cache and warm-cache were called twice but there isn't actually a circular reference here. Check https://github.com/jadu/meteor/blob/3.4.0-rc2/src/Scripts/ServiceContainer/ScriptsExtension.php#L143-L161

This happens because Meteor doesn't do an actual circular reference check, just a simple check if the command was used before.

This prevents us from reusing scripts for post-apply/post-rollback