Autor Zpráva
balíček
Profil *
Ahojte,
chtěl bych si udělat vlastní balíček pomocí composeru z git repozitáře, což se mi částečně povedlo, ale jde o to, že když si ho pak nainstaluju do projektu, tak se mi tam hodí i složka .git, což je pro mě hodně nežádoucí.
- balíček k distribuci
{
    "name": "code",
    "description": "Pokusný projekt",
    "version": "1.0",
    "require": {
    "php": ">=5.3.2",
    "nette/nette": "~2.3.0"
    },
    "autoload": {
    "psr-4": {
        "Code\\": "src/"
    }
    }
}

-- instalace do projektu
{
    "name":"test",
    "repositories": [
        {
            "type": "git",
            "url": "/var/www/Code"
        }
    ],
    
    "require": {
        "nette/nette": "~2.3.0",
    "code":"master-dev" 
    }
}

Code
- /src/...
- /tests
- /.git
- composer.json

v projektu se pak v vendor/code/ objeví i .git a nevím jak to odstranit (spíš aby se tam vůbec neobjevil). Poradí mi někdo prosím?
Jan Tvrdík
Profil
balíček:
composer update --prefer-dist
balíček
Profil *
Jan Tvrdík:
toto už jsem zkoušel, ale nezabralo to. U Nette se neobjevuje, je to pouze v té složce vendor/code. Zkoušel jsem to dávat i do .gitignore, ale nepomohlo to (přitom složka vendor se tam nekopíruje, když je v .gitignore uvedená)
balíček
Profil *
Jan Tvrdík:
pomohlo toto, ale je to takový dost blbý, když to budu muset dávat do každýho json, který budu instalovat. Nenapadá tě, čím by to ještě mohlo být, že se to tam furt vytváří?
"scripts": {
 "post-update-cmd": ["echo [WARNING] Delete all .git dirs", "rm -rf vendor/*/.git"],
 "post-install-cmd": ["echo [WARNING] Delete all .git dirs", "rm -rf vendor/*/.git"]
}
aDAm
Profil
žeby tím že to prostě taháš z gitu jako repo i když je to přes composer? Je nějaký rozumný důvod proč by to tam nemohlo zustat?
Jan Tvrdík
Profil
balíček:
Jo, jasně, jsem si ten úvodní příspěvek nepřečetl celý. Alternativně lze na promazání vendor složky použít i github.com/dg/composer-cleaner.
balíček
Profil *
aDAm:
rozumný důvod“ - nevím jestli je to úplně rozumný důvod, ale je asi blbost, aby se pak na produkci zbytečně nahrávala celá verzovací repozitory (když ji nějakým způsobem "opomenu" odmazat), myslím že to prostě není moc dobrý.

Jan Tvrdík:
Alternativně lze na promazání vendor složky použít i github.com/dg/composer-cleaner.
díky za tip!

takže asi nejde nějak v tom projektu (git repo) udělat něco jako soubor "composerInstall.conf", kde by se případně dalo něco obdobnýho jako ty scripty - aby se to vyřešilo "na serveru" a nemuselo se to řešit po instalaci (respektivě abych si nemusel udělat očištěný balíček a z toho pak instalovat do projektů)
Keeehi
Profil
balíček:
Ale k tomu čištění na serveru přece slouží ten projekt odkázaný Janem Tvrdíkem.
balíček
Profil *
Keeehi:
Ale k tomu čištění na serveru přece slouží ten projekt odkázaný Janem Tvrdíkem.
no pokud jsem to dobře pochopil, tak je to taky ale až po instalaci. Pokud to chápu špatně, tak můžeš prosím alespoň naznačit, jak to udělat?
Keeehi
Profil
balíček:
Tak to jsem asi špatně pochopil, který "server" máš na mysli.

Já ale nevidím problém v tom, místo
composer install
volat
composer install
php bin/composer-cleaner.php

Stav po první verzi je s git repozitáři, stav po druhé je bez nich. Jestli ti vadí, že to je delší, můžeš si to nacpat do bashového scriptu a ten pak volat místo toho, nebo si na to napiš alias.
balíček
Profil *
Keeehi:
Jestli ti vadí, že to je delší, můžeš si to nacpat do bashového scriptu a ten pak volat místo toho, nebo si na to napiš alias.
no jako né že by mě to vadilo, asi nejjednodušší je dávat scripts do json, podle kterého se to bude intstalovat - jde o to, že pokaždý to tam budu muset dat. Cíl byl vlastně mít git server, z kterého bych si to podle verzí instaloval a nainstalovalo by se to už pročištěný (abych to nemusel při každé instalaci čistit). Asi to budu dělat tak, že si to nainstaluju, pročistím a pak toto pročištěný budu používat jako instalační.
aDAm
Profil
Tak si udělej deployment server kde se ti to stáhne z gitu a na produkci to pošleš bez gitu, ale imho řešíš zbytečnost

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: