Composer i Symfony2.1 – bundle w vendorsach bez użycia packagista

Startując nowy projekt, postanowiliśmy użyć własnego bundla, którego chcieliśmy umieścić w vendorach. Jedynym minusem było to, że nie chcieliśmy naszego bundla dodawać do packagista. I tu zaczęły pojawiać się problemy. Pierwszym problemem było poinformowanie composera, skąd ma pobierać naszego bundla. Z pomocą przychodzi następujący wpis:

"repositories": [{"type": "package",
    "package": {
        "name": "nazwa/naszego-bundle",
        "version": "dev-master",
        "source": {
            "url": "adres/naszego-bundle.git",
            "type": "git",
            "reference": "master"
        },
        "target-dir" : "Target/DirNaszegoBundle"
    }
}]

No dobra, gdy w “require” podamy naszego bundla zostanie on ściągnięty. Ale, czy to już wystarczy aby działał? No niestety, composer w takim przypadku nie wygeneruje nam danych do autoload, przez co nasz bundle nie będzie widoczny w aplikacji. Co zrobić w takiej sytuacji? Wystarczy dodać go w pliku composer.json do “autoload”. Wygląda to tak:

"autoload": {
    "psr-0": {
        "": "src/",
        "Nazwa": "vendor/lokalizacjaDoKtórejŚciągnęliśmyBundle"
    }
}

I voilà. Nasz bundle już jest widoczny w aplikacji i spokojnie możemy go zarejestrować w AppKernel.

Pozdrawiam.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*