stable

Clone or download

Read-only

Install and activate plugins recursively

The new CLI command will install (in the Tuleap sense) AND activate any provided plugin. Unlike previous implementation, it protects against typo in plugin names and resolves dependencies automatically. While the code theorically works for both the UI and CLI command, front end still relies on dependency checker. It might make sense to align the behaviour later on. Some people will be happy in the IT teams :) Note: I had to remove the dependency on `botmattermost` for `create_test_env`. There should not be any dependency between a plugin that sits in the main repo and an external plugin. In the present case, a future commit will remove the feature (notifications in create_test_env) entirely. Part of request #21334 enalean/tuleap-aio should be easier to test Change-Id: I102d25bff23ae71dba62ca6c78346cd88595fa39

Modified Files

Name
M plugins/create_test_env/include/create_test_envPlugin.php +1 −1 Go to diff View file
A src/common/Plugin/InvalidPluginNameException.php +33 −0 Go to diff View file
M src/common/Plugin/PluginDependencySolver.php +3 −1 Go to diff View file
M src/common/Plugin/PluginFactory.php +61 −53 Go to diff View file
A src/common/Plugin/PluginInstallCommand.php +68 −0 Go to diff View file
M src/common/Plugin/PluginManager.php +104 −41 Go to diff View file
A src/common/Plugin/UnableToCreatePluginException.php +32 −0 Go to diff View file
M src/utils/tuleap.php +8 −0 Go to diff View file
M tests/rest/bin/setup.sh +14 −13 Go to diff View file
M tests/unit/common/Plugin/PluginFactoryTest.php +21 −21 Go to diff View file
M tests/unit/common/Plugin/PluginManagerTest.php +7 −6 Go to diff View file
M tests/unit/common/Plugin/_fixtures/customplugins/customdoc/include/customdocPlugin.php +2 −2 Go to diff View file
M tests/unit/common/Plugin/_fixtures/plugins/doc/include/docPlugin.php +2 −2 Go to diff View file
M tools/utils/admin/activate_plugin.php +2 −0 Go to diff View file