The goal of this issue is to find a way to automatically notify Product team when any plugin has outdated code. #### Why is it needed? - In #6539 we created a system to automatically detect when Plugin code will call non-public APIs or when it calls deprecated or non-existing code. - In #7569 we fix those errors as a one-off - making sure that our plugins only call Public APIs and code that is not deprecated. - We need to be able to safely assume that plugins don't get broken by Core platform changes (required by #7453) - In the next few weeks, Product team members will keep writing code for plugins. For sure there will be new code that calls deprecated functions or non-public APIs. - To safely assume that plugins don't get broken by Core platform changes, we need to automatically detect/ be notified of calls to deprecated functions or non-public APIs. #### Proposal - maybe our code inspection could send an email to the team, - or maybe we could create a new CI job for Plugins CI build that would fail, when the latest plugin code inspection has detected some bad code for this plugin (eg. it would fetch the report over http://builds-artifacts and if it exists for this plugin, fail the CI job)
To safely assume that plugins don't get broken by Core platform changes, we need to automatically detect/ be notified of calls to deprecated functions or non-public APIs.
Note: the PHPStorm plugin can be installed on developers' PHPStorm so they can see issues as they code. (would have to enable the inspection & would be a problem w/ plugins that don't support the newest Piwik)
FYI: sensiolabs created a static code analysis tool to find usages of deprecated methods https://github.com/sensiolabs-de/deprecation-detector - this could maybe be interesting to us in the future