From 7fdd6b44b43c44a5a60272b531c39e9ebc8c2835 Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Thu, 14 Oct 2021 11:17:31 +0200 Subject: [PATCH 1/6] AC-672: Create phpcs static check for LicenseTest --- Magento2/Sniffs/Legacy/LicenseSniff.php | 71 ++++++++++++++++++++ Magento2/Tests/Legacy/LicenseUnitTest.1.inc | 5 ++ Magento2/Tests/Legacy/LicenseUnitTest.2.inc | 5 ++ Magento2/Tests/Legacy/LicenseUnitTest.3.xml | 10 +++ Magento2/Tests/Legacy/LicenseUnitTest.4.xml | 10 +++ Magento2/Tests/Legacy/LicenseUnitTest.5.less | 4 ++ Magento2/Tests/Legacy/LicenseUnitTest.php | 49 ++++++++++++++ Magento2/ruleset.xml | 4 ++ 8 files changed, 158 insertions(+) create mode 100644 Magento2/Sniffs/Legacy/LicenseSniff.php create mode 100644 Magento2/Tests/Legacy/LicenseUnitTest.1.inc create mode 100644 Magento2/Tests/Legacy/LicenseUnitTest.2.inc create mode 100644 Magento2/Tests/Legacy/LicenseUnitTest.3.xml create mode 100644 Magento2/Tests/Legacy/LicenseUnitTest.4.xml create mode 100644 Magento2/Tests/Legacy/LicenseUnitTest.5.less create mode 100644 Magento2/Tests/Legacy/LicenseUnitTest.php diff --git a/Magento2/Sniffs/Legacy/LicenseSniff.php b/Magento2/Sniffs/Legacy/LicenseSniff.php new file mode 100644 index 00000000..6a59ccc8 --- /dev/null +++ b/Magento2/Sniffs/Legacy/LicenseSniff.php @@ -0,0 +1,71 @@ +getTokens(); + $content = null; + + if ($tokens[$stackPtr]['code'] === T_DOC_COMMENT_STRING) { + $content = $tokens[$stackPtr]['content']; + } + if ($tokens[$stackPtr]['code'] === T_INLINE_HTML) { + $content = $phpcsFile->getTokensAsString($stackPtr, 1); + } + if ($content != null){ + $this->checkLicense($content, $stackPtr, $phpcsFile); + } + } + + /** + * @param string $content + * @param int $stackPtr + * @param File $phpcsFile + */ + private function checkLicense(string $content, int $stackPtr, File $phpcsFile): void + { + $commentContent = $content; + if (stripos($commentContent, 'copyright') === false) { + return; + } + foreach (['Irubin Consulting Inc', 'DBA Varien', 'Magento Inc'] as $legacyText) { + if (stripos($commentContent, $legacyText) !== false) { + $phpcsFile->addWarning( + sprintf("The copyright license contains legacy text: %s.", $legacyText), + $stackPtr, + self::WARNING_CODE + ); + } + } + } +} diff --git a/Magento2/Tests/Legacy/LicenseUnitTest.1.inc b/Magento2/Tests/Legacy/LicenseUnitTest.1.inc new file mode 100644 index 00000000..75f04eae --- /dev/null +++ b/Magento2/Tests/Legacy/LicenseUnitTest.1.inc @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Magento2/Tests/Legacy/LicenseUnitTest.4.xml b/Magento2/Tests/Legacy/LicenseUnitTest.4.xml new file mode 100644 index 00000000..73c7558c --- /dev/null +++ b/Magento2/Tests/Legacy/LicenseUnitTest.4.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/Magento2/Tests/Legacy/LicenseUnitTest.5.less b/Magento2/Tests/Legacy/LicenseUnitTest.5.less new file mode 100644 index 00000000..8134b704 --- /dev/null +++ b/Magento2/Tests/Legacy/LicenseUnitTest.5.less @@ -0,0 +1,4 @@ +/** + * @copyright Copyright Irubin Consulting Inc + * See COPYING.txt for license details. + */ \ No newline at end of file diff --git a/Magento2/Tests/Legacy/LicenseUnitTest.php b/Magento2/Tests/Legacy/LicenseUnitTest.php new file mode 100644 index 00000000..edcca88e --- /dev/null +++ b/Magento2/Tests/Legacy/LicenseUnitTest.php @@ -0,0 +1,49 @@ + 1, + ]; + } + + if ($testFile === 'LicenseUnitTest.4.xml') { + return [ + 4 => 1, + ]; + } + + if ($testFile === 'LicenseUnitTest.5.less') { + return [ + 2 => 1, + ]; + } + + return []; + } +} diff --git a/Magento2/ruleset.xml b/Magento2/ruleset.xml index 5966203f..4de85194 100644 --- a/Magento2/ruleset.xml +++ b/Magento2/ruleset.xml @@ -194,6 +194,10 @@ warning *\.xml$ + + 9 + warning + From e3cdba0476f26aaa1b4945d8dda8b501bb800abb Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Thu, 14 Oct 2021 11:19:40 +0200 Subject: [PATCH 2/6] AC-672: Create phpcs static check for LicenseTest --- Magento2/Tests/Legacy/LicenseUnitTest.3.xml | 2 +- Magento2/Tests/Legacy/LicenseUnitTest.4.xml | 2 +- Magento2/Tests/Legacy/LicenseUnitTest.5.less | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Magento2/Tests/Legacy/LicenseUnitTest.3.xml b/Magento2/Tests/Legacy/LicenseUnitTest.3.xml index a60baf13..cf29cd23 100644 --- a/Magento2/Tests/Legacy/LicenseUnitTest.3.xml +++ b/Magento2/Tests/Legacy/LicenseUnitTest.3.xml @@ -7,4 +7,4 @@ --> - \ No newline at end of file + diff --git a/Magento2/Tests/Legacy/LicenseUnitTest.4.xml b/Magento2/Tests/Legacy/LicenseUnitTest.4.xml index 73c7558c..c8e81d11 100644 --- a/Magento2/Tests/Legacy/LicenseUnitTest.4.xml +++ b/Magento2/Tests/Legacy/LicenseUnitTest.4.xml @@ -7,4 +7,4 @@ --> - \ No newline at end of file + diff --git a/Magento2/Tests/Legacy/LicenseUnitTest.5.less b/Magento2/Tests/Legacy/LicenseUnitTest.5.less index 8134b704..1b21386f 100644 --- a/Magento2/Tests/Legacy/LicenseUnitTest.5.less +++ b/Magento2/Tests/Legacy/LicenseUnitTest.5.less @@ -1,4 +1,4 @@ /** * @copyright Copyright Irubin Consulting Inc * See COPYING.txt for license details. - */ \ No newline at end of file + */ From c22fd18265cb1fedbac7125de21bd9671cc01e93 Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Thu, 14 Oct 2021 11:25:44 +0200 Subject: [PATCH 3/6] AC-672: Create phpcs static check for LicenseTest --- Magento2/Sniffs/Legacy/LicenseSniff.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Magento2/Sniffs/Legacy/LicenseSniff.php b/Magento2/Sniffs/Legacy/LicenseSniff.php index 6a59ccc8..be1eb173 100644 --- a/Magento2/Sniffs/Legacy/LicenseSniff.php +++ b/Magento2/Sniffs/Legacy/LicenseSniff.php @@ -13,9 +13,14 @@ class LicenseSniff implements Sniff { - private const WARNING_CODE = 'FoundLegacyTextInCopyright'; - + /** + * A list of tokenizers this sniff supports. + * + * @var array + */ public $supportedTokenizers = [TokenizerSymbolsInterface::TOKENIZER_CSS, 'PHP']; + + private const WARNING_CODE = 'FoundLegacyTextInCopyright'; /** * @inheritdoc @@ -42,12 +47,14 @@ public function process(File $phpcsFile, $stackPtr) if ($tokens[$stackPtr]['code'] === T_INLINE_HTML) { $content = $phpcsFile->getTokensAsString($stackPtr, 1); } - if ($content != null){ - $this->checkLicense($content, $stackPtr, $phpcsFile); + if ($content != null) { + $this->checkLicense($content, $stackPtr, $phpcsFile); } } /** + * Check that the copyright license does not contain legacy text + * * @param string $content * @param int $stackPtr * @param File $phpcsFile From 0d1ae00205bdf433dce0959ebbf777485a9912c8 Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Thu, 14 Oct 2021 11:27:27 +0200 Subject: [PATCH 4/6] AC-672: Create phpcs static check for LicenseTest --- Magento2/Sniffs/Legacy/LicenseSniff.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Magento2/Sniffs/Legacy/LicenseSniff.php b/Magento2/Sniffs/Legacy/LicenseSniff.php index be1eb173..020c0a48 100644 --- a/Magento2/Sniffs/Legacy/LicenseSniff.php +++ b/Magento2/Sniffs/Legacy/LicenseSniff.php @@ -54,7 +54,7 @@ public function process(File $phpcsFile, $stackPtr) /** * Check that the copyright license does not contain legacy text - * + * * @param string $content * @param int $stackPtr * @param File $phpcsFile From 6691ae8ed651a14b2af02a16ce0d385e53af1573 Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Thu, 14 Oct 2021 14:31:05 +0200 Subject: [PATCH 5/6] AC-672: Create phpcs static check for LicenseTest --- Magento2/ruleset.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Magento2/ruleset.xml b/Magento2/ruleset.xml index 0f6c788c..ffe71710 100644 --- a/Magento2/ruleset.xml +++ b/Magento2/ruleset.xml @@ -202,10 +202,6 @@ warning *\.xml$ - - 9 - warning - @@ -338,6 +334,10 @@ 8 warning + + 8 + warning + From ef49c1b776e4fc4dceb827eaeeeb34908ffc4edb Mon Sep 17 00:00:00 2001 From: Elisea Cornejo Date: Thu, 14 Oct 2021 16:20:27 +0200 Subject: [PATCH 6/6] AC-672: Create phpcs static check for LicenseTest --- Magento2/Sniffs/Legacy/LicenseSniff.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Magento2/Sniffs/Legacy/LicenseSniff.php b/Magento2/Sniffs/Legacy/LicenseSniff.php index 020c0a48..c6f8ba8a 100644 --- a/Magento2/Sniffs/Legacy/LicenseSniff.php +++ b/Magento2/Sniffs/Legacy/LicenseSniff.php @@ -22,6 +22,8 @@ class LicenseSniff implements Sniff private const WARNING_CODE = 'FoundLegacyTextInCopyright'; + private const LEGACY_TEXTS = ['Irubin Consulting Inc', 'DBA Varien', 'Magento Inc']; + /** * @inheritdoc */ @@ -65,7 +67,7 @@ private function checkLicense(string $content, int $stackPtr, File $phpcsFile): if (stripos($commentContent, 'copyright') === false) { return; } - foreach (['Irubin Consulting Inc', 'DBA Varien', 'Magento Inc'] as $legacyText) { + foreach (self::LEGACY_TEXTS as $legacyText) { if (stripos($commentContent, $legacyText) !== false) { $phpcsFile->addWarning( sprintf("The copyright license contains legacy text: %s.", $legacyText),