[BUGFIX] Pass ext_emconf.php errors 53/43253/3
authorMathias Brodala <mbrodala@pagemachine.de>
Sat, 12 Sep 2015 19:44:11 +0000 (21:44 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sat, 12 Sep 2015 23:15:42 +0000 (01:15 +0200)
Make sure to show the specific errors why parsing the
ext_emconf.php has failed.

Resolves: #69741
Releases: master
Change-Id: I2fb1d4e85e5559c6248f3ada8a4e3c18098e12c4
Reviewed-on: http://review.typo3.org/43253
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Classes/Package/PackageManager.php

index 8dfb4cb..4d0c0a6 100644 (file)
@@ -887,12 +887,17 @@ class PackageManager implements \TYPO3\CMS\Core\SingletonInterface {
                                throw new Exception\InvalidPackageManifestException('The composer.json found for extension "' . basename($manifestPath) . '" is invalid!', 1439555561);
                        }
                }
+
                try {
                        $extensionManagerConfiguration = $this->getExtensionEmConf($manifestPath);
-                       $composerManifest = $this->mapExtensionManagerConfigurationToComposerManifest(basename($manifestPath), $extensionManagerConfiguration, $composerManifest ?: new \stdClass());
+                       $composerManifest = $this->mapExtensionManagerConfigurationToComposerManifest(
+                               basename($manifestPath),
+                               $extensionManagerConfiguration,
+                               $composerManifest ?: new \stdClass()
+                       );
                } catch (Exception\InvalidPackageManifestException $e) {
                        if ($composerManifest === NULL) {
-                               throw new Exception\MissingPackageManifestException('Neither a composer.json nor an ext_emconf.php file was found for extension "' . basename($manifestPath) . '"', 1439555560);
+                               throw $e;
                        }
                }