Revert "Move `RecursiveDataStructureTraverser` to `wp-cli/wp-cli` package" by danielbachhuber · Pull Request #5866 · wp-cli/wp-cli

@danielbachhuber

Reverts #5864
See #5837

Let's have this live in its own repository

@danielbachhuber

@danielbachhuber danielbachhuber deleted the revert-5864-refactor/move-recursivedatastructuretraverser-to-wp-cli-package branch

November 10, 2023 13:10

@schlessera

@danielbachhuber What's the reasoning behind creating a separate repository for this? This will add a whole heap of extra effort (package setup, release process, test setup & CI/CD, etc...). For these few files, why not just stick with adding it to the package that is the "framework" package? Did you see a specific use case for using this outside of WP-CLI?

@danielbachhuber

What's the reasoning behind creating a separate repository for this?

@schlessera So we can start using the classes right away, instead of waiting for the framework to be tagged, dealing with back compat, etc.

This will add a whole heap of extra effort (package setup, release process, test setup & CI/CD, etc...).

Our automation should solve this, no?

@schlessera

@schlessera So we can start using the classes right away, instead of waiting for the framework to be tagged, dealing with back compat, etc.

I usually deal with this by pulling in the main branch of the framework where needed, that's why they all come with a branch alias. During the release process, this is all corrected with stable tagged versions again.

Our automation should solve this, no?

Every package not only adds extra maintenance overhead and slows down CI/CD, but also introduces a new "API" in the form of an officially accessible package that has its own versioning/dependency tree hassles.

@schlessera

Moreover, I'd like to add that we cannot add a new package every time the framework would require an update that needs to immediately be accessible to a command repository.

@danielbachhuber

I usually deal with this by pulling in the main branch of the framework where needed, that's why they all come with a branch alias. During the release process, this is all corrected with stable tagged versions again.

@schlessera Ok, can you own setting this up? It sounds more complicated than what I proposed, but I don't have a strong opinion about this.

schlessera added a commit that referenced this pull request

Nov 14, 2023

This was referenced

Nov 14, 2023

@schlessera

@danielbachhuber I set this up. It's not complicated at all, as all packages are already configured, it just means bumping the minimum framework version in the corresponding packages to a not-yet-released version (which then automatically pulls in dev-main). I added some further explanation here: wp-cli/entity-command#442 (comment)