Task #41414

Check packageKey naming / file structure below Packages/Vendor

Added by Rens Admiraal about 9 years ago. Updated almost 9 years ago.

Status:
Needs Feedback
Priority:
Should have
Assignee:
-
Category:
Package
Target version:
-
Start date:
2012-09-27
Due date:
% Done:

0%

Estimated time:
Sprint:
PHP Version:
Has patch:
No
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 packagingResolvedChristian Jul Jensen2012-09-17

Actions
#1

Updated by Karsten Dambekalns about 9 years ago

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

Updated by Karsten Dambekalns about 9 years ago

  • Category set to Package
  • Has patch set to No
#3

Updated by Karsten Dambekalns about 9 years ago

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

#4

Updated by Christian Jul Jensen about 9 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 almost 9 years ago

  • Status changed from New to Needs Feedback

Also available in: Atom PDF