diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5230699..c4fa9a8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -10,7 +10,7 @@ jobs: - uses: shivammathur/setup-php@v2 with: php-version: '7.2' - tools: php-cs-fixer:2.13.1 + tools: php-cs-fixer:3.2.1 coverage: none - name: php-cs-fixer run: php-cs-fixer fix --dry-run --diff @@ -22,23 +22,27 @@ jobs: strategy: fail-fast: false matrix: - sf-version: [ '^4.4', '^5.4', '^6.3' ] - php-version: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2' ] + sf-version: [ '^5.4', '^6.4', '^7.0' ] + php-version: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3' ] exclude: - - sf-version: '^4.4' + - sf-version: '^6.4' + php-version: '7.2' + - sf-version: '^6.4' + php-version: '7.3' + - sf-version: '^6.4' + php-version: '7.4' + - sf-version: '^6.4' php-version: '8.0' - - sf-version: '^4.4' - php-version: '8.1' - - sf-version: '^4.4' - php-version: '8.2' - - sf-version: '^6.3' + - sf-version: '^7.0' php-version: '7.2' - - sf-version: '^6.3' + - sf-version: '^7.0' php-version: '7.3' - - sf-version: '^6.3' + - sf-version: '^7.0' php-version: '7.4' - - sf-version: '^6.3' + - sf-version: '^7.0' php-version: '8.0' + - sf-version: '^7.0' + php-version: '8.1' steps: - uses: actions/checkout@master diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100644 index 0000000..7cbeeb5 --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,18 @@ +in([__DIR__.'/Cli', __DIR__.'/Sdk']); + +$config = new PhpCsFixer\Config(); +$config + ->setRules(array( + '@Symfony' => true, + '@Symfony:risky' => true, + 'array_syntax' => ['syntax' => 'short'], + 'class_attributes_separation' => ['elements' => ['const' => 'one']], + )) + ->setRiskyAllowed(true) + ->setFinder($finder) +; + +return $config; diff --git a/.php_cs.dist b/.php_cs.dist deleted file mode 100644 index 105aea5..0000000 --- a/.php_cs.dist +++ /dev/null @@ -1,14 +0,0 @@ -setRules(array( - '@Symfony' => true, - '@Symfony:risky' => true, - 'array_syntax' => ['syntax' => 'short'], - )) - ->setRiskyAllowed(true) - ->setFinder( - PhpCsFixer\Finder::create() - ->in([__DIR__.'/Cli', __DIR__.'/Sdk']) - ) -; diff --git a/Sdk/Api.php b/Sdk/Api.php index 368a9cf..0b94d96 100644 --- a/Sdk/Api.php +++ b/Sdk/Api.php @@ -31,7 +31,7 @@ class Api { - public const ENDPOINT = 'https://insight.symfony.com'; + const ENDPOINT = 'https://insight.symfony.com'; private $baseUrl; private $httpClient; diff --git a/Sdk/Model/Analyses.php b/Sdk/Model/Analyses.php index b43becf..9bd815a 100644 --- a/Sdk/Model/Analyses.php +++ b/Sdk/Model/Analyses.php @@ -20,12 +20,16 @@ class Analyses * @Type("array") * @XmlList(inline = true, entry = "link") */ + #[Type("array")] + #[XmlList(inline: true, entry: "link")] private $links = []; /** * @Type("array") * @XmlList(inline = true, entry = "analysis") */ + #[Type("array")] + #[XmlList(inline: true, entry: "analysis")] private $analyses = []; /** diff --git a/Sdk/Model/Analysis.php b/Sdk/Model/Analysis.php index 3b1c18c..ba4d756 100644 --- a/Sdk/Model/Analysis.php +++ b/Sdk/Model/Analysis.php @@ -27,99 +27,124 @@ class Analysis * @Type("array") * @XmlList(inline = true, entry = "link") */ + #[Type("array")] + #[XmlList(inline: true, entry: "link")] private $links = []; /** @Type("integer") */ + #[Type("integer")] private $number; /** @Type("string") */ + #[Type("string")] private $grade; /** * @Type("string") * @SerializedName("next-grade") */ + #[Type("string")] + #[SerializedName("next-grade")] private $nextGrade; /** @Type("array") */ + #[Type("array")] private $grades = []; /** * @Type("float") * @SerializedName("remediation-cost") */ + #[Type("float")] + #[SerializedName("remediation-cost")] private $remediationCost; /** * @Type("float") * @SerializedName("remediation-cost-for-next-grade") */ + #[Type("float")] + #[SerializedName("remediation-cost-for-next-grade")] private $remediationCostForNextGrade; /** * @Type("integer") * @SerializedName("nb-violations") */ + #[Type("integer")] + #[SerializedName("nb-violations")] private $nbViolations; /** * @Type("DateTime") * @SerializedName("begin-at") */ + #[Type("DateTime")] + #[SerializedName("begin-at")] private $beginAt; /** * @Type("DateTime") * @SerializedName("end-at") */ + #[Type("DateTime")] + #[SerializedName("end-at")] private $endAt; /** @Type("integer") */ + #[Type("integer")] private $duration; /** * @Type("string") * @SerializedName("failure-message") */ + #[Type("string")] + #[SerializedName("failure-message")] private $failureMessage; /** * @Type("string") * @SerializedName("failure-code") */ + #[Type("string")] + #[SerializedName("failure-code")] private $failureCode; /** @Type("boolean") */ + #[Type("boolean")] private $failed; /** @Type("string") */ + #[Type("string")] private $status; /** * @Type("string") * @SerializedName("status-message") */ + #[Type("string")] + #[SerializedName("status-message")] private $statusMessage; /** * @Type("boolean") * @SerializedName("altered") */ + #[Type("boolean")] + #[SerializedName("altered")] private $isAltered; /** @Type("SensioLabs\Insight\Sdk\Model\Violations") */ + #[Type("SensioLabs\Insight\Sdk\Model\Violations")] private $violations; - /** - * @Type("string") - * @SerializedName("branch") - */ + /** @Type("string") */ + #[Type("string")] private $branch; - /** - * @Type("string") - * @SerializedName("reference") - */ + /** @Type("string") */ + #[Type("string")] private $reference; /** diff --git a/Sdk/Model/Link.php b/Sdk/Model/Link.php index 047e7c4..2091963 100644 --- a/Sdk/Model/Link.php +++ b/Sdk/Model/Link.php @@ -20,18 +20,24 @@ class Link * @XmlAttribute * @Type("string") */ + #[XmlAttribute] + #[Type("string")] private $href; /** * @XmlAttribute * @Type("string") */ + #[XmlAttribute] + #[Type("string")] private $rel; /** * @XmlAttribute * @Type("string") */ + #[XmlAttribute] + #[Type("string")] private $type; /** diff --git a/Sdk/Model/Project.php b/Sdk/Model/Project.php index b80f132..5c2c72a 100644 --- a/Sdk/Model/Project.php +++ b/Sdk/Model/Project.php @@ -35,6 +35,7 @@ class Project /** * @Exclude() */ + #[Exclude] public static $types = [ self::TYPE_SYMFONY2_WEB_PROJECT => 'Symfony2 Web Project', self::TYPE_SYMFONY1_WEB_PROJECT => 'symfony1 Web Project', @@ -52,45 +53,60 @@ class Project * @Type("array") * @XmlList(inline = true, entry = "link") */ + #[Type("array")] + #[XmlList(inline: true, entry: "link")] private $links = []; /** * @Type("string") * @SerializedName("id") */ + #[Type("string")] + #[SerializedName("id")] private $uuid; /** @Type("string") */ + #[Type("string")] private $name; /** @Type("string") */ + #[Type("string")] private $configuration; /** @Type("string") */ + #[Type("string")] private $description; /** @Type("integer") */ + #[Type("integer")] private $type; /** * @Type("string") * @SerializedName("repository-url") */ + #[Type("string")] + #[SerializedName("repository-url")] private $repositoryUrl; /** @Type("boolean") */ + #[Type("boolean")] private $private; /** * @Type("boolean") * @SerializedName("report-available") */ + #[Type("boolean")] + #[SerializedName("report-available")] private $reportAvailable; /** * @Type("SensioLabs\Insight\Sdk\Model\Analysis") * @SerializedName("last-analysis") */ + #[Type("SensioLabs\Insight\Sdk\Model\Analysis")] + #[SerializedName("last-analysis")] private $lastAnalysis; public function toArray() diff --git a/Sdk/Model/Projects.php b/Sdk/Model/Projects.php index a4ac0f6..c756179 100644 --- a/Sdk/Model/Projects.php +++ b/Sdk/Model/Projects.php @@ -19,36 +19,47 @@ /** * @XmlRoot("projects") */ +#[XmlRoot("projects")] class Projects { /** * @XmlAttribute * @Type("integer") */ + #[XmlAttribute] + #[Type("integer")] private $page; /** * @XmlAttribute * @Type("integer") */ + #[XmlAttribute] + #[Type("integer")] private $total; /** * @XmlAttribute * @Type("integer") */ + #[XmlAttribute] + #[Type("integer")] private $limit; /** * @Type("array") * @XmlList(inline = true, entry = "link") */ + #[Type("array")] + #[XmlList(inline: true, entry: "link")] private $links = []; /** * @Type("array") * @XmlList(inline = true, entry = "project") */ + #[Type("array")] + #[XmlList(inline: true, entry: "project")] private $projects = []; /** diff --git a/Sdk/Model/Violation.php b/Sdk/Model/Violation.php index 2c1189b..cc3bf5b 100644 --- a/Sdk/Model/Violation.php +++ b/Sdk/Model/Violation.php @@ -17,33 +17,43 @@ class Violation { /** @Type("string") */ + #[Type("string")] private $title; /** @Type("string") */ + #[Type("string")] private $message; /** @Type("string") */ + #[Type("string")] private $resource; /** @Type("integer") */ + #[Type("integer")] private $line; /** * @Type("string") * @XmlAttribute */ + #[Type("string")] + #[XmlAttribute] private $severity; /** * @Type("string") * @XmlAttribute */ + #[Type("string")] + #[XmlAttribute] private $category; /** * @Type("boolean") * @XmlAttribute */ + #[Type("boolean")] + #[XmlAttribute] private $ignored; /** diff --git a/Sdk/Model/Violations.php b/Sdk/Model/Violations.php index f9742e7..49fc846 100644 --- a/Sdk/Model/Violations.php +++ b/Sdk/Model/Violations.php @@ -20,6 +20,8 @@ class Violations implements \Countable, \IteratorAggregate * @Type("array") * @XmlList(inline = true, entry = "violation") */ + #[Type("array")] + #[XmlList(inline: true, entry: "violation")] private $violations = []; public function count(): int diff --git a/composer.json b/composer.json index 374e24b..a08f67d 100644 --- a/composer.json +++ b/composer.json @@ -5,16 +5,17 @@ "require": { "php": ">=7.2", "ext-json": "*", - "jms/serializer": "^3.17", + "doctrine/annotations": "^1.14|^2.0", + "jms/serializer": "^3.29", "psr/log": "^1.0", - "symfony/http-client": "^4.4|^5.4|^6.3", - "symfony/console": "^4.4|^5.4|^6.3", - "symfony/expression-language": "^4.4|^5.4|^6.3" + "symfony/http-client": "^5.4|^6.4|^7.0", + "symfony/console": "^5.4|^6.4|^7.0", + "symfony/expression-language": "^5.4|^6.4|^7.0" }, "require-dev": { "monolog/monolog": "^1.4", - "symfony/phpunit-bridge": "^4.4|^5.4|^6.3", - "symfony/var-dumper": "^4.4|^5.4|^6.3" + "symfony/phpunit-bridge": "^5.4|^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.4|^7.0" }, "suggest": { "monolog/monolog": "Will add some log capability to this library"