Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2020-12-23 15:20:02 +01:00 коммит произвёл Joas Schilling
Родитель 1794e6744e
Коммит a2ef40fd8e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7076EA9751AACDDA
5 изменённых файлов: 194 добавлений и 5 удалений

26
.github/workflows/static-analysis.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,26 @@
name: Static analysis
on: [pull_request]
jobs:
static-psalm-analysis:
runs-on: ubuntu-latest
strategy:
matrix:
ocp-version: [ 'dev-master' ]
name: Nextcloud ${{ matrix.ocp-version }}
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: 7.4
tools: composer:v1
coverage: none
- name: Install dependencies
run: composer i
- name: Install dependencies
run: composer require --dev christophwurst/nextcloud:${{ matrix.ocp-version }}
- name: Run coding standards check
run: composer run psalm

Просмотреть файл

@ -2,21 +2,24 @@
"name": "nextcloud/notifications",
"description": "notifications",
"license": "AGPL",
"require": {},
"require": {
},
"require-dev": {
"phpunit/phpunit": "^8.5",
"nextcloud/coding-standard": "^0.3.0"
"nextcloud/coding-standard": "^0.3.0",
"psalm/phar": "^4.3"
},
"config": {
"optimize-autoloader": true,
"classmap-authoritative": true,
"platform": {
"php": "7.2"
"php": "7.3"
}
},
"scripts": {
"lint": "find . -name \\*.php -not -path './vendor/*' -not -path './build/*' -print0 | xargs -0 -n1 php -l",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix"
"cs:fix": "php-cs-fixer fix",
"psalm": "psalm.phar"
}
}

33
composer.lock сгенерированный
Просмотреть файл

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "ff852300cf09d0acae1f3c2866605367",
"content-hash": "e3537c3628e10b6e06c2bb95b2d2786f",
"packages": [],
"packages-dev": [
{
@ -1317,6 +1317,37 @@
],
"time": "2020-12-01T04:53:52+00:00"
},
{
"name": "psalm/phar",
"version": "4.3.1",
"source": {
"type": "git",
"url": "https://github.com/psalm/phar.git",
"reference": "f61d8f0eaaf5f7c26f1269ddeaf1fbe29dff1bee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/psalm/phar/zipball/f61d8f0eaaf5f7c26f1269ddeaf1fbe29dff1bee",
"reference": "f61d8f0eaaf5f7c26f1269ddeaf1fbe29dff1bee",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
"vimeo/psalm": "*"
},
"bin": [
"psalm.phar"
],
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Composer-based Psalm Phar",
"time": "2020-12-03T21:44:12+00:00"
},
{
"name": "psr/container",
"version": "1.0.0",

37
psalm.xml Normal file
Просмотреть файл

@ -0,0 +1,37 @@
<?xml version="1.0"?>
<psalm
errorLevel="4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
errorBaseline="tests/psalm-baseline.xml"
>
<projectFiles>
<directory name="lib" />
<ignoreFiles>
<directory name="vendor" />
</ignoreFiles>
</projectFiles>
<extraFiles>
<directory name="vendor" />
<ignoreFiles>
<directory name="vendor/phpunit/php-code-coverage" />
</ignoreFiles>
</extraFiles>
<issueHandlers>
<UndefinedClass>
<errorLevel type="suppress">
<referencedClass name="OC" />
<referencedClass name="Doctrine\DBAL\Types\Types" />
</errorLevel>
</UndefinedClass>
<UndefinedDocblockClass>
<errorLevel type="suppress">
<referencedClass name="Doctrine\DBAL\Schema\Schema" />
<referencedClass name="Doctrine\DBAL\Schema\SchemaException" />
<referencedClass name="Doctrine\DBAL\Driver\Statement" />
<referencedClass name="Doctrine\DBAL\Schema\Table" />
</errorLevel>
</UndefinedDocblockClass>
</issueHandlers>
</psalm>

92
tests/psalm-baseline.xml Normal file
Просмотреть файл

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.3.1@2feba22a005a18bf31d4c7b9bdb9252c73897476">
<file src="lib/AppInfo/Application.php">
<UndefinedClass occurrences="2">
<code>IProvider</code>
<code>IProvider</code>
</UndefinedClass>
</file>
<file src="lib/Controller/APIController.php">
<NullArgument occurrences="4">
<code>null</code>
<code>null</code>
<code>null</code>
<code>null</code>
</NullArgument>
</file>
<file src="lib/Controller/EndpointController.php">
<NullArgument occurrences="8">
<code>null</code>
<code>null</code>
<code>null</code>
<code>null</code>
<code>null</code>
<code>null</code>
<code>null</code>
<code>null</code>
</NullArgument>
</file>
<file src="lib/Controller/PushController.php">
<UndefinedClass occurrences="8">
<code>IProvider</code>
<code>IToken</code>
<code>IToken</code>
<code>IToken</code>
<code>IToken</code>
<code>InvalidTokenException</code>
<code>InvalidTokenException</code>
<code>Manager</code>
</UndefinedClass>
<UndefinedDocblockClass occurrences="4">
<code>$this-&gt;tokenProvider</code>
<code>$this-&gt;tokenProvider</code>
<code>IProvider</code>
<code>Manager</code>
</UndefinedDocblockClass>
</file>
<file src="lib/Migration/Version2004Date20190107135757.php">
<UndefinedClass occurrences="21">
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
<code>Type</code>
</UndefinedClass>
</file>
<file src="lib/Push.php">
<UndefinedClass occurrences="9">
<code>$e</code>
<code>$e</code>
<code>ClientException</code>
<code>IProvider</code>
<code>InvalidTokenException</code>
<code>Key</code>
<code>Key</code>
<code>Manager</code>
<code>ServerException</code>
</UndefinedClass>
<UndefinedDocblockClass occurrences="5">
<code>$this-&gt;keyManager</code>
<code>$this-&gt;keyManager</code>
<code>$this-&gt;tokenProvider</code>
<code>IProvider</code>
<code>Manager</code>
</UndefinedDocblockClass>
</file>
</files>