annotate vendor/phar-io/manifest/src/ManifestLoader.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents 5311817fb629
children
rev   line source
Chris@2 1 <?php
Chris@2 2 /*
Chris@2 3 * This file is part of PharIo\Manifest.
Chris@2 4 *
Chris@2 5 * (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de>
Chris@2 6 *
Chris@2 7 * For the full copyright and license information, please view the LICENSE
Chris@2 8 * file that was distributed with this source code.
Chris@2 9 */
Chris@2 10
Chris@2 11 namespace PharIo\Manifest;
Chris@2 12
Chris@2 13 class ManifestLoader {
Chris@2 14 /**
Chris@2 15 * @param string $filename
Chris@2 16 *
Chris@2 17 * @return Manifest
Chris@2 18 *
Chris@2 19 * @throws ManifestLoaderException
Chris@2 20 */
Chris@2 21 public static function fromFile($filename) {
Chris@2 22 try {
Chris@2 23 return (new ManifestDocumentMapper())->map(
Chris@2 24 ManifestDocument::fromFile($filename)
Chris@2 25 );
Chris@2 26 } catch (Exception $e) {
Chris@2 27 throw new ManifestLoaderException(
Chris@2 28 sprintf('Loading %s failed.', $filename),
Chris@2 29 $e->getCode(),
Chris@2 30 $e
Chris@2 31 );
Chris@2 32 }
Chris@2 33 }
Chris@2 34
Chris@2 35 /**
Chris@2 36 * @param string $filename
Chris@2 37 *
Chris@2 38 * @return Manifest
Chris@2 39 *
Chris@2 40 * @throws ManifestLoaderException
Chris@2 41 */
Chris@2 42 public static function fromPhar($filename) {
Chris@2 43 return self::fromFile('phar://' . $filename . '/manifest.xml');
Chris@2 44 }
Chris@2 45
Chris@2 46 /**
Chris@2 47 * @param string $manifest
Chris@2 48 *
Chris@2 49 * @return Manifest
Chris@2 50 *
Chris@2 51 * @throws ManifestLoaderException
Chris@2 52 */
Chris@2 53 public static function fromString($manifest) {
Chris@2 54 try {
Chris@2 55 return (new ManifestDocumentMapper())->map(
Chris@2 56 ManifestDocument::fromString($manifest)
Chris@2 57 );
Chris@2 58 } catch (Exception $e) {
Chris@2 59 throw new ManifestLoaderException(
Chris@2 60 'Processing string failed',
Chris@2 61 $e->getCode(),
Chris@2 62 $e
Chris@2 63 );
Chris@2 64 }
Chris@2 65 }
Chris@2 66 }