1
0
Fork 0
Commit Graph

20 Commits (e0cce2bfb00c8c828f2a70a8beb4db4fc7f60888)

Author SHA1 Message Date
Jordi Boggiano 5c98a2cf8e
Add phpstan-symfony to get type info about console InputInterface, fix many errors (#10476)
Extract common init/require commands functionality into PackageDiscoveryTrait
Extract some helper methods into BaseCommand for better types
2022-02-16 13:24:57 +01:00
Jordi Boggiano 226689b90c
Fix plugin autoloading including files autoload rules from the root package, fixes #10382 (#10386) 2021-12-22 16:04:34 +01:00
Jordi Boggiano 7dd95a768b
Clean stuff up and deprecate old usages for PostFileDownloadEvent 2021-04-09 11:21:13 +02:00
Jordi Boggiano 3fc9ede24b
Add plugin callbacks for deactivation and uninstall, fixes #3000 2019-02-18 18:14:46 +01:00
Nils Adermann 6ef65e5319 Add a new RepositorySet class and restrict pool usage to the solver
Breaking change for the plugin interface so bumping the version of
composer-plugin-api to 2.0.0

First step for a refactoring of the package metadata loading mechanism
2018-09-10 15:27:54 +02:00
Michele Locati 097003b5bb
Add test case for strict types declaration 2016-06-01 10:00:37 +02:00
Jordi Boggiano b9bd021516 Fix test suite on <7 2016-04-28 21:19:26 +01:00
Jordi Boggiano ba909d8795 Avoid duplicate commands, and pass plugin to ctor args for capabilities, refs #3377 2016-04-28 21:12:26 +01:00
Jordi Boggiano 090295dbcb Adjust the CommandProvider to use plugin capabilities and test actual command creation, refs #3377 2016-04-28 20:37:54 +01:00
Jordi Boggiano a9df4acd7d Merge remote-tracking branch 'jderusse/plugin-with-commands' 2016-04-28 20:11:33 +01:00
nevvermind 681043355f Update test fixtures + fix test 2016-01-22 13:51:32 +00:00
nevvermind 58ded13eb9 Fix tests breaking on a api version bump
Make generic plugins work with many API versions as opposed to just 1.0.0.
2016-01-22 13:51:32 +00:00
nevvermind 3032f0a538 Refactor based on code review
- Move the version api getter to the PluginManager And make it such that it can be mocked, but not pollute the public interface. That means "protected" visibility.
- The plugin api version constant should still be used throughout the code.
- Use different fixtures class names
- Use regex possessive quantifiers for performance
- Use full words for readability
2015-06-02 17:40:32 +01:00
nevvermind eb2aa14830 Make plugins have actual constraints instead of fixed versions
Instead of developing plugins against a single, fixed Plugin API version - `"composer-plugin-api": "1.0.0"`, this change will allow plugin developers to use versions like `"composer-plugin-api": "~1.1"` or `"composer-plugin-api": ">=2.1 <3.0"`, aka actual Composer-compatible constraints.

Only the "1.0", "1.0.0" and "1.0.0" Plugin API versions will be regarded as BC versions, and internally converted to "^1.0"; every other declared version string will be kept as it is.

Because of this new constraint flexibility, plugin version mismatches will be skipped, which means those plugin will NOT be registered to the system. Previously, a mismatch triggered a warning, but plugins were still registered.
2015-06-02 14:10:09 +01:00
Jérémy Derussé 86e0b847be Allow plugins to register commands 2015-02-26 09:14:25 +01:00
Nils Adermann f249fd804f Correctly require composer plugin api version in test plugins 2013-09-06 13:36:02 +02:00
Nils Adermann b9c5758670 Make composer/io part of the activate plugin API rather than constructor args 2013-08-30 12:51:41 +02:00
Nils Adermann 69a028f368 Fix plugin interface usage in tests 2013-08-30 12:51:41 +02:00
Nils Adermann 2f43e9aefb Load installed plugins at appropriate time and adapt tests accordingly 2013-08-30 12:51:40 +02:00
Nils Adermann 3e41977be7 Plugin tests are no longer strictly installer tests 2013-08-30 12:51:40 +02:00