Task #41414

Check packageKey naming / file structure below Packages/Vendor

Added by Rens Admiraal almost 3 years ago. Updated over 2 years ago.

Status:Needs Feedback Start date:2012-09-27
Priority:Should have Due date:
Assigned To:- % Done:

0%

Category:Package
Target version:-
Sprint: Has patch:No
PHP Version: Complexity:

Description

It leads to a confusing situation if you install a composer package with dashes in the name. The actual packageKey to use in FLOW3 (for example while configuring excludeClasses) is without dashes, while the folder structure used by composer does contain the dashes. This can be confusing.

This issue is created so this can be discussed.

Example package:
https://github.com/simplethings/EntityAudit/blob/master/composer.json

This leads to the following folder structure below Packages/Vendor:

├── composer
├── simplethings
│   └── entity-audit-bundle
└── symfony
    ├── dom-crawler
    └── yaml

The code from the PackageStates.php:

    'simplethings.entityauditbundle' => 
    array (
      'state' => 'active',
      'packagePath' => 'Vendor/simplethings/entity-audit-bundle/',
      'classesPath' => 'src/',
    ),


Related issues

related to TYPO3 Flow Base Distribution - Story #41031: Composer support for packaging Resolved 2012-09-17

History

#1 Updated by Karsten Dambekalns almost 3 years ago

  • Project changed from TYPO3 Flow Base Distribution to TYPO3.Flow

#2 Updated by Karsten Dambekalns almost 3 years ago

  • Category set to Package
  • Has patch set to No

#3 Updated by Karsten Dambekalns almost 3 years ago

First step: find out why / where this is changed so it differs…

#4 Updated by Christian Jul Jensen almost 3 years ago

That is "working as designed" but we can discuss if it should be changed.

PackageFactory::getPackageKeyFromManifestPath

  • Resolves package key from Composer manifest *
  • If it is a FLOW3 package the name of the containing directory will be used. *
  • Else if the composer name of the package matches the first part of the lowercased namespace of the package, the mixed
  • case version of the composer name / namespace will be used, with backslashes replaced by dots. *
  • Else the composer name will be used with the slash replaced by a dot

#5 Updated by Karsten Dambekalns over 2 years ago

  • Status changed from New to Needs Feedback

Also available in: Atom PDF