Build Prozess schlägt fehl

Hallo Shopware,

ich möchte gern per git meine Instanz aufsetzen: GitHub - shopware/shopware: Shopware 5 Repository - For Shopware 6 visit https://github.com/shopware/platform

Ich hole mir also per git clone das Repo und setze die nötigen Rechte. Dann konfiguriere ich per build/ant configure und führe dann build/ant build-unit aus (streng nach Anleitung).

Composer Arbeitet dann und installiert alles Fehlerfrei bis:

  [exec] - Installing sensiolabs/behat-page-object-extension (v2.0.0-rc1)
     [exec] Loading from cache
     [exec] 
     [exec] Generating optimized autoload files
     [exec] Warning: Ambiguous class resolution, "Doctrine\ORM\Persisters\Entity\BasicEntityPersister" was found in both "$baseDir . '/engine/Library/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php" and "/home/nils/projects/beam/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php", the first will be used.
     [exec] Warning: Ambiguous class resolution, "Doctrine\Common\Proxy\AbstractProxyFactory" was found in both "$baseDir . '/engine/Library/Doctrine/Common/Proxy/AbstractProxyFactory.php" and "/home/nils/projects/beam/shopware/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php", the first will be used.

Das sind aber nur Warnings und es geht weiter (immerhin genau einen Schritt):

build-cache-dir:
     [exec] PHP Fatal error: Listener "onAddConsoleCommand" in "SwagImportExport" is not callable. in /home/nils/projects/beam/shopware/engine/Library/Enlight/Event/Handler/Plugin.php on line 145

Ein Blick in die build.xml verrät:

bin/console sw:cache:clear wird ausgeführt

aber schon php bin/console ergibt den oben genannten Fehler.

Ich finde jetzt keinen Grund warum überhaupt ein ImportExport aufgerufen wird. Aber an der Stelle wo normalerweise der SwagImportExport (engine/Shopware/Plugins/Community/Backend/SwagImportExport/) zu finden ist, ist euer Repo leer.

Was mache ich falsch?

Also ich bin jetzt kein Composer-Pro, aber für mich sieht die Exception so aus als würde er die Variable $baseDir nicht auflösen sondern als String verwenden…

Ne das machter schon richtig, schreibter nur blöd hin. Das ist auch der kleinere Teil des Problems… das sind warnings die er selbst löst und weiter macht… der Fatal Error drunter ist das Ende des Prozesses.

Er versucht im Import / Export Plugin den Listener onAddConsoleCommand aufzurufen. Möglicherweise ist hier noch ein Fehler im Builderscript…
Ist es zwingend erforderlich, dass Du das System aus GIT buildest?

Ja ist es letztlich schon,

als Workaround habe ich jetzt den Cache Schritt einfach raus genommen, das Plugin (Import/Export Advaned) manuell installiert und dann per Hand den Cache Clear gestartet (wahrscheinlich zur Neuinstallation überflüssig).

Der Fehler liegt weniger im Build Script., als in der ausgelieferten bin/console … wäre prima wenn das “fix” gefixed werden könnte.

Open a ticket :slight_smile:

Thumb-Up

Habe die Lösung für das Problem:

In der Datenbank in der man die Dev Version installiert dürfen keine Daten einer vorherigen Shopware Installation vorhanden sein.

Vorher:

build-database-foundation:
     [exec] Failed loading /usr/local/ioncube/ioncube_loader_lin_5.6.so: /usr/local/ioncube/ioncube_loader_lin_5.6.so: undefined symbol: pow_function
     [exec] PHP Fatal error: Listener "onAddConsoleCommand" in "SwagImportExport" is not callable. in /var/www/relaunch/releases/shopware/engine/Library/Enlight/Event/Handler/Plugin.php on line 145

Nachher:

build-database-foundation:
     [exec] WARNING! SQLSTATE[42S02]: Base table or view not found: 1146 Table 'shopware.s_core_plugins' doesn't exist in /home/vagrant/www/shopware/engine/Shopware/Kernel.php
     [exec]
     [exec] // Drop database
     [exec] // Create database
     [exec] // Import database

 

1 „Gefällt mir“