Keine Versionsangabe in ___VERSION___-Konstante per Composer-Setup

Ein 500er nach Installation des Amazon Play-Plugins brachte mich darauf, dass Shopware::VERSION nur “___VERSION___” enthält. In den “normalen” Release-Dateien wird diese Konstante durch das ANT-Skript ja durch die Versionsnummer ersetzt. Doch im Composer-Package findet das anscheinend nicht statt. Ich habe gelesen, dass die Shopware-Version jetzt über eine Environment-Variable gesetzt wird, aber ich wüsste nicht wie (In der .env.example sehe ich nichts, was dazu passen würde).

In der aktuellen Composer Installation wird das imho aus der composer.json gezogen, natürlich nur, wenn du auch eine Release Version installierst und nicht die aktuelle DEV Version. Die DEV Version hat  nie eine Version.

Nein, ich habe die nicht aus den Quellen installiert, ganz einfach Version 5.5.4, welches über packagist.org ausgeliefert wird: shopware/shopware - Packagist

In der Application.php steht da auf jeden Fall nur ___VERSION___. Da die Angaben deprecated sind, sollte das eh bald nicht mehr verwendet werden, aber aktuell macht das für dieses Plugin auf jeden Fall Probleme.

Das Composer-Projekt des Shops sollte den korrekten Wert selbst setzen mit der per composer installierten Version: https://github.com/shopware/composer-project/blob/master/app/AppKernel.php

Das funktioniert natürlich nur wenn das Plugin nicht auf die (deprecated) Konstante direkt zugreift sondern die entsprechenden Parameter aus dem Dependency Container nutzt.

Genau, aus dem DC kommt die Version korrekt. Aber momentan ist die Konstante ja noch nicht raus, da hätte man sie ja noch setzen können. Aber wie auch immer, dann ist das so gedacht und ich schreibe BestIT mal deswegen.

Stimmt, das muss das Plugin angepasst werden. Vielleicht hilft BestIT der Hinweis auf die rückwärtskompatible Möglichkeit die Version zu ermitteln:

$container->get(‚config‘)->get(‚version‘)

Das funktioniert sowohl <5.4 mit den Konstanten, als auch >=5.4 mit dem DIC-Parameter.

1 „Gefällt mir“