DokuWiki

It's better when it's simple

User Tools

Site Tools


devel:composer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
devel:composer [2015-12-04 04:58] – Link to vendor dir. 125.255.136.190devel:composer [2024-02-26 18:49] (current) – Minor change Rosselyn
Line 1: Line 1:
 ====== Composer ====== ====== Composer ======
 +
 +===== Core Dependencies =====
  
 We use [[https://getcomposer.org/|Composer]] to include certain 3rd party libraries with DokuWiki. However we're using it a bit different from what you may know from other projects: We use [[https://getcomposer.org/|Composer]] to include certain 3rd party libraries with DokuWiki. However we're using it a bit different from what you may know from other projects:
  
-All **composer installed library files** as well as the autogenerated autoload configuration is **checked into git**.((See https://github.com/splitbrain/dokuwiki/tree/master/vendor)) This ensures that a git checkout (or TGZ download from github) is immediately usable without the need to run composer.+All **composer installed library files** as well as the autogenerated autoload configuration is **checked into git**.((See https://github.com/dokuwiki/dokuwiki/tree/master/vendor)) This ensures that a git checkout (or TGZ download from github) is immediately usable without the need to run composer.
  
 We **only check in what we need**. Everything we don't need is added to our ''.gitignore'' to avoid accidental checkins. This way we avoid shipping potential harmful example code and unnecessary tests and documentation. We **only check in what we need**. Everything we don't need is added to our ''.gitignore'' to avoid accidental checkins. This way we avoid shipping potential harmful example code and unnecessary tests and documentation.
Line 9: Line 11:
 We try to **avoid large dependencies**. We don't want to ship a huge tree of potential buggy/security relevant of dependencies with DokuWiki. So each library should be evaluated carefully before adding it. We try to **avoid large dependencies**. We don't want to ship a huge tree of potential buggy/security relevant of dependencies with DokuWiki. So each library should be evaluated carefully before adding it.
  
-Useful code developed for DokuWiki should be moved to external composer packages where sensible. This is still in progress.+Useful code developed for DokuWikishould be moved to external composer packages where sensible. This is still in progress. 
 + 
 +===== Development Dependencies ===== 
 + 
 +Dependencies and tools needed for development are installed via composer in the ''_test'' directory. We no longer check in those - instead developers need to install the dependencies themselves: 
 + 
 +<code> 
 +cd _test 
 +composer install 
 +</code> 
 + 
 +We provide three shortcut scripts: 
 + 
 +  * ''composer run test'' for running [[devel:unittesting|phpunit tests]] 
 +  * ''composer run check'' for doing [[devel:coding_style|codestyle]] linting 
 +  * ''composer run autofix'' to do automatic code style fixing and rector updates 
  
  
devel/composer.1449201530.txt.gz · Last modified: 2015-12-04 04:58 by 125.255.136.190

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki