About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:recommended_tools

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
Next revisionBoth sides next revision
development:recommended_tools [2015/12/11 20:11] demiankatzdevelopment:recommended_tools [2018/09/27 14:06] demiankatz
Line 13: Line 13:
 It is strongly recommended that you use some sort of version control software to keep track of revisions while programming. This provides a valuable safety net for reverting bad changes, remembering why particular adjustments were made, etc. In the case of [[development:recommended_tools:git|Git]], the tool used by VuFind, it also offers powerful collaboration and sharing capabilities. Whether you plan to work locally or share with the local community, [[development:recommended_tools:git|Git]] is a tool worth learning more about, as is the [[http://github.com|GitHub]] platform, which enhances Git's native sharing capabilities with web-based collaboration tools. It is strongly recommended that you use some sort of version control software to keep track of revisions while programming. This provides a valuable safety net for reverting bad changes, remembering why particular adjustments were made, etc. In the case of [[development:recommended_tools:git|Git]], the tool used by VuFind, it also offers powerful collaboration and sharing capabilities. Whether you plan to work locally or share with the local community, [[development:recommended_tools:git|Git]] is a tool worth learning more about, as is the [[http://github.com|GitHub]] platform, which enhances Git's native sharing capabilities with web-based collaboration tools.
  
 +===== Dependency Management =====
 +
 +VuFind loads its external dependencies using [[development:recommended_tools:composer|Composer]]. An understanding of Composer is important when running VuFind from a source checkout or when adding new third-party libraries.
 +
 +===== Grunt =====
 +
 +VuFind, as of version 3.1, ships with a Gruntfile to help manage front end tasks like compiling less/scss, compressing js, and checking coding standards. [[development:grunt|See the documentation]] to get started.
 ===== Meeting Project Standards ===== ===== Meeting Project Standards =====
  
Line 23: Line 30:
 ==== Style ==== ==== Style ====
  
-For style compliance, it is recommended that you install [[https://github.com/squizlabs/PHP_CodeSniffer|PHP_CodeSniffer]] and [[https://github.com/FriendsOfPHP/PHP-CS-Fixer|PHP-CS-fixer]], each of which is capable of detecting (and sometimes automatically fixing) different issues.+For style compliance, VuFind uses [[https://github.com/squizlabs/PHP_CodeSniffer|PHP_CodeSniffer]] and [[https://github.com/FriendsOfPHP/PHP-CS-Fixer|PHP-CS-fixer]], each of which is capable of detecting (and sometimes automatically fixing) different issues. In recent versions of VuFind, these tools will be installed automatically by Composer.
  
-To test style compliance with PHP_CodeSniffer, you can run:+To test style compliance with PHP_CodeSniffer while in your VuFind directory, you can test a single file with:
  
 <code> <code>
-phpcs --standard=PEAR [file]+vendor/bin/phpcs --standard=PEAR [file]
 </code> </code>
  
-To automatically fix certain PHP_CodeSniffer issues, you can run:+Or, through [[https://www.phing.info/|Phing]], you can check the whole project:
  
 <code> <code>
-phpcbf --standard=PEAR [file]+vendor/bin/phing phpcs-console
 </code> </code>
  
-To automatically fix additional issues with php-cs-fixer, you can install [[https://www.phing.info/|Phing]] and then, from the base of your VuFind directory, run:+To automatically fix certain PHP_CodeSniffer issues, you can run:
  
 <code> <code>
-phing php-cs-fixer+vendor/bin/phing phpcbf
 </code> </code>
  
-(Note that this assumes that the php-cs-fixer command is accessible on your search path).+To automatically fix additional issues with php-cs-fixer, from the base of your VuFind directory, run: 
 + 
 +<code> 
 +vendor/bin/phing php-cs-fixer 
 +</code>
  
 If you are unwilling or unable to run these tools locally, note that if you open a pull request against the [[https://github.com/vufind-org/vufind|main VuFind repo]], they will be automatically run by [[development:testing:continuous_integration|continuous integration]] and you can view a list of issues in the resulting Travis report. Before you spend time manually fixing anything, you can post a comment on the pull request to ask for assistance with running the automatic processes. If you are unwilling or unable to run these tools locally, note that if you open a pull request against the [[https://github.com/vufind-org/vufind|main VuFind repo]], they will be automatically run by [[development:testing:continuous_integration|continuous integration]] and you can view a list of issues in the resulting Travis report. Before you spend time manually fixing anything, you can post a comment on the pull request to ask for assistance with running the automatic processes.
development/recommended_tools.txt · Last modified: 2023/10/20 12:02 by demiankatz