Browse Source

Merge pull request #6298 from RyDroid/license-trim

Add a specific message for stupid users that put useless spaces in license
Jordi Boggiano 8 years ago
parent
commit
a1e12fa4d8
1 changed files with 8 additions and 2 deletions
  1. 8 2
      src/Composer/Util/ConfigValidator.php

+ 8 - 2
src/Composer/Util/ConfigValidator.php

@@ -84,10 +84,16 @@ class ConfigValidator
             }
 
             $licenseValidator = new SpdxLicenses();
-            if ('proprietary' !== $manifest['license'] && array() !== $manifest['license'] && !$licenseValidator->validate($manifest['license'])) {
+            if ('proprietary' !== $manifest['license'] && array() !== $manifest['license'] && !$licenseValidator->validate($manifest['license']) && $licenseValidator->validate(trim($manifest['license']))) {
+                $warnings[] = sprintf(
+                    'License %s must not contain extra spaces, make sure to trim it.',
+                    json_encode($manifest['license'])
+                );
+            } else if ('proprietary' !== $manifest['license'] && array() !== $manifest['license'] && !$licenseValidator->validate($manifest['license'])) {
                 $warnings[] = sprintf(
                     'License %s is not a valid SPDX license identifier, see https://spdx.org/licenses/ if you use an open license.'
-                    ."\nIf the software is closed-source, you may use \"proprietary\" as license.",
+                    . PHP_EOL .
+                    'If the software is closed-source, you may use "proprietary" as license.',
                     json_encode($manifest['license'])
                 );
             }