diff --git a/__tests__/tools.test.ts b/__tests__/tools.test.ts index 0af7fc42c..ae8de03af 100644 --- a/__tests__/tools.test.ts +++ b/__tests__/tools.test.ts @@ -357,6 +357,22 @@ describe('Tools tests', () => { } ); + it.each` + version | uri + ${'latest'} | ${'PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phpcs.phar?raw=true'} + ${'1.2.3'} | ${'PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phars/phpcs-1.2.3.phar?raw=true,https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/1.2.3/phpcs-1.2.3.phar'} + `('checking addPHPCSTools: $version', async ({version, uri}) => { + const data = getData({ + tool: 'phpcs', + domain: 'https://github.com', + repository: 'PHPCSStandards/PHP_CodeSniffer', + php_version: '7.4', + version_prefix: '', + version: version + }); + expect(await tools.addPHPCSTools(data)).toContain(uri); + }); + it.each` version | uri ${'latest'} | ${'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true'} @@ -434,7 +450,7 @@ describe('Tools tests', () => { it.each([ [ - 'behat, blackfire, blackfire-player, churn, composer-normalize, composer-require-checker, composer-unused, cs2pr:1.2.3, flex, grpc_php_plugin:1.2.3, infection, phan, phan:1.2.3, phing:1.2.3, phinx, phive:1.2.3, php-config, phpcbf, phpcpd, phpcs, phpdoc, phpize, phpmd, phpspec, phpunit-bridge:5.6, phpunit-polyfills:1.0.1, protoc:v1.2.3, psalm, rector, symfony-cli, vapor-cli, wp-cli', + 'behat, blackfire, blackfire-player, churn, composer-normalize, composer-require-checker, composer-unused, cs2pr:1.2.3, flex, grpc_php_plugin:1.2.3, infection, phan, phan:1.2.3, phing:1.2.3, phinx, phive:1.2.3, php-config, phpcbf, phpcpd, phpcs:1.2.3, phpdoc, phpize, phpmd, phpspec, phpunit-bridge:5.6, phpunit-polyfills:1.0.1, protoc:v1.2.3, psalm, rector, symfony-cli, vapor-cli, wp-cli', [ 'add_tool https://github.com/shivammathur/composer-cache/releases/latest/download/composer-7.4-stable.phar,https://dl.cloudsmith.io/public/shivammathur/composer-cache/raw/files/composer-7.4-stable.phar,https://getcomposer.org/composer-stable.phar composer', 'add_composer_tool behat behat behat/ scoped', @@ -454,9 +470,9 @@ describe('Tools tests', () => { 'add_composer_tool phinx phinx robmorgan/ scoped', 'add_tool https://github.com/phar-io/phive/releases/download/1.2.3/phive-1.2.3.phar phive', 'add_devtools php-config', - 'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/latest/download/phpcbf.phar phpcbf "--version"', + 'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phpcbf.phar?raw=true phpcbf "--version"', 'add_tool https://phar.phpunit.de/phpcpd.phar phpcpd "--version"', - 'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/latest/download/phpcs.phar phpcs "--version"', + 'add_tool https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/gh-pages/phars/phpcs-1.2.3.phar?raw=true,https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/1.2.3/phpcs-1.2.3.phar phpcs "--version"', 'add_tool https://github.com/phpDocumentor/phpDocumentor/releases/latest/download/phpDocumentor.phar phpDocumentor "--version"', 'add_devtools phpize', 'add_tool https://github.com/phpmd/phpmd/releases/latest/download/phpmd.phar phpmd "--version"', diff --git a/dist/index.js b/dist/index.js index 6b08e51da..27cb6c49a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -684,7 +684,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.addTools = exports.functionRecord = exports.getData = exports.addWPCLI = exports.addPHPUnitTools = exports.addPhive = exports.addPhing = exports.addPECL = exports.addDevTools = exports.addDeployer = exports.addComposer = exports.addCastor = exports.addBlackfirePlayer = exports.addPackage = exports.addArchive = exports.getPharUrl = exports.getUrl = exports.filterList = exports.getRelease = exports.getVersion = exports.getLatestVersion = exports.getSemverVersion = void 0; +exports.addTools = exports.functionRecord = exports.getData = exports.addWPCLI = exports.addPHPCSTools = exports.addPHPUnitTools = exports.addPhive = exports.addPhing = exports.addPECL = exports.addDevTools = exports.addDeployer = exports.addComposer = exports.addCastor = exports.addBlackfirePlayer = exports.addPackage = exports.addArchive = exports.getPharUrl = exports.getUrl = exports.filterList = exports.getRelease = exports.getVersion = exports.getLatestVersion = exports.getSemverVersion = void 0; const path_1 = __importDefault(__nccwpck_require__(1017)); const fs_1 = __importDefault(__nccwpck_require__(7147)); const fetch = __importStar(__nccwpck_require__(2387)); @@ -970,6 +970,22 @@ async function addPHPUnitTools(data) { return await addArchive(data); } exports.addPHPUnitTools = addPHPUnitTools; +async function addPHPCSTools(data) { + const extension = data['extension'] + '?raw=true'; + if (data['version'] === 'latest') { + data['uri'] = 'blob/gh-pages/' + data['tool'] + extension; + data['url'] = [data['domain'], data['repository'], data['uri']].join('/'); + } + else { + data['uri'] = + 'blob/gh-pages/phars/' + data['tool'] + '-' + data['version'] + extension; + data['url'] = [data['domain'], data['repository'], data['uri']].join('/'); + data['extension'] = '-' + data['version'] + data['extension']; + data['url'] += ',' + (await getUrl(data)); + } + return await addArchive(data); +} +exports.addPHPCSTools = addPHPCSTools; async function addWPCLI(data) { if (data['version'] === 'latest') { data['uri'] = 'wp-cli/builds/blob/gh-pages/phar/wp-cli.phar?raw=true'; @@ -1040,6 +1056,8 @@ exports.functionRecord = { blackfire_player: addBlackfirePlayer, pecl: addPECL, phing: addPhing, + phpcbf: addPHPCSTools, + phpcs: addPHPCSTools, phpunit: addPHPUnitTools, phpcpd: addPHPUnitTools, wp_cli: addWPCLI diff --git a/src/configs/tools.json b/src/configs/tools.json index 437ff388a..3a8214bec 100644 --- a/src/configs/tools.json +++ b/src/configs/tools.json @@ -82,22 +82,6 @@ "version_prefix": "", "version_parameter": "--version" }, - "phpcbf": { - "type": "phar", - "repository": "PHPCSStandards/PHP_CodeSniffer", - "extension": ".phar", - "domain": "https://github.com", - "version_prefix": "", - "version_parameter": "--version" - }, - "phpcs": { - "type": "phar", - "repository": "PHPCSStandards/PHP_CodeSniffer", - "extension": ".phar", - "domain": "https://github.com", - "version_prefix": "", - "version_parameter": "--version" - }, "phpDocumentor": { "type": "phar", "repository": "phpDocumentor/phpDocumentor", @@ -283,6 +267,15 @@ "version_prefix": "", "version_parameter": "status" }, + "phpcbf": { + "type": "custom-function", + "function": "phpcbf", + "repository": "PHPCSStandards/PHP_CodeSniffer", + "extension": ".phar", + "domain": "https://github.com", + "version_prefix": "", + "version_parameter": "--version" + }, "phpcpd": { "type": "custom-function", "repository": "sebastianbergmann/phpcpd", @@ -291,6 +284,15 @@ "version_prefix": "", "version_parameter": "--version" }, + "phpcs": { + "type": "custom-function", + "function": "phpcs", + "repository": "PHPCSStandards/PHP_CodeSniffer", + "extension": ".phar", + "domain": "https://github.com", + "version_prefix": "", + "version_parameter": "--version" + }, "phpunit": { "type": "custom-function", "repository": "sebastianbergmann/phpunit", diff --git a/src/tools.ts b/src/tools.ts index d02da9ac7..df25ab176 100644 --- a/src/tools.ts +++ b/src/tools.ts @@ -427,6 +427,26 @@ export async function addPHPUnitTools(data: RS): Promise { return await addArchive(data); } +/** + * Function to add PHPCS Tools + * + * @param data + */ +export async function addPHPCSTools(data: RS): Promise { + const extension = data['extension'] + '?raw=true'; + if (data['version'] === 'latest') { + data['uri'] = 'blob/gh-pages/' + data['tool'] + extension; + data['url'] = [data['domain'], data['repository'], data['uri']].join('/'); + } else { + data['uri'] = + 'blob/gh-pages/phars/' + data['tool'] + '-' + data['version'] + extension; + data['url'] = [data['domain'], data['repository'], data['uri']].join('/'); + data['extension'] = '-' + data['version'] + data['extension']; + data['url'] += ',' + (await getUrl(data)); + } + return await addArchive(data); +} + /** * Function to add WP-CLI * @@ -512,6 +532,8 @@ export const functionRecord: Record Promise> = { blackfire_player: addBlackfirePlayer, pecl: addPECL, phing: addPhing, + phpcbf: addPHPCSTools, + phpcs: addPHPCSTools, phpunit: addPHPUnitTools, phpcpd: addPHPUnitTools, wp_cli: addWPCLI