Skip to content

Commit

Permalink
Switch to PHPCSStandards/PHP_CodeSniffer
Browse files Browse the repository at this point in the history
The Squizlabs repo has been abandoned. The project continues in a fork in the PHPCSStandards organisation.

Note: I'm not changing the version constraints. All tags since 2.0.0 have been recreated in the PHPCSStandards fork, though the package name in those tags has not been changed.

Based on tests I've run, the package should install fine when old tags are requested, though if a user has a `composer.json` which _also_ includes `squizlabs/php_codesniffer` in their dependency chain, this means that both will be installed, which could lead to issues.

I recommend tagging a release straight-away. This should then allow _our_ dependencies to update their own requirements and version constraints and to release once PHPCS 3.8.0 has been tagged, to prevent these type of problems.

Ref:
* squizlabs/PHP_CodeSniffer#3932
  • Loading branch information
jrfnl committed Dec 3, 2023
1 parent 3d4fcbd commit 4de1fd8
Show file tree
Hide file tree
Showing 24 changed files with 51 additions and 49 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ images provided by [Pipeline-Component][].

[PHPUnit]: https://phpunit.de/
[PHPUnit Polyfills]: https://github.com/Yoast/PHPUnit-Polyfills/
[PHP_CodeSniffer]: https://github.com/squizlabs/PHP_CodeSniffer
[PHP_CodeSniffer]: https://github.com/PHPCSStandards/PHP_CodeSniffer
[PHPCompatibility]: https://github.com/PHPCompatibility/PHPCompatibility
[PHP-Parallel-Lint]: https://github.com/php-parallel-lint/PHP-Parallel-Lint
[PHP-Security-Checker]: https://github.com/fabpot/local-php-security-checker
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ Create a composer package of your coding standard by adding a `composer.json` fi
"description" : "Package contains all coding standards of the Acme company",
"require" : {
"php" : ">=5.4.0",
"squizlabs/php_codesniffer" : "^3.6"
"phpcsstandards/php_codesniffer" : "^3.8"
},
"type" : "phpcodesniffer-standard"
}
Expand Down Expand Up @@ -258,7 +258,7 @@ THE SOFTWARE.
[changelog]: https://github.com/PHPCSStandards/composer-installer/releases
[code-of-conduct-shield]: https://img.shields.io/badge/Contributor%20Covenant-v2.0-ff69b4.svg
[code-of-conduct]: CODE_OF_CONDUCT.md
[codesniffer]: https://github.com/squizlabs/PHP_CodeSniffer
[codesniffer]: https://github.com/PHPCSStandards/PHP_CodeSniffer
[composer-manual-scripts]: https://getcomposer.org/doc/articles/scripts.md
[composer-manual-caret]: https://getcomposer.org/doc/articles/versions.md#caret-version-range-
[composer]: https://getcomposer.org/
Expand All @@ -277,7 +277,7 @@ THE SOFTWARE.
[scrutinizer]: https://scrutinizer-ci.com/g/dealerdirect/phpcodesniffer-composer-installer/
[ghactionstest-shield]: https://github.com/PHPCSStandards/composer-installer/actions/workflows/integrationtest.yml/badge.svg
[ghactions]: https://github.com/PHPCSStandards/composer-installer/actions/workflows/integrationtest.yml
[tutorial]: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Coding-Standard-Tutorial
[tutorial]: https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki/Coding-Standard-Tutorial
[using-composer-plugins]: https://getcomposer.org/doc/articles/plugins.md#using-plugins
[v0.4]: https://github.com/PHPCSStandards/composer-installer/releases/tag/v0.4.0
[v0.7]: https://github.com/PHPCSStandards/composer-installer/releases/tag/v0.7.0
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"require": {
"php": ">=5.4",
"composer-plugin-api": "^1.0 || ^2.0",
"squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
"phpcsstandards/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
},
"require-dev": {
"ext-json": "*",
Expand Down
2 changes: 1 addition & 1 deletion src/Plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class Plugin implements PluginInterface, EventSubscriberInterface
const MESSAGE_PLUGIN_UNINSTALLED = 'PHPCodeSniffer Composer Installer is uninstalled';
const MESSAGE_RUNNING_INSTALLER = 'Running PHPCodeSniffer Composer Installer';

const PACKAGE_NAME = 'squizlabs/php_codesniffer';
const PACKAGE_NAME = 'phpcsstandards/php_codesniffer';
const PACKAGE_TYPE = 'phpcodesniffer-standard';

const PHPCS_CONFIG_REGEX = '`%s:[^\r\n]+`';
Expand Down
10 changes: 5 additions & 5 deletions tests/IntegrationTest/BaseLineTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ final class BaseLineTest extends TestCase
private $composerConfig = array(
'name' => 'phpcs-composer-installer/baseline-test',
'require-dev' => array(
'squizlabs/php_codesniffer' => null,
'phpcsstandards/php_codesniffer' => null,
'dealerdirect/phpcodesniffer-composer-installer' => '*',
),
);
Expand Down Expand Up @@ -66,7 +66,7 @@ protected function tear_down()
public function testBaseLineGlobal($phpcsVersion, $expectedStnds)
{
$config = $this->composerConfig;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempGlobalPath);
$this->assertComposerValidates(static::$tempGlobalPath);
Expand All @@ -90,7 +90,7 @@ public function testBaseLineGlobal($phpcsVersion, $expectedStnds)

// Make sure the CodeSniffer.conf file does not get created when no external standards are found.
$this->assertFileDoesNotExist(
static::$tempGlobalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf'
static::$tempGlobalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf'
);
}

