Jordi Boggiano 10 years ago
parent
commit
dbfd47eeca

+ 1 - 1
src/Composer/Autoload/ClassMapGenerator.php

@@ -173,7 +173,7 @@ class ClassMapGenerator
                 if ($name[0] === ':') {
                     // This is an XHP class, https://github.com/facebook/xhp
                     $name = 'xhp'.substr(str_replace(array('-', ':'), array('_', '__'), $name), 1);
-                } else if ($matches['type'][$i] === 'enum') {
+                } elseif ($matches['type'][$i] === 'enum') {
                     // In Hack, something like:
                     //   enum Foo: int { HERP = '123'; }
                     // The regex above captures the colon, which isn't part of

+ 0 - 1
src/Composer/Command/LicensesCommand.php

@@ -19,7 +19,6 @@ use Composer\Plugin\PluginEvents;
 use Composer\Package\PackageInterface;
 use Composer\Repository\RepositoryInterface;
 use Symfony\Component\Console\Helper\Table;
-use Symfony\Component\Console\Helper\TableStyle;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Input\InputOption;
 use Symfony\Component\Console\Output\OutputInterface;

+ 2 - 2
src/Composer/Command/ShowCommand.php

@@ -389,11 +389,11 @@ EOT
 
         $licenses = $package->getLicense();
 
-        foreach($licenses as $licenseId) {
+        foreach ($licenses as $licenseId) {
             $license = $spdxLicense->getLicenseByIdentifier($licenseId); // keys: 0 fullname, 1 osi, 2 url
 
             // is license OSI approved?
-            if($license[1] === true) {
+            if ($license[1] === true) {
                 $out = sprintf('%s (%s) (OSI approved) %s', $license[0], $licenseId, $license[2]);
             } else {
                 $out = sprintf('%s (%s) %s', $license[0], $licenseId, $license[2]);

+ 1 - 0
src/Composer/IO/ConsoleIO.php

@@ -126,6 +126,7 @@ class ConsoleIO extends BaseIO
         if (true === $stderr && $this->output instanceof ConsoleOutputInterface) {
             $this->output->getErrorOutput()->write($messages, $newline);
             $this->lastMessageErr = join($newline ? "\n" : '', (array) $messages);
+
             return;
         }
 

+ 2 - 1
src/Composer/Util/Git.php

@@ -154,7 +154,8 @@ class Git
         }
     }
 
-    private function isAuthenticationFailure ($url, &$match) {
+    private function isAuthenticationFailure($url, &$match)
+    {
         if (!preg_match('{(https?://)([^/]+)(.*)$}i', $url, $match)) {
             return false;
         }

+ 229 - 229
src/Composer/Util/SpdxLicense.php

@@ -1,229 +1,229 @@
-<?php
-
-/*
- * This file is part of Composer.
- *
- * (c) Nils Adermann <naderman@naderman.de>
- *     Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Composer\Util;
-
-use Composer\Json\JsonFile;
-
-/**
- * Supports composer array and SPDX tag notation for disjunctive/conjunctive
- * licenses.
- *
- * @author Tom Klingenberg <tklingenberg@lastflood.net>
- */
-class SpdxLicense
-{
-    /**
-     * @var array
-     */
-    private $licenses;
-
-    public function __construct()
-    {
-        $this->loadLicenses();
-    }
-
-    private function loadLicenses()
-    {
-        if(is_array($this->licenses)) {
-            return $this->licenses;
-        }
-
-        $jsonFile = new JsonFile(__DIR__ . '/../../../res/spdx-licenses.json');
-        $this->licenses = $jsonFile->read();
-
-        return $this->licenses;
-    }
-
-    /**
-     * Returns license metadata by license identifier.
-     *
-     * @param string $identifier
-     *
-     * @return array
-     */
-    public function getLicenseByIdentifier($identifier)
-    {
-        $license = $this->licenses[$identifier];
-
-        // add URL for the license text (it's not included in the json)
-        $license[2] = 'http://spdx.org/licenses/' . $identifier . '#licenseText';
-
-        return $license;
-    }
-
-    /**
-     * Returns the short identifier of a license by full name.
-     *
-     * @param string $identifier
-     *
-     * @return string
-     */
-    public function getIdentifierByName($name)
-    {
-        foreach ($this->licenses as $identifier => $licenseData) {
-            if($licenseData[0] === $name) { // key 0 = fullname
-                return $identifier;
-            }
-        }
-    }
-
-    /**
-     * Returns the OSI Approved status for a license by identifier.
-     *
-     * @return bool
-     */
-    public function isOsiApprovedByIdentifier($identifier)
-    {
-        return $this->licenses[$identifier][1]; // key 1 = osi approved
-    }
-
-    /**
-     * Check, if the identifier for a license is valid.
-     * 
-     * @param string $identifier
-     *
-     * @return bool
-     */
-    private function isValidLicenseIdentifier($identifier)
-    {
-        $identifiers = array_keys($this->licenses);
-
-        return in_array($identifier, $identifiers);
-    }
-
-    /**
-     * @param array|string $license
-     *
-     * @return bool
-     * @throws \InvalidArgumentException
-     */
-    public function validate($license)
-    {
-        if (is_array($license)) {
-            $count = count($license);
-            if ($count !== count(array_filter($license, 'is_string'))) {
-                throw new \InvalidArgumentException('Array of strings expected.');
-            }
-            $license = $count > 1  ? '('.implode(' or ', $license).')' : (string) reset($license);
-        }
-
-        if (!is_string($license)) {
-            throw new \InvalidArgumentException(sprintf(
-                'Array or String expected, %s given.', gettype($license)
-            ));
-        }
-
-        return $this->isValidLicenseString($license);
-    }
-
-    /**
-     * @param string $license
-     *
-     * @return bool
-     * @throws \RuntimeException
-     */
-    private function isValidLicenseString($license)
-    {
-        $tokens = array(
-            'po' => '\(',
-            'pc' => '\)',
-            'op' => '(?:or|and)',
-            'lix' => '(?:NONE|NOASSERTION)',
-            'lir' => 'LicenseRef-\d+',
-            'lic' => '[-+_.a-zA-Z0-9]{3,}',
-            'ws' => '\s+',
-            '_' => '.',
-        );
-
-        $next = function () use ($license, $tokens) {
-            static $offset = 0;
-
-            if ($offset >= strlen($license)) {
-                return null;
-            }
-
-            foreach ($tokens as $name => $token) {
-                if (false === $r = preg_match('{' . $token . '}', $license, $matches, PREG_OFFSET_CAPTURE, $offset)) {
-                    throw new \RuntimeException('Pattern for token %s failed (regex error).', $name);
-                }
-                if ($r === 0) {
-                    continue;
-                }
-                if ($matches[0][1] !== $offset) {
-                    continue;
-                }
-                $offset += strlen($matches[0][0]);
-
-                return array($name, $matches[0][0]);
-            }
-
-            throw new \RuntimeException('At least the last pattern needs to match, but it did not (dot-match-all is missing?).');
-        };
-
-        $open = 0;
-        $require = 1;
-        $lastop = null;
-
-        while (list($token, $string) = $next()) {
-            switch ($token) {
-                case 'po':
-                    if ($open || !$require) {
-                        return false;
-                    }
-                    $open = 1;
-                    break;
-                case 'pc':
-                    if ($open !== 1 || $require || !$lastop) {
-                        return false;
-                    }
-                    $open = 2;
-                    break;
-                case 'op':
-                    if ($require || !$open) {
-                        return false;
-                    }
-                    $lastop || $lastop = $string;
-                    if ($lastop !== $string) {
-                        return false;
-                    }
-                    $require = 1;
-                    break;
-                case 'lix':
-                    if ($open) {
-                        return false;
-                    }
-                    goto lir;
-                case 'lic':
-                    if (!$this->isValidLicenseIdentifier($string)) {
-                        return false;
-                    }
-                    // Fall-through intended
-                case 'lir':
-                    lir:
-                    if (!$require) {
-                        return false;
-                    }
-                    $require = 0;
-                    break;
-                case 'ws':
-                    break;
-                case '_':
-                    return false;
-                default:
-                    throw new \RuntimeException(sprintf('Unparsed token: %s.', print_r($token, true)));
-            }
-        }
-
-        return !($open % 2 || $require);
-    }
-}
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Util;
+
+use Composer\Json\JsonFile;
+
+/**
+ * Supports composer array and SPDX tag notation for disjunctive/conjunctive
+ * licenses.
+ *
+ * @author Tom Klingenberg <tklingenberg@lastflood.net>
+ */
+class SpdxLicense
+{
+    /**
+     * @var array
+     */
+    private $licenses;
+
+    public function __construct()
+    {
+        $this->loadLicenses();
+    }
+
+    private function loadLicenses()
+    {
+        if (is_array($this->licenses)) {
+            return $this->licenses;
+        }
+
+        $jsonFile = new JsonFile(__DIR__ . '/../../../res/spdx-licenses.json');
+        $this->licenses = $jsonFile->read();
+
+        return $this->licenses;
+    }
+
+    /**
+     * Returns license metadata by license identifier.
+     *
+     * @param string $identifier
+     *
+     * @return array
+     */
+    public function getLicenseByIdentifier($identifier)
+    {
+        $license = $this->licenses[$identifier];
+
+        // add URL for the license text (it's not included in the json)
+        $license[2] = 'http://spdx.org/licenses/' . $identifier . '#licenseText';
+
+        return $license;
+    }
+
+    /**
+     * Returns the short identifier of a license by full name.
+     *
+     * @param string $identifier
+     *
+     * @return string
+     */
+    public function getIdentifierByName($name)
+    {
+        foreach ($this->licenses as $identifier => $licenseData) {
+            if ($licenseData[0] === $name) { // key 0 = fullname
+                return $identifier;
+            }
+        }
+    }
+
+    /**
+     * Returns the OSI Approved status for a license by identifier.
+     *
+     * @return bool
+     */
+    public function isOsiApprovedByIdentifier($identifier)
+    {
+        return $this->licenses[$identifier][1]; // key 1 = osi approved
+    }
+
+    /**
+     * Check, if the identifier for a license is valid.
+     *
+     * @param string $identifier
+     *
+     * @return bool
+     */
+    private function isValidLicenseIdentifier($identifier)
+    {
+        $identifiers = array_keys($this->licenses);
+
+        return in_array($identifier, $identifiers);
+    }
+
+    /**
+     * @param array|string $license
+     *
+     * @return bool
+     * @throws \InvalidArgumentException
+     */
+    public function validate($license)
+    {
+        if (is_array($license)) {
+            $count = count($license);
+            if ($count !== count(array_filter($license, 'is_string'))) {
+                throw new \InvalidArgumentException('Array of strings expected.');
+            }
+            $license = $count > 1  ? '('.implode(' or ', $license).')' : (string) reset($license);
+        }
+
+        if (!is_string($license)) {
+            throw new \InvalidArgumentException(sprintf(
+                'Array or String expected, %s given.', gettype($license)
+            ));
+        }
+
+        return $this->isValidLicenseString($license);
+    }
+
+    /**
+     * @param string $license
+     *
+     * @return bool
+     * @throws \RuntimeException
+     */
+    private function isValidLicenseString($license)
+    {
+        $tokens = array(
+            'po' => '\(',
+            'pc' => '\)',
+            'op' => '(?:or|and)',
+            'lix' => '(?:NONE|NOASSERTION)',
+            'lir' => 'LicenseRef-\d+',
+            'lic' => '[-+_.a-zA-Z0-9]{3,}',
+            'ws' => '\s+',
+            '_' => '.',
+        );
+
+        $next = function () use ($license, $tokens) {
+            static $offset = 0;
+
+            if ($offset >= strlen($license)) {
+                return null;
+            }
+
+            foreach ($tokens as $name => $token) {
+                if (false === $r = preg_match('{' . $token . '}', $license, $matches, PREG_OFFSET_CAPTURE, $offset)) {
+                    throw new \RuntimeException('Pattern for token %s failed (regex error).', $name);
+                }
+                if ($r === 0) {
+                    continue;
+                }
+                if ($matches[0][1] !== $offset) {
+                    continue;
+                }
+                $offset += strlen($matches[0][0]);
+
+                return array($name, $matches[0][0]);
+            }
+
+            throw new \RuntimeException('At least the last pattern needs to match, but it did not (dot-match-all is missing?).');
+        };
+
+        $open = 0;
+        $require = 1;
+        $lastop = null;
+
+        while (list($token, $string) = $next()) {
+            switch ($token) {
+                case 'po':
+                    if ($open || !$require) {
+                        return false;
+                    }
+                    $open = 1;
+                    break;
+                case 'pc':
+                    if ($open !== 1 || $require || !$lastop) {
+                        return false;
+                    }
+                    $open = 2;
+                    break;
+                case 'op':
+                    if ($require || !$open) {
+                        return false;
+                    }
+                    $lastop || $lastop = $string;
+                    if ($lastop !== $string) {
+                        return false;
+                    }
+                    $require = 1;
+                    break;
+                case 'lix':
+                    if ($open) {
+                        return false;
+                    }
+                    goto lir;
+                case 'lic':
+                    if (!$this->isValidLicenseIdentifier($string)) {
+                        return false;
+                    }
+                    // Fall-through intended
+                case 'lir':
+                    lir:
+                    if (!$require) {
+                        return false;
+                    }
+                    $require = 0;
+                    break;
+                case 'ws':
+                    break;
+                case '_':
+                    return false;
+                default:
+                    throw new \RuntimeException(sprintf('Unparsed token: %s.', print_r($token, true)));
+            }
+        }
+
+        return !($open % 2 || $require);
+    }
+}

+ 4 - 4
src/Composer/Util/SpdxLicensesUpdater.php

@@ -42,14 +42,14 @@ class SpdxLicensesUpdater
         $trs = $xPath->query('//table//tbody//tr');
 
         // iterate over each row in the table
-        foreach($trs as $tr) {
+        foreach ($trs as $tr) {
             $tds = $tr->getElementsByTagName('td'); // get the columns in this row
 
-            if($tds->length < 4) {
+            if ($tds->length < 4) {
                 throw new \Exception('Obtaining the license table failed. Wrong table format. Found less than 4 cells in a row.');
             }
 
-            if(trim($tds->item(3)->nodeValue) == 'License Text') {
+            if (trim($tds->item(3)->nodeValue) == 'License Text') {
                 $fullname    = trim($tds->item(0)->nodeValue);
                 $identifier  = trim($tds->item(1)->nodeValue);
                 $osiApproved = ((isset($tds->item(2)->nodeValue) && $tds->item(2)->nodeValue === 'Y')) ? true : false;
@@ -64,4 +64,4 @@ class SpdxLicensesUpdater
 
         return $licenses;
     }
-}
+}