Projekt

Allgemein

Profil

Aktionen

GX-Feature #61947

offen

Doppeltes Vendor-Verzeichnis

Von Mirko Janssen vor etwa 5 Jahren hinzugefügt. Vor mehr als 3 Jahren aktualisiert.

Status:
In Prüfung
Priorität:
Normal
Zugewiesen an:
-
Kategorie:
Refactoring
Zielversion:
-
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
Unbestimmt
Release Notes Langtext:
Tags:
EP

Beschreibung

Im Shop Repository gibt es zwei Composer Vendor-Verzeichnisse: Einmal das composer_components und src/vendor, wobei letzterer durch Gulp in das Shop-Verzeichnis kopiert wird.

Generell ist dies unschön (auch wenn eines der Verzeichnisse temporärer Natur ist), da das PHP Storm meckert und ein solches System an sich auch fehleranfälliger ist. Toby stört dies schon seit einiger Zeit und ich gebe ihm hierbei auch recht, weswegen ich mich schon einmal daran gemacht habe, dass Problem für v3.13 zu lösen. Hierbei bin ich jedoch auch einige Schwierigkeiten gestoßen, die größere Veränderungen mit sich ziehen würden und daher von entsprechender Steller zunächst bewertet werden sollten.

Momentan verlangen wir für die Ausführung der Unit-Tests, Gulp etc. das composer_components Verzeichnis, welches alle externen Libraries und Module für die Entwicklung enthält.
Der Shop selbst wiederum erwartet ein src/vendor Verzeichnis, welches alle Libraries und Module für den Produktiv-Betrieb enthält.
Es wird also je nach Betrachtungsweise von zwei unterschiedlichen Verzeichnissen ausgegangen.

Nun könnte man auf die Idee kommen (so war auch Tobys und mein erster Gedanke), das entsprechende Verzeichnis nur an einer der beiden Orten zu erzeugen und nicht mehr zu kopieren, sondern stattdessen für den Produktive-Betrieb entsprechende Libraries und Module zu entfernen. Hierbei ergeben sich dann aber Probleme mit dem PSR-4 Autoloading, dass man über die composer.json konfiguriert. In aktuellen Fall betrifft das die Klassen vom Admin Feed, da die für Hub Public nicht beachtet werden (warum auch immer o.O?).

Letztlich gibt es meiner Ansicht nach nur zwei Lösungen:

  1. Das Vendor-Verzeichnis befindet sich im Hauptverzeichnis des Projekt. Dann müsste die Art, wie dem Kunden der Shop ausgeliefert wird, angepasst werden. In diesem Fall müsste auch der Kunde das Vendor-Verzeichnis außerhalb des Shops ausgeliefert bekommen.

  2. Das Vendor-Verzeichnis befindet sich im Shop-Verzeichnis. Dann müsste die composer.json auch in das Shop-Verzeichnis liegen und composer entsprechend von dort aus installiert werden.


Aktionen #1

Von Mirko Janssen vor etwa 5 Jahren aktualisiert

  • Kategorie wurde auf 153 gesetzt
Aktionen #2

Von Philip Rogge vor fast 5 Jahren aktualisiert

  • Status wurde von Gemeldet zu In Prüfung geändert
Aktionen #3

Von Kevin Neumeyer vor fast 5 Jahren aktualisiert

  • Zugewiesen an wurde auf Kevin Neumeyer gesetzt

Prüfen, ob es die Möglichkeit gibt, dies mit dem Vorschlag 2 und "require-dev" für die Entwicklungsabhängigkeiten umzusetzen.

Aktionen #4

Von Lennard Kläfker vor mehr als 3 Jahren aktualisiert

  • Zugewiesen an Kevin Neumeyer wurde gelöscht
Aktionen #6

Von Wilken Haase vor mehr als 3 Jahren aktualisiert

  • Tags wurde auf EP gesetzt
Aktionen #7

Von Wilken Haase vor mehr als 3 Jahren aktualisiert

  • Tracker wurde von Vorschlag zu GX-Feature geändert
Aktionen #8

Von Wilken Haase vor mehr als 3 Jahren aktualisiert

  • Projekt wurde von 11232 zu GX-Entwicklung geändert
  • Kategorie wurde von 153 zu Refactoring geändert
  • Betroffene Versionen Unbestimmt wurde hinzugefügt
Aktionen

Auch abrufbar als: Atom PDF