Expand Down Expand Up @@ -121,7 +121,7 @@ public function testBaseLineLocal($phpcsVersion, $expectedStnds)
}

$config = $this->composerConfig;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempLocalPath);
$this->assertComposerValidates(static::$tempLocalPath);
Expand All @@ -145,7 +145,7 @@ public function testBaseLineLocal($phpcsVersion, $expectedStnds)

// Make sure the CodeSniffer.conf file does not get created when no external standards are found.
$this->assertFileDoesNotExist(
static::$tempLocalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf'
static::$tempLocalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf'
);
}

Expand Down
2 changes: 1 addition & 1 deletion tests/IntegrationTest/InstallUpdateEventsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ public function testPluginRunsOnReinstall()
* 2. Reinstall PHPCS.
*/
$command = sprintf(
'composer reinstall squizlabs/php_codesniffer -v --no-ansi --working-dir=%s',
'composer reinstall phpcsstandards/php_codesniffer -v --no-ansi --working-dir=%s',
escapeshellarg(static::$tempLocalPath)
);
$result = $this->executeCliCommand($command);
Expand Down
6 changes: 3 additions & 3 deletions tests/IntegrationTest/InvalidPackagesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ final class InvalidPackagesTest extends TestCase
private $composerConfigNoRuleset = array(
'name' => 'phpcs-composer-installer/invalid-package-no-ruleset-test',
'require-dev' => array(
'squizlabs/php_codesniffer' => '*',
'phpcsstandards/php_codesniffer' => '*',
'phpcs-composer-installer/no-ruleset' => '*',
),
);

private $composerConfigIncorrectType = array(
'name' => 'phpcs-composer-installer/invalid-package-incorrect-type-test',
'require-dev' => array(
'squizlabs/php_codesniffer' => '*',
'phpcsstandards/php_codesniffer' => '*',
'phpcs-composer-installer/incorrect-type' => '*',
),
);
Expand Down Expand Up @@ -82,7 +82,7 @@ public function testDontSetInstalledPathsForInvalidPackages($config, $standardNa

// Make sure the CodeSniffer.conf file does not get created when no (valid) external standards are found.
$this->assertFileDoesNotExist(
static::$tempLocalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf'
static::$tempLocalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf'
);

// Make sure that the standard does not show up as registered with PHPCS.
Expand Down
2 changes: 1 addition & 1 deletion tests/IntegrationTest/PlayNiceWithScriptsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ final class PlayNiceWithScriptsTest extends TestCase
private $composerConfig = array(
'name' => 'phpcs-composer-installer/dont-block-scripts-test',
'require-dev' => array(
'squizlabs/php_codesniffer' => '*',
'phpcsstandards/php_codesniffer' => '*',
'dealerdirect/phpcodesniffer-composer-installer' => '*',
'phpcs-composer-installer/dummy-subdir' => '*',
),
Expand Down
10 changes: 5 additions & 5 deletions tests/IntegrationTest/PreexistingPHPCSConfigTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@
* the plugin handles this correctly in all supported PHPCS versions.
*
* @link https://github.com/PHPCSStandards/composer-installer/pull/98
* @link https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options
* @link https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki/Configuration-Options
*/
final class PreexistingPHPCSConfigTest extends TestCase
{
private $composerConfig = array(
'name' => 'phpcs-composer-installer/preexisting-config-test',
'require-dev' => array(
'squizlabs/php_codesniffer' => null,
'phpcsstandards/php_codesniffer' => null,
'dealerdirect/phpcodesniffer-composer-installer' => '*',
),
);
Expand Down Expand Up @@ -71,7 +71,7 @@ protected function tear_down()
public function testPreexistingNonInstalledPathsConfigIsKeptIntact($phpcsVersion)
{
$config = $this->composerConfig;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempLocalPath);

Expand All @@ -88,7 +88,7 @@ public function testPreexistingNonInstalledPathsConfigIsKeptIntact($phpcsVersion

// Verify the CodeSniffer.conf file does not exist to start with.
$this->assertFileDoesNotExist(
static::$tempLocalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf'
static::$tempLocalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf'
);

// Verify that the config is empty to start with.
Expand Down Expand Up @@ -122,7 +122,7 @@ public function testPreexistingNonInstalledPathsConfigIsKeptIntact($phpcsVersion

// Make sure the CodeSniffer.conf file has been created.
$this->assertFileExists(
static::$tempLocalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf'
static::$tempLocalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf'
);

// Verify that the config contains the newly set values.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ final class PreexistingPHPCSInstalledPathsConfigTest extends TestCase
private $composerConfig = array(
'name' => 'phpcs-composer-installer/preexisting-config-test',
'require-dev' => array(
'squizlabs/php_codesniffer' => null,
'phpcsstandards/php_codesniffer' => null,
'dealerdirect/phpcodesniffer-composer-installer' => '*',
),
);
Expand Down Expand Up @@ -88,7 +88,7 @@ protected function tear_down()
public function testPreexistingValidInstalledPathsConfigIsKeptIntact($phpcsVersion)
{
$config = $this->composerConfig;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempGlobalPath);

Expand Down Expand Up @@ -176,7 +176,7 @@ public function testPreexistingValidInstalledPathsConfigIsKeptIntact($phpcsVersi
public function testPreexistingInvalidInstalledPathsConfigIsRemoved($phpcsVersion)
{
$config = $this->composerConfig;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempLocalPath);

Expand Down Expand Up @@ -216,7 +216,7 @@ public function testPreexistingInvalidInstalledPathsConfigIsRemoved($phpcsVersio
* will error on an exception from the DirectoryIterator as used by PHPCS itself.
* The manual setting prevents this exception, but still allows us to test this use-case.
*/
$confFile = static::$tempLocalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf';
$confFile = static::$tempLocalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf';
$confContents = file_get_contents($confFile);
$this->assertNotFalse($confContents);
$confContents = str_replace(
Expand Down
18 changes: 9 additions & 9 deletions tests/IntegrationTest/RegisterExternalStandardsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ final class RegisterExternalStandardsTest extends TestCase
private $configOneStandard = array(
'name' => 'phpcs-composer-installer/register-external-stnds-one-stnd',
'require-dev' => array(
'squizlabs/php_codesniffer' => null,
'phpcsstandards/php_codesniffer' => null,
'phpcs-composer-installer/dummy-subdir' => '*',
'dealerdirect/phpcodesniffer-composer-installer' => '*',
),
Expand All @@ -30,15 +30,15 @@ final class RegisterExternalStandardsTest extends TestCase
private $configOneStandardMultiRuleset = array(
'name' => 'phpcs-composer-installer/register-external-stnds-multistnd',
'require-dev' => array(
'squizlabs/php_codesniffer' => null,
'phpcsstandards/php_codesniffer' => null,
'phpcs-composer-installer/multistandard' => '*',
),
);

private $configOneStandardInSrcSubdir = array(
'name' => 'phpcs-composer-installer/register-external-stnds-in-src-subdir',
'require-dev' => array(
'squizlabs/php_codesniffer' => null,
'phpcsstandards/php_codesniffer' => null,
'phpcs-composer-installer/dummy-src' => '*',
),
);
Expand Down Expand Up @@ -73,7 +73,7 @@ protected function tear_down()
public function testRegisterOneStandardGlobal($phpcsVersion)
{
$config = $this->configOneStandard;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempGlobalPath);
$this->assertComposerValidates(static::$tempGlobalPath);
Expand All @@ -99,7 +99,7 @@ public function testRegisterOneStandardGlobal($phpcsVersion)

// Make sure the CodeSniffer.conf file has been created.
$this->assertFileExists(
static::$tempGlobalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf'
static::$tempGlobalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf'
);

// Verify that PHPCS sees the external standard.
Expand Down Expand Up @@ -138,7 +138,7 @@ public function testRegisterOneStandardGlobal($phpcsVersion)
public function testRegisterOneStandardLocal($phpcsVersion)
{
$config = $this->configOneStandard;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempLocalPath);
$this->assertComposerValidates(static::$tempLocalPath);
Expand Down Expand Up @@ -168,7 +168,7 @@ public function testRegisterOneStandardLocal($phpcsVersion)

// Make sure the CodeSniffer.conf file has been created.
$this->assertFileExists(
static::$tempLocalPath . '/vendor/squizlabs/php_codesniffer/CodeSniffer.conf'
static::$tempLocalPath . '/vendor/phpcsstandards/php_codesniffer/CodeSniffer.conf'
);

// Verify that PHPCS sees the external standard.
Expand Down Expand Up @@ -219,7 +219,7 @@ public function dataRegisterOneStandard()
public function testRegisterOneStandardWithMultipleRulesets($phpcsVersion)
{
$config = $this->configOneStandardMultiRuleset;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempLocalPath);

Expand Down Expand Up @@ -287,7 +287,7 @@ public function dataRegisterOneStandardMultipleRulesets()
public function testRegisterOneStandardInSrcSubdir($phpcsVersion)
{
$config = $this->configOneStandardInSrcSubdir;
$config['require-dev']['squizlabs/php_codesniffer'] = $phpcsVersion;
$config['require-dev']['phpcsstandards/php_codesniffer'] = $phpcsVersion;

$this->writeComposerJsonFile($config, static::$tempGlobalPath);

Expand Down
8 changes: 5 additions & 3 deletions tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -368,11 +368,13 @@ protected static function stabilizeCommand($command, $workingDir = null)
*/
protected static function getPhpcsCommand($workingDir = null)
{
$command = '"vendor/squizlabs/php_codesniffer/bin/phpcs"'; // PHPCS 3.x.
$command = '"vendor/phpcsstandards/php_codesniffer/bin/phpcs"'; // PHPCS 3.x.

if (is_string($workingDir) && file_exists($workingDir . '/vendor/squizlabs/php_codesniffer/scripts/phpcs')) {
if (is_string($workingDir)
&& file_exists($workingDir . '/vendor/phpcsstandards/php_codesniffer/scripts/phpcs')
) {
// PHPCS 2.x.
$command = '"vendor/squizlabs/php_codesniffer/scripts/phpcs"';
$command = '"vendor/phpcsstandards/php_codesniffer/scripts/phpcs"';
}

return $command;
Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/dummy-src/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"license" : "MIT",
"require" : {
"php" : ">=5.4",
"squizlabs/php_codesniffer" : "*",
"phpcsstandards/php_codesniffer" : "*",
"dealerdirect/phpcodesniffer-composer-installer" : "*"
},
"config": {
Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/dummy-src/src/DummySrcSubDir/ruleset.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="DummySrcSubDir" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="DummySrcSubDir" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/PHPCSStandards/PHP_CodeSniffer/master/phpcs.xsd">

<description>Dummy PHPCS standard for testing.</description>
</ruleset>
2 changes: 1 addition & 1 deletion tests/fixtures/dummy-subdir/DummySubDir/ruleset.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="DummySubDir" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="DummySubDir" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/PHPCSStandards/PHP_CodeSniffer/master/phpcs.xsd">

<description>Dummy PHPCS standard for testing.</description>
</ruleset>
2 changes: 1 addition & 1 deletion tests/fixtures/dummy-subdir/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
"license" : "MIT",
"require" : {
"php" : ">=5.4",
"squizlabs/php_codesniffer" : "*"
"phpcsstandards/php_codesniffer" : "*"
}
}
2 changes: 1 addition & 1 deletion tests/fixtures/incorrect-type/IncorrectType/ruleset.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="IncorrectType" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="IncorrectType" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/PHPCSStandards/PHP_CodeSniffer/master/phpcs.xsd">

<description>Dummy PHPCS standard for testing.</description>
</ruleset>
2 changes: 1 addition & 1 deletion tests/fixtures/incorrect-type/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"license" : "MIT",
"require" : {
"php" : ">=5.4",
"squizlabs/php_codesniffer" : "*",
"phpcsstandards/php_codesniffer" : "*",
"dealerdirect/phpcodesniffer-composer-installer" : "*"
},
"config": {
Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/multistandard/My-Third-Standard/ruleset.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="My-Third-Standard" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="My-Third-Standard" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/PHPCSStandards/PHP_CodeSniffer/master/phpcs.xsd">

<description>Dummy PHPCS standard for testing.</description>
</ruleset>
2 changes: 1 addition & 1 deletion tests/fixtures/multistandard/MyFirstStandard/ruleset.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MyFirstStandard" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MyFirstStandard" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/PHPCSStandards/PHP_CodeSniffer/master/phpcs.xsd">

<description>Dummy PHPCS standard for testing.</description>
</ruleset>
Loading

0 comments on commit 4de1fd8

Please sign in to comment.