openeuropa / task-runner

PHP task runner based on Robo, focused on extensibility.
European Union Public License 1.2
36 stars 11 forks source link

Plan: Make Task Runner Drupal agnostic #130

Open claudiu-cristea opened 4 years ago

claudiu-cristea commented 4 years ago

Problem

Task Runner provides default commands but some of them are Drupal-specific commands. In fact Task Runner it's not supposed to be a "Drupal tool" but a generic command runner. For this reason, the Drupal specific commands should be moved outside, in their own repo, i.e. openeuropa/task-runner-drupal.

However, this might impact some projects that are using Task Runner, mainly the Toolkit project. Currently, Toolkit uses or overrides some of the Task Runner default commands as follows:

The problem is with the current drupal:settings-setup command. This can be overridden by Toolkit because the Task Runner version is registered before the namespace discovered commands. If we move the Task Runner version in a 3rd party library, we cannot guarantee which version will be discovered first and the Toolkit override might not work. But we want to guarantee that Toolkit is able to override the Task Runner version.

Proposal

For this reason, we propose the following strategy:

ademarco commented 4 years ago

Proposal look good, only we need to make sure that whatever we do in 1.x does not require any manual fix on libraries that depends on it, such as the Toolkit, but I guess that's what you meant by:

Keep the drupal:settings-setup as default command, so that is guaranteed that Toolkit can override it as it does now but remove the command body and replace it with a call to the openeuropa/task-runner-drupal method.

About:

Are changelog:generate and release:create-archive Task Runner core commands or we should move them out, somewhere (where?)?

We could create two new repos:

claudiu-cristea commented 4 years ago

we need to make sure that whatever we do in 1.x does not require any manual fix on libraries that depends on it, such as the Toolkit, but I guess that's what you meant by:

Yes, the Toolkit will not be affected.

We could create two new repos:

Great! This add more clarity to the whole ecosystem. I will create 2 new tickets.

@ademarco Could you, please, create the 3 new repos with the same perms as this one?

ademarco commented 4 years ago

Yep, will do!