Was genau meinst du mit "Composer Plugin"? Ein tatsächliches Composer Plugin?
Was genau meinst du mit "Composer Plugin"? Ein tatsächliches Composer Plugin?
Was ist ein tatsächliches Composer Plugin?
Ich meine eine typische Anwendung, die man sich per composer install installiert.
Also ein Symfony Bundle, eine Bibliothek, eine Funktion etc.
Siehe mein Link
Also kein Composer Plugin, sondern einfach (irgend)ein Package.
Sobald du eine composer.json angelegt hast, könntest du das Paket als lokales Repository in deine Installation einbinden, wie zB hier beschrieben: https://community.contao.org/de/show...l=1#post422990 ("For vendor bundles"). Dieser Weg funktioniert allerdings nicht uneingeschränkt, siehe https://github.com/contao/core-bundle/issues/1114 (im Issue Titel steht zwar Windows, vermutlich ist das aber ein generelles Problem).
Eine andere Möglichkeit wäre, dass du dein Repository zuerst mit einer composer.json initialisiert (inkl. allen Requirements die du brauchst), in ein Repository gibst, und dann dieses Repository in deiner Contao Installation mitrequirest und dann direkt im vendor/your/package Ordner programmierst. Durch --prefer-source macht composer ein git clone und du kannst dann von dort direkt deine Änderungen in dein Repository zurück comitten.Code:composer require your/package --prefer-source
Vielen Dank. Werde mir beide Varianten mal anschauen. Das ist genau das, was ich gesucht habe
guten Morgen!
sorry, dass ich dieses Thema nochmal aufwärme, aber ich stehe momentan leider auf dem Schlauch was die Managed Edition betrifft.
Ich habe prinzipiell das gleiche Problem wie lomex, möchte also ein "lokales" Bundle in der Managed Edition entwickeln. Ich hab mich am Projekt bugbuster/contao-xing-bundle orientiert.
Ich hab es schon geschafft, dass mein Bundle in vendor/myname/bundlename erscheint nach composer require myname/bundlename --prefer-source (hab mir sogar einen lokalen git Server installiert). Leider schaffe ich es nicht, dass meine Klassen in die vendor/composer/autoload_... Dateien aufgenommen werden nach composer dump-autoload. Lediglich in der installed.json bin ich vertreten. Witzigerweise habe ich versehentlich ein composer dumpautoload ausgeführt, als ich in vendor/myname/bundlename stand, dort waren dann die autoload_...php's mit meinen Klassen gefüllt.
Ich vermute, dass das etwas mit dem Manager-Plugin zu tun hat. Vielleicht kann mir den nochmal einer erklären. Die Vorgehensweise wie von Spooky in Beitrag #43 vorgeschlagen hört sich vielversprechend an. Welche Schritte sind da notwendig, nachdem ich etwas an der Programmierung geändert haben (composer dump-autoload, Cache löschen, etc.)
Danke schon mal für die Hilfe
Geändert von rwinkler (22.08.2018 um 09:14 Uhr)
Die Frage ist: was genau möchtest du machen? Setzt du das Bundle in mehreren Installationen ein?
Wenn nicht: dann das Bundle einfach im src/ Ordner der Contao Installation programmieren. Wenn ja stellt sich weiter die Frage, wie du das Bundle dann in mehrere Installationen bringst. packagist.org? packagist.com? Direkt via VCS?
Hallo Spooky,
mehrere Installationen! Wie gesagt ich hab einen eigenen git! und das Bundle ist ja da schon im vendor.
Mein primäres Problem ist denke ich nicht git oder packagist, sondern die Erkennung des Bundles in Contao!
Ist das Paket öffentlich? Ohne Code kann ich dir nicht helfen.
nein, kein öffentliches Paket!
gibt's logdateien was beim dumpautoload passiert/fehlschlägt?
Geändert von rwinkler (22.08.2018 um 09:52 Uhr)
Deine Klassen stehen in den autoload_ Dateien nicht unbedingt drin - außer du verwendest die Option --optimize-autoloader.
Ohne deinen Code zu sehen kann ich dir aber nicht sagen, was dein eigentliches Problem ist.
Damit der autoload alles kennt rufe ich immer wieder php7 composer.phar update --optimize-autoloader auf.
Sogar dann wenn nur ein neues Feld in der DCA erstellt wird. Sogar das wird leider nicht automatisch 'geladen'.
Tipp: https://gist.github.com/joergmoldenh...dbc2d039095142
Mein DANK an den Ersteller dieses gist!
Evtl. wird auch classmap in der Bundle composer.json benötigt?
https://community.contao.org/de/show...-nicht-geladen
HTML-Code:"autoload": { "psr-4": { "namespace\\Bundle\\": "src/" }, "classmap": [ "src/Resources/contao" ], "exclude-from-classmap": [ "src/Resources/contao/config", "src/Resources/contao/dca", "src/Resources/contao/languages" ] },
Geändert von heyho (14.11.2018 um 21:21 Uhr)
Was Du machst, führt zum Erfolg, weil nach dem composer update auch noch der Cache gelöscht wird. Das Löschen des Cache alleine sollte für Deinen Fall der DCA-Änderungen aber genügen!
Contao-Community-Treff Bayern: http://www.contao-bayern.de
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen