[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