1
0
Fork 0
Commit Graph

53 Commits (6a69018185cf30d75f4b7cd37e3d55d138ef5e38)

Author SHA1 Message Date
Jordi Boggiano e3d99cac59
Fix phpstan issues, update baseline and pin PHPStan version in 2.2 branch (#10474) 2022-01-21 12:48:16 +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 a3e91b5be6
Add allow-plugins config value (#10314)
Fixes #5659

- Automatically switch off plugins by default in July 2022
- reword hash into object in schema

Co-authored-by: Nils Adermann <naderman@naderman.de>
2021-12-07 23:00:48 +01:00
Jordi Boggiano cb0293cf30
Finalize phpstan level 6 for tests dir, closes #10159 2021-11-02 14:32:09 +01:00
Jordi Boggiano 44b69ba77f
Upgrade php-cs-fixer to 3.x and fix CS 2021-10-27 16:21:45 +02:00
jakobvibe 1ba1463013
Added types to plugin test (#10231)
Co-authored-by: Jakob Vibe <jv@ipw.dk>
2021-10-27 14:52:34 +02:00
Martin Herndl aa4c2ab63c
Add types to `Plugin` (#10194) 2021-10-25 11:02:54 +02:00
Jordi Boggiano d3c176ec69
PHPStan Level 5 (#10070)
* Bump PHPStan to level 5

* Update seld/phar-utils to latest

* Add phpstan-setup / phpstan scripts
2021-08-21 17:41:52 +02:00
Jordi Boggiano 4940009f83
Bump phpstan to level 3 (#9734)
Clean up PackageInterface/CompletePackageInterface, add missing methods, type things in solver as BasePackage, added CompleteAliasPackage, ..
2021-03-09 15:49:40 +01:00
Jordi Boggiano d94e638461
Fix tests and edge case 2021-01-12 14:00:02 +01:00
Jordi Boggiano b7d770659b
CS fixes 2020-11-22 14:52:39 +01:00
Jordi Boggiano 1593b67230
Fix warnings on higher phpunit versions 2020-09-11 11:01:32 +02:00
Jordi Boggiano c5c6d44a0b
Refactor away some unnecessary RepositorySet usages 2020-02-13 17:51:22 +01:00
Jordi Boggiano 45ecbae8f5
Merge branch 'master' into 2.0 2020-02-07 22:20:51 +01:00
Ion Bazan db32d6bc18 do not use env 2020-02-07 13:07:01 +08:00
Jordi Boggiano 3fc9ede24b
Add plugin callbacks for deactivation and uninstall, fixes #3000 2019-02-18 18:14:46 +01:00
Jordi Boggiano 3dfcae99a9 Add parallel download capability to FileDownloader and derivatives 2019-01-18 08:39:03 +01:00
Jordi Boggiano 2e0f31106a Merge remote-tracking branch 'origin/master' into 2.0 2018-11-12 16:01:07 +01:00
Gabriel Caruso 2a13bb2649 Fixes from PHPStan (#7687)
* fix docblocks

* remove redundant conditional

* fix wrong variable name

* fix wrong namespaces

* add missing private members

* remove unused/redundant arguments

* move testcase class

* exclude TestCase.php

* Tweak RuleWatchGraph type hints

* Tweak doc comment
2018-11-12 15:23:32 +01:00
Nils Adermann 1228bcdffc Internalize pool creation in repository set, store root aliases in set
The pool is still exposed too early in a few places which will require
further refactoring
2018-09-11 13:34:18 +02:00
Jordi Boggiano 066351c5b9 Remove use of deprecated getMock method 2018-04-12 10:24:56 +02:00
Jordi Boggiano 122e422682 CS fixes 2017-03-08 15:16:44 +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
Jordi Boggiano 1818b95149 CS fixes 2016-01-26 13:07:18 +00:00
Jordi Boggiano 783e0aec8a Merge remote-tracking branch 'alcohol/unique-test-directories' 2016-01-26 12:35:29 +00:00
Rob Bast adf3b956d0 try to use unique test directories
any tests that use the filesystem should have their own unique directory, as we run our test suite in parallel and
cleanup of tests (removing directories) should not interfere with currently running tests
2016-01-26 09:41:21 +01:00
Jordi Boggiano 837fa805ec Code tweaks, refs #4124 2016-01-22 19:09:44 +00:00
nevvermind aa45a48283 Refactoring
- changed "SPI" into something more familiar, like "implementation"
- throw exceptions on invalid implementation types or invalid class names
- use null instead of false when querying
- refactored the tests accordingly
2016-01-22 13:51:32 +00: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 2051d74774 Added Capable plugins for a more future-proof Plugin API
Plugins can now present their capabilities to the PluginManager, through which it can act accordingly, thus making Plugin API more flexible, BC-friendly and decoupled.
2016-01-22 13:51:32 +00:00
Jordi Boggiano ce08582671 Fix CS 2015-09-28 10:53:24 +01:00
Jordi Boggiano 6a64041055 CS fixes 2015-06-30 15:38:32 +01:00
nevvermind 12c833864c Revert converting `1.0.0` to `^1.0`. 2015-06-08 22:45:20 +01: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
Jordi Boggiano 0627d846a5 PluginManager refactoring, fixes #3550 2014-12-13 18:54:42 +00:00
Jordi Boggiano 94926218e8 CS fixes 2014-10-17 18:57:27 +01:00
François Pluchino 11b945046f Register plugin only one time when it's present in global and project mode 2014-07-21 15:11:38 +02:00
Jordi Boggiano 11a0d16ccc CS fixes 2013-10-11 20:12:45 -03:00
Karoly Negyesi 1a69d0a2a7 style fixes 2013-09-22 19:41:54 +02:00
Karoly Negyesi 6c393c1c69 use the more generic removeDirectory 2013-09-20 06:31:06 +02:00
Karoly Negyesi f82c820a32 do not try to test update inside fixtures 2013-09-20 05:39:35 +02:00
Martin Hasoň e949038c0f Removed duplication of logic of an installation manager in a plugin manager 2013-09-12 14:31:27 +02:00
Nils Adermann 6c2e998e40 Add missing use statement 2013-09-05 14:32:09 +02:00
Nils Adermann bf08019292 Load plugins and installers prior to checking installed packages 2013-08-31 16:20:38 +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