From 1fa9236e20ce50d0922d76d1f605d2804910578e Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 7 Apr 2022 17:29:23 +0200 Subject: [PATCH 1/4] Update setup.md --- general/setup.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/general/setup.md b/general/setup.md index b4dcc8d..96d1e1e 100755 --- a/general/setup.md +++ b/general/setup.md @@ -8,10 +8,11 @@ Make sure your dev-environment or server fulfills the following requirements: * PHP >= 8.0 * PHP extensions: mbstring, gd, zip, dom, pdo, pdo-mysql/pdo-pgsql/pdo-sqlsrv, sqlite, bcmath, imap\*, redis\*, memcached\*, ftp\*, socket\*, curl\*, xml\* + * Extension list: `php8.0 php8.0-dev php8.0-cli php8.0-common php8.0-mysql php8.0-pgsql php8.0-xdebug php8.0-opcache php8.0-pdo php8.0-sqlite php8.0-mbstring php8.0-curl php8.0-imap php8.0-bcmath php8.0-zip php8.0-dom php8.0-xml php8.0-phar php8.0-gd php-pear` * databases: mysql/postgresql/sqlsrv * web server: apache2/nginx * mod_headers (apache2) -* software: tesseract\*, pdftotext\*, pdftoppm\* +* software: tesseract-ocr\*, pdftotext\*, pdftoppm\* The application and frameworks can use different databases. For the normal development process you only need one (whichever you prefer). However, in order to test against all supported databases and all code paths you would have to install all above mentioned databases. From 081d0efba12d2dff5039795b67d49b7c392cab44 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 7 Apr 2022 17:34:17 +0200 Subject: [PATCH 2/4] Update setup.md --- general/setup.md | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/general/setup.md b/general/setup.md index 96d1e1e..91ad135 100755 --- a/general/setup.md +++ b/general/setup.md @@ -76,28 +76,6 @@ After the installation you'll have access to the following content: During this process the database automatically gets dropped (if it exists) and re-created. If you don't have `xdebug` installed but `phpdbg` you can replace `php phpunit ...` with `phpdbg -qrr phpunit.phar ...` or use `pcov` for much faster code coverage generation. -## Git Hooks (Linux only) - -The git hooks perform various checks and validations during the `commit` and warn the developer about invalid code or code style/guideline violations. - -For developers it is recommended to copy the contents of the `default.sh` file in the `Build` repository under `Hooks` to your `pre-commit` file in the `.git/hooks` directory. If the `pre-commit` file doesn't exist just create it. - -The same should be done with every module. Simply go to `.git/modules/**/hooks` and also add the content of the `default.sh` file to all `pre-commit` files. - -By doing this every commit will be inspected and either pass without warnings, pass with warnings or stop with errors. This will allow you to fix code before committing it. Be aware only changed files will be inspected. Also make sure all `pre-commit` have `+x` permissions. - -## Tools - -The following tools are important to test the application and to ensure the code quality. The configurations and sample shell executions can be found in the `Build` directory. These tools are also downloaded during the setup process of the `buildProject.sh` script. - -* composer -* phploc -* phpunit -* phpcs -* phpmetrics -* documentor -* phpstan - ## Option 3: Demo Application This will only setup the application including some dummy data and also perform the code tests but no quality checks. Compared to option 2 this includes much more test data and it doesn't execute a unit test. @@ -132,6 +110,28 @@ php -dxdebug.profiler_enable=1 -dxdebug.mode=develop,debug,profile -dxdebug.outp > This may use a lot of resources and storage space (≈15 GB of cachegrind data w/o trace data and ≈120 GB w/ trace data) +## Git Hooks (Linux only) + +The git hooks perform various checks and validations during the `commit` and warn the developer about invalid code or code style/guideline violations. + +For developers it is recommended to copy the contents of the `default.sh` file in the `Build` repository under `Hooks` to your `pre-commit` file in the `.git/hooks` directory. If the `pre-commit` file doesn't exist just create it. + +The same should be done with every module. Simply go to `.git/modules/**/hooks` and also add the content of the `default.sh` file to all `pre-commit` files. + +By doing this every commit will be inspected and either pass without warnings, pass with warnings or stop with errors. This will allow you to fix code before committing it. Be aware only changed files will be inspected. Also make sure all `pre-commit` have `+x` permissions. + +## Tools + +The following tools are important to test the application and to ensure the code quality. The configurations and sample shell executions can be found in the `Build` directory. These tools are also downloaded during the setup process of the `buildProject.sh` script. + +* composer +* phploc +* phpunit +* phpcs +* phpmetrics +* documentor +* phpstan + ## cOMS ### OpenCV From 665bb32565f351365681fa48c5db5a71cf09351c Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 7 Apr 2022 17:51:35 +0200 Subject: [PATCH 3/4] Create contribution.md --- general/contribution.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 general/contribution.md diff --git a/general/contribution.md b/general/contribution.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/general/contribution.md @@ -0,0 +1 @@ + From 7eec3cbe6e347c5d6797092b94424a449351b5d3 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 7 Apr 2022 18:27:45 +0200 Subject: [PATCH 4/4] Update contribution.md --- general/contribution.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/general/contribution.md b/general/contribution.md index 8b13789..77c519c 100644 --- a/general/contribution.md +++ b/general/contribution.md @@ -1 +1,9 @@ +# Contribution Guidelines +* Getting started + * Permissions + * Setup +* Code style +* Tests +* Code of conduct +* Code review