[commits] [Wiki] changed: Project/NoMorePear
Wiki Guest
wikiguest at horde.org
Thu May 2 10:52:00 UTC 2019
guest [95.90.223.65] Thu, 02 May 2019 10:52:00 +0000
Modified page: https://wiki.horde.org/Project/NoMorePear
New Revision: 7
Change log: Proof of concept details
@@ -142,8 +142,43 @@
Horde_Test bundles phpunit. A Horde Library uses a copy of
boilerplate code from horde_test to initialize autoloading. This
boilerplate makes some PEARish assumptions (universal include hierarchy)
This pull request offers a new template and fixes other
unconditional require_once instances
https://github.com/horde/Test/pull/1
This should hopefully work for PEAR installs, composer installs and
full git checkouts just the same.
+
+
+++ Proof of concept
+
+There is a proof of concept in https://github.com/maintaina-com
+This proof of concept includes all software patches which are part of
this effort
+
++++ components and git-tools
+In this project, the components tool is used via git-tools as a frontend
+Various patches have been applied. Most relevant is a rewrite of the
Components_Helper_Composer class.
+
+This class now writes a thoroughly different composer file than
before and it takes its data from horde.yml
+rather than package.xml
+
+config options govern
+- if we want to build against dev-master dependencies or dependencies
using the horde.yml version constraints
+- if we assume all packages live on packagist, in a shared satis repo
or a per-library git location
+- how to translate non-horde pear dependencies into packagist
dependencies (otherwise, pear channels will be used)
+
++++ Core, Base and Autoloader
+Several patches were needed in places where horde just assumed files
to always be in a certain location.
+Most of these patches SHOULD NOT break git dev installs or pear
installs - testing was very limited
+
+Other relevant changes were detection of migration files in
Horde_Core_Db_Migration and handling of Horde_Controller routes in
+ lib/Horde/Core/Controller/RequestMapper.php
+
++++ Test
+
+The Horde_Test suite had some hardcoded requires which were made condidional.
+
++++ Other libraries
+
+Unmentioned libraries SHOULD only have been modified by replacing the
master branch composer file
+
++++
++ Resources
https://getcomposer.org/doc/articles/custom-installers.md composer
notes on custom installers and plugins
More information about the commits
mailing list