[commits] [Wiki] created: Project/NoMorePear

Ralf Lang (B1 Systems GmbH) lang at b1-systems.de
Tue Feb 5 12:13:06 UTC 2019


rlang  Tue, 05 Feb 2019 12:13:06 +0000

Created page: https://wiki.horde.org/Project/NoMorePear

[[toc]]

+ No More Pear: Move to composer

Remove any hard runtime or installation dependency on pear

++ Bugs

List any tickets on http://bugs.horde.org/ that cover this issue or  
are relevant to it.

++ People

Ralf Lang

++ Description

The PHP ecosystem has increasingly moved from pear to composer as the  
default installer. The changed paradigm (global versus local  
dependency management) attracts many users and developers.

+++ Runtime dependencies

++++ horde-db-migrate and web migrator

horde-db-migrate "forgets" to migrate or even acknowledge libraries in  
git checkouts where the pear channel is not present.
https://github.com/horde/Core/pull/2

++++ l10n/translation tools?

+++ Installation

++++ Document .horde.yml format and how it relates to composer json  
and pear xml



++++ Generate composer json file from .horde.yml


components/lib/Helper/Composer.php currently depends on conductor and  
gets its data from package.xml
anything handling package.xml is broken without pear though. Always  
need to register the horde channel

rewrite all pear.horde.org dependencies to vcs type dependencies github/horde/

Other resources
Do we want to keep a whitelist of other channels/packages which should  
be pulled from packagist or github rather than pear?

++++ Composer plugin: install apps below base rather than vendor/

(we don't want /vendor/ web-readable)

++++ Composer plugin: copy, move or link js content from libraries to horde/js

Maybe refactor functionality from git-tools


+++ Packagist

Add tool chain to create and update packages on packagist for easier  
consumption.


++ Resources

https://getcomposer.org/doc/articles/custom-installers.md composer  
notes on custom installers and plugins
https://github.com/composer/installers multi-framework collection of  
installers

----
Back to the ((Project|Project List))



More information about the commits mailing list