Browse Source

Test phpstan

Laurent Destailleur 1 year ago
parent
commit
76338116bf
2 changed files with 3 additions and 174 deletions
  1. 2 1
      build/phpstan/bootstrap.php
  2. 1 173
      phpstan.neon

+ 2 - 1
build/phpstan/bootstrap.php

@@ -1,7 +1,8 @@
 <?php
 // Example to use PHPStan
 // cd git/dolibarr
-// /usr/bin/php7.2 ../phpstan.phar -l1 analyze htdocs/societe/website.php --memory-limit 2G
+// /usr/bin/php7.2 /pathtophpstan/phpstan.phar -l1 analyze htdocs/societe/website.php --memory-limit 2G
+// /usr/bin/php7.2 /pathtophpstan/phpstan analyze htdocs/societe/website.php --memory-limit 2G
 
 // Defined some constants and load Dolibarr env to reduce PHPStan bootstrap that fails to load a lot of things.
 define('DOL_DOCUMENT_ROOT', __DIR__ . '/../../htdocs');

+ 1 - 173
phpstan.neon

@@ -1,173 +1,5 @@
 parameters:
-	bootstrap: %currentWorkingDirectory%/build/phpstan/bootstrap.php
-	excludes_analyse: 
-		- %currentWorkingDirectory%/htdocs/includes/restler/framework/Luracast/Restler/AutoLoader.php
-		- %currentWorkingDirectory%/htdocs/includes/*
-		- %currentWorkingDirectory%/htdocs/*/class/api_*
-		- %currentWorkingDirectory%/htdocs/*/canvas/*/tpl/*.tpl.php
-	autoload_directories:
-		- %currentWorkingDirectory%/htdocs/accountancy/class
-		- %currentWorkingDirectory%/htdocs/adherents/class
-		- %currentWorkingDirectory%/htdocs/api/class
-		- %currentWorkingDirectory%/htdocs/asset/class
-		- %currentWorkingDirectory%/htdocs/blockedlog/class
-		- %currentWorkingDirectory%/htdocs/bom/class
-		- %currentWorkingDirectory%/htdocs/bookmarks/class
-		- %currentWorkingDirectory%/htdocs/cashdesk/class
-		- %currentWorkingDirectory%/htdocs/categories/class
-		- %currentWorkingDirectory%/htdocs/comm/action/class
-		- %currentWorkingDirectory%/htdocs/comm/propal/class
-		- %currentWorkingDirectory%/htdocs/commande/class
-		- %currentWorkingDirectory%/htdocs/compta/bank/class
-		- %currentWorkingDirectory%/htdocs/compta/cashcontrol/class
-		- %currentWorkingDirectory%/htdocs/compta/deplacement/class
-		- %currentWorkingDirectory%/htdocs/compta/facture/class
-		- %currentWorkingDirectory%/htdocs/compta/localtax/class
-		- %currentWorkingDirectory%/htdocs/compta/paiement/class
-		- %currentWorkingDirectory%/htdocs/compta/prelevement/class
-		- %currentWorkingDirectory%/htdocs/compta/sociales/class
-		- %currentWorkingDirectory%/htdocs/compta/tva/class
-		- %currentWorkingDirectory%/htdocs/conf
-		- %currentWorkingDirectory%/htdocs/contact/class
-		- %currentWorkingDirectory%/htdocs/contrat/class
-		- %currentWorkingDirectory%/htdocs/core/class
-		- %currentWorkingDirectory%/htdocs/core/lib
-		- %currentWorkingDirectory%/htdocs/core/triggers
-		- %currentWorkingDirectory%/htdocs/core/modules/bank
-		- %currentWorkingDirectory%/htdocs/core/modules/bom
-		- %currentWorkingDirectory%/htdocs/core/modules/commande
-		- %currentWorkingDirectory%/htdocs/core/modules/expedition
-		#- %currentWorkingDirectory%/htdocs/core/modules/expensereport
-		- %currentWorkingDirectory%/htdocs/core/modules/facture
-		- %currentWorkingDirectory%/htdocs/core/modules/fichinter
-		- %currentWorkingDirectory%/htdocs/core/modules/holiday
-		- %currentWorkingDirectory%/htdocs/core/modules/delivery
-		#- %currentWorkingDirectory%/htdocs/core/modules/member
-		- %currentWorkingDirectory%/htdocs/core/modules/payment
-		- %currentWorkingDirectory%/htdocs/core/modules/product
-		- %currentWorkingDirectory%/htdocs/core/modules/propale
-		- %currentWorkingDirectory%/htdocs/core/modules/reception
-		#- %currentWorkingDirectory%/htdocs/core/modules/stock
-		- %currentWorkingDirectory%/htdocs/core/modules/supplier_invoice
-		- %currentWorkingDirectory%/htdocs/core/modules/supplier_order
-		#- %currentWorkingDirectory%/htdocs/core/modules/supplier_payment
-		- %currentWorkingDirectory%/htdocs/core/modules/supplier_proposal
-		- %currentWorkingDirectory%/htdocs/cron/class
-		- %currentWorkingDirectory%/htdocs/datapolicy/class
-		- %currentWorkingDirectory%/htdocs/debugbar/class
-		- %currentWorkingDirectory%/htdocs/don/class
-		- %currentWorkingDirectory%/htdocs/ecm/class
-		- %currentWorkingDirectory%/htdocs/emailcollector/class
-		- %currentWorkingDirectory%/htdocs/expedition/class
-		- %currentWorkingDirectory%/htdocs/expensereport/class
-		- %currentWorkingDirectory%/htdocs/exports/class
-		- %currentWorkingDirectory%/htdocs/fichinter/class
-		- %currentWorkingDirectory%/htdocs/fourn/class
-		- %currentWorkingDirectory%/htdocs/holiday/class
-		- %currentWorkingDirectory%/htdocs/hrm/class
-		- %currentWorkingDirectory%/htdocs/imports/class
-		- %currentWorkingDirectory%/htdocs/livraison/class
-		- %currentWorkingDirectory%/htdocs/loan/class
-		- %currentWorkingDirectory%/htdocs/mailmanspip/class
-		- %currentWorkingDirectory%/htdocs/multicurrency/class
-		- %currentWorkingDirectory%/htdocs/opensurvey/class
-		- %currentWorkingDirectory%/htdocs/product/class
-		- %currentWorkingDirectory%/htdocs/projet/class
-		- %currentWorkingDirectory%/htdocs/reception/class
-		- %currentWorkingDirectory%/htdocs/resource/class
-		- %currentWorkingDirectory%/htdocs/salaries/class
-		- %currentWorkingDirectory%/htdocs/societe/class
-		- %currentWorkingDirectory%/htdocs/stripe/class
-		- %currentWorkingDirectory%/htdocs/supplier_proposal/class
-		- %currentWorkingDirectory%/htdocs/ticket/class
-		- %currentWorkingDirectory%/htdocs/user/class
-		- %currentWorkingDirectory%/htdocs/variants/class
-		- %currentWorkingDirectory%/htdocs/website/class
-	autoload_files: 
-		- %currentWorkingDirectory%/build/phpstan/bootstrap.php
-		- %currentWorkingDirectory%/htdocs/core/lib/accounting.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/admin.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/agenda.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/ajax.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/asset.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/bank.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/barcode.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/categories.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/company.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/contact.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/contract.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/cron.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/date.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/doc.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/doleditor.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/donation.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/ecm.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/emailing.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/eventorganization.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/expedition.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/expensereport.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/fichinter.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/files.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/fiscalyear.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/format_cards.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/fourn.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/ftp.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/functions.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/functions2.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/functions_ch.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/functionsnumtoword.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/geturl.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/holiday.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/hrm.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/images.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/import.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/intracommreport.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/invoice.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/invoice2.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/json.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/ldap.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/loan.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/mailmanspip.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/member.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/memory.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/modulebuilder.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/multicurrency.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/oauth.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/order.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/parsemd.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/payments.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/pdf.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/phpsessionindb.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/prelevement.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/price.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/product.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/project.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/propal.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/receiptprinter.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/reception.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/report.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/resource.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/salaries.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/security.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/security2.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/sendings.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/signature.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/stock.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/supplier_proposal.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/takepos.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/tax.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/ticket.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/treeview.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/trip.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/usergroups.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/vat.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/website.lib.php
-		#- %currentWorkingDirectory%/htdocs/core/lib/website2.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/ws.lib.php
-		- %currentWorkingDirectory%/htdocs/core/lib/xcal.lib.php
-	featureToggles:
-		subtractableTypes: false
-		validateParameters: false
+	customRulesetUsed: true
 	fileExtensions:
 		- php
 	checkAlwaysTrueCheckTypeFunctionCall: false
@@ -188,7 +20,6 @@ parameters:
 	reportStaticMethodSignatures: false
 	polluteScopeWithLoopInitialAssignments: true
 	polluteScopeWithAlwaysIterableForeach: true
-	polluteCatchScopeWithTryAssignments: false
 	reportMagicMethods: false
 	reportMagicProperties: false
 	ignoreErrors:
@@ -201,8 +32,6 @@ parameters:
 		- '#Undefined variable: \$error#'
 		- '#Undefined variable: \$errors#'
 		- '#Undefined variable: \$form#'
-		- message: '#Undefined variable: \$object#'
-		  path: %currentWorkingDirectory%/htdocs/societe/tpl
 	internalErrorsCountLimit: 50
 	cache:
 	    nodesByFileCountMax: 512
@@ -214,7 +43,6 @@ parameters:
 		- SimpleXMLElement
 	earlyTerminatingMethodCalls: []
 	memoryLimitFile: %tmpDir%/.memory_limit
-	benchmarkFile: null
 	dynamicConstantNames:
 		- ICONV_IMPL
 		- PHP_VERSION