Skip to content

Commit

Permalink
version 2.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
christopheexakat committed Apr 20, 2022
1 parent d60e4ac commit 0759852
Show file tree
Hide file tree
Showing 13 changed files with 24,817 additions and 24,812 deletions.
21 changes: 11 additions & 10 deletions Administrator/Installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -426,16 +426,17 @@ When producing a report with Github action, the result is either send to STDOUT,
`Github upload <https://github.com/actions/upload-artifact>`_, aka actions/upload-artifact@v2, is a solution to upload the results. Add the following configuration in the action file :

::
- name: Exakat
uses: docker://exakat/exakat-ga
- with:
///... possible other directives
project_reports: Diplomat
/// project_reports may include other reports, like Sarif and Perfile
- uses: actions/upload-artifact@v2
with:
name: my-exakat-report
path: /github/workspace/diplomat

- name: Exakat
uses: docker://exakat/exakat-ga
- with:
///... possible other directives
project_reports: Diplomat
/// project_reports may include other reports, like Sarif and Perfile
- uses: actions/upload-artifact@v2
with:
name: my-exakat-report
path: /github/workspace/diplomat

The report files are stored in the ``/github/workspace`` folder, with different names depending on the requested exakat report. For example, the `Sarif` report is exported to the file 'exakat.sarif', while the `Diplomat` report is stored in the folder called 'diplomat'. Thus, the configuration shall be :

Expand Down
60 changes: 2 additions & 58 deletions Annex.rst

Large diffs are not rendered by default.

35 changes: 30 additions & 5 deletions Changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Release Note

Here is the release note of exakat.

**Version 2.4.0 (****, 2022-04-20)**
**Version 2.4.1 (****, 2022-05-04)**


+ Architecture
Expand All @@ -24,18 +24,42 @@ Here is the release note of exakat.
+ Tokenizer
+

**Version 2.3.9 (Fu Yi, 2022-04-06)**
**Version 2.4.0 (Yin Kaishan, 2022-04-20)**


+ Architecture
+ Changed Loading system to handle globals directly with gremlin, and without ids
+

+ Cobbler
+ New cobbler : adds 'function array_key_exists' to the list of use statements to speed up array_key_exists.
+

+ Report
+ Ambassador : suggest literals to be turned into a constant, based on assignation and comparison

+ Analysis
+ Refactored analysis : 'Classes/WrongCase' reported too many arguments
+ New analysis : No constructor in interfaces
+ Refactored analysis : Bail Out Early also report if/then when in last position of an sequence
+ Refactored analysis : Useless Casting also checks for double application of typehint/cast
+ New analysis : Could Be A constant (in Dump)
+ New analysis : Could Be Spaceship
+ Refactored analysis : Vendors/Concrete5 is updated to Concrete5 v9.0
+ New analysis : Vendors Sylius
+ Refactored analysis : Vendors/Joomla is updated to Joomla 4.2.0
+ Refactored analysis : Wrong Number Of Arguments supports Constructors and methods (static and normal)

+ Tokenizer
+

**Version 2.3.9 (Fu Yi, 2022-04-06)**


+ Architecture
+ Changed Loading system to handle globals directly with gremlin, and without ids

+ Cobbler
+ New cobbler : adds 'function array_key_exists' to the list of use statements to speed up array_key_exists.

+ Analysis
+ Refactored analysis : Fixed bug with 'each' and namespaces in Php/Deprecated
+ Refactored analysis : Next Month Trap was updated with support for datetime (Immutable)
Expand All @@ -57,9 +81,10 @@ Here is the release note of exakat.
+ Refactored analysis : Upgraded Property analysis to use PDFF
+ Refactored analysis : 'Multiple identical keys' now has an array size limit (15000)
+ New analysis : Constant favorite : use or not?
+ Refactored analysis : Upgraded 'Unresolved classes' with Pdff support

+ Tokenizer
+
+ Fixed isPhp/isExt/isStub detection for catch classes

**Version 2.3.8 (Xiao Yu, 2022-03-23)**

Expand Down
4 changes: 2 additions & 2 deletions Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Introduction
============

This is the documentation of the Exakat engine, version 2.3.9 (Build 1308), on Sat, 26 Mar 2022 06:32:19 +0000.
This is the documentation of the Exakat engine, version 2.4.0 (Build 1309), on Thu, 07 Apr 2022 14:22:14 +0000.

What is Exakat ?
----------------
Expand Down Expand Up @@ -86,7 +86,7 @@ Platforms

`Exakat <http://www.exakat.io/>`_ is an Open Source tool. The code is available on `Github.com/exakat/exakat <https://github.com/exakat/exakat>`_, as `Docker image <https://hub.docker.com/r/exakat/exakat/>`_ and `Vagrant file <https://github.com/exakat/exakat-vagrant>`_. It is also available as a phar `download <https://www.exakat.io/download-exakat/>`_.

`Exakat cloud <https://www.exakat.io/exakat-cloud/>`_ is a SaaS platform, offering exakat audits on code, anytime, at reduced cost.
`Exakat Cloud <https://www.exakat.io/exakat-cloud/>`_ is a SaaS platform, offering exakat audits on code, anytime, at reduced cost.

`Exakat SAS <https://www.exakat.io/get-php-expertise/>`_ is a Service company, providing consulting and training services around automated analysis and code quality for PHP.

Expand Down
56 changes: 28 additions & 28 deletions Reference/Cobblers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -753,13 +753,13 @@ Related Cobblers
Specs
^^^^^

+----------------+------------------------------------------------------------------------------------------------------------------------+
| Short Name | Functions/SetTypehints |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud>`_ |
+----------------+------------------------------------------------------------------------------------------------------------------------+
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Short Name | Functions/SetTypehints |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud/>`_ |
+----------------+-------------------------------------------------------------------------------------------------------------------------+


.. _namespaces-gatheruse:
Expand Down Expand Up @@ -1010,13 +1010,13 @@ After
Specs
^^^^^

+----------------+------------------------------------------------------------------------------------------------------------------------+
| Short Name | Structures/PlusOneToPre |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud>`_ |
+----------------+------------------------------------------------------------------------------------------------------------------------+
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Short Name | Structures/PlusOneToPre |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud/>`_ |
+----------------+-------------------------------------------------------------------------------------------------------------------------+


.. _structures-posttopre:
Expand Down Expand Up @@ -1056,13 +1056,13 @@ After
Specs
^^^^^

+----------------+------------------------------------------------------------------------------------------------------------------------+
| Short Name | Structures/PostToPre |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud>`_ |
+----------------+------------------------------------------------------------------------------------------------------------------------+
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Short Name | Structures/PostToPre |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud/>`_ |
+----------------+-------------------------------------------------------------------------------------------------------------------------+


.. _structures-removecode:
Expand Down Expand Up @@ -1173,13 +1173,13 @@ Reverse Cobbler
Specs
^^^^^

+----------------+------------------------------------------------------------------------------------------------------------------------+
| Short Name | Structures/RemoveNoScream |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud>`_ |
+----------------+------------------------------------------------------------------------------------------------------------------------+
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Short Name | Structures/RemoveNoScream |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud/>`_ |
+----------------+-------------------------------------------------------------------------------------------------------------------------+


.. _structures-removeparenthesis:
Expand Down
87 changes: 44 additions & 43 deletions Reference/Reports.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Summary
* :ref:`Composer <report-composer>`
* :ref:`Dependency Wheel <report-dependency-wheel>`
* :ref:`Diplomat <report-diplomat>`
* :ref:`Json <report-json>`
* :ref:`Exakat Json <report-exakat-json>`
* :ref:`Exakatyaml <report-exakatyaml>`
* :ref:`File dependendies <report-file-dependendies>`
* :ref:`File dependendies HTML <report-file-dependendies-html>`
Expand Down Expand Up @@ -503,43 +503,44 @@ Specs
+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


.. _report-json:
.. _report-exakat-json:

Json
####
Exakat Json
###########

Json
____
Exakat Json
___________

The Exakat JSON report exports in a flat JSON format.

Simple Json format. It is a flat array of objects, all with the same structure.

::
[
{
"exakatVersion": "2.2.2",
"exakatFingerprint": "f93c98ed693f29abc75b52154482ac4f6ff1b59b",
"analyzedAt": "2021-09-10T16:59:20+00:00",
"uuid": "1234567abcd",
"project": "sculpin",
"branch": "master",
"lastCommitId": "b7c9027f05d9bff4dc6e92f36d29c4738bfc0b42",
"ruleId": "Classes\/ChildRemoveTypehint",
"type": "warning",
"severity": "major",
"fixable": "fixable",
"file": "\/src\/Sculpin\/Core\/Source\/SourceInterface.php",
"namespace": "\sculpin\core\source",
"class": "",
"function": "",
"message": "Child Class Removes Typehint",
"startLine": 144,
"endLine": 144,
"fullCode": "public function duplicate(string $newSourceId) : SourceInterface ;",
},

]

[
{
"exakatVersion": "2.2.2",
"exakatFingerprint": "f93c98ed693f29abc75b52154482ac4f6ff1b59b",
"analyzedAt": "2021-09-10T16:59:20+00:00",
"uuid": "1234567abcd",
"project": "sculpin",
"branch": "master",
"lastCommitId": "b7c9027f05d9bff4dc6e92f36d29c4738bfc0b42",
"ruleId": "Classes\/ChildRemoveTypehint",
"type": "warning",
"severity": "major",
"fixable": "fixable",
"file": "\/src\/Sculpin\/Core\/Source\/SourceInterface.php",
"namespace": "\sculpin\core\source",
"class": "",
"function": "",
"message": "Child Class Removes Typehint",
"startLine": 144,
"endLine": 144,
"fullCode": "public function duplicate(string $newSourceId) : SourceInterface ;",
},
]



Expand All @@ -557,19 +558,19 @@ uuid=1234567abcd;

Specs
^^^^^
+--------------+------------------------------------------------------------------------------------------------------------------------+
| Short name | Json |
+--------------+------------------------------------------------------------------------------------------------------------------------+
| Rulesets | This reports works with an arbitrary list of results. |
| | |
| | |
+--------------+------------------------------------------------------------------------------------------------------------------------+
| Type | Json |
+--------------+------------------------------------------------------------------------------------------------------------------------+
| Target | |
+--------------+------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud>`_ |
+--------------+------------------------------------------------------------------------------------------------------------------------+
+--------------+-------------------------------------------------------------------------------------------------------------------------+
| Short name | Exakat Json |
+--------------+-------------------------------------------------------------------------------------------------------------------------+
| Rulesets | This reports works with an arbitrary list of results. |
| | |
| | |
+--------------+-------------------------------------------------------------------------------------------------------------------------+
| Type | Json |
+--------------+-------------------------------------------------------------------------------------------------------------------------+
| Target | |
+--------------+-------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud/>`_ |
+--------------+-------------------------------------------------------------------------------------------------------------------------+


.. _report-exakatyaml:
Expand Down

0 comments on commit 0759852

Please sign in to comment.