opulencephp/Opulence

Deprecated annotations

peteraba opened this issue · 4 comments

Phan found a couple of issues related to code that is annotated as @deprecated.

I'm thinking normally this check should just be disabled, because it's pretty common and normal for frameworks to mark methods which are deprecated as such. The reason I'm opening this issue is that I think @deprecated tags should give developers more information about what to expect. Like they should say with which version they will be removed and what developers should use instead. At the moment none of the tags seem to have this information and therefore they are confusing.

src/Opulence/Applications/Application.php:76 PhanDeprecatedFunction Call to deprecated function \Opulence\Applications\Tasks\Dispatchers\ITaskDispatcher::dispatch() defined at src/Opulence/Applications/Tasks/Dispatchers/ITaskDispatcher.php:25 (Deprecated because: 1.1.0 This method will be removed)
src/Opulence/Applications/Application.php:83 PhanDeprecatedFunction Call to deprecated function \Opulence\Applications\Tasks\Dispatchers\ITaskDispatcher::dispatch() defined at src/Opulence/Applications/Tasks/Dispatchers/ITaskDispatcher.php:25 (Deprecated because: 1.1.0 This method will be removed)
src/Opulence/Applications/Application.php:109 PhanDeprecatedFunction Call to deprecated function \Opulence\Applications\Tasks\Dispatchers\ITaskDispatcher::dispatch() defined at src/Opulence/Applications/Tasks/Dispatchers/ITaskDispatcher.php:25 (Deprecated because: 1.1.0 This method will be removed)
src/Opulence/Applications/Application.php:116 PhanDeprecatedFunction Call to deprecated function \Opulence\Applications\Tasks\Dispatchers\ITaskDispatcher::dispatch() defined at src/Opulence/Applications/Tasks/Dispatchers/ITaskDispatcher.php:25 (Deprecated because: 1.1.0 This method will be removed)
src/Opulence/Applications/Application.php:118 PhanDeprecatedFunction Call to deprecated function \Opulence\Applications\Application::shutDown() defined at src/Opulence/Applications/Application.php:69 (Deprecated because: 1.1.0 This method will be removed)
src/Opulence/Applications/Tasks/Dispatchers/TaskDispatcher.php:19 PhanDeprecatedInterface Using a deprecated interface \Opulence\Applications\Tasks\Dispatchers\ITaskDispatcher defined at src/Opulence/Applications/Tasks/Dispatchers/ITaskDispatcher.php:17 (Deprecated because: 1.1.0 This interface will be removed)
src/Opulence/Console/Kernel.php:86 PhanDeprecatedFunction Call to deprecated function \Opulence\Console\Commands\VersionCommand::__construct() defined at src/Opulence/Console/Commands/VersionCommand.php:29 (Deprecated because: 1.1.0 The $applicationVersion parameter will soon not be accepted)
src/Opulence/Console/Kernel.php:93 PhanDeprecatedFunction Call to deprecated function \Opulence\Console\Commands\AboutCommand::__construct() defined at src/Opulence/Console/Commands/AboutCommand.php:37 (Deprecated because: 1.1.0 The $applicationVersion parameter will soon not be accepted)


The Application library will be removed completely in 2.0. Since Opulence follows semantic versioning, deprecated params will be removed in the next major release (2.0).

I understand that, but you should give people more insight about what to expect. Without that, whoever wants to have an easy way upgrading to a future 2.0 can do absolutely nothing about these deprecations.

There will be an upgrade guide. Still figuring out the full feature set for 2.0.

I made my point, closing issue.