Download - Gestione delle dipendenze con Composer

Transcript
Page 1: Gestione delle dipendenze con Composer

Gestione delle dipendenze con

composerMassimiliano ArionePUG Roma, 26 novembre 2012

Page 2: Gestione delle dipendenze con Composer

problema

come gestire le dipendenze?

Page 3: Gestione delle dipendenze con Composer

soluzione 1

a mano!

Page 4: Gestione delle dipendenze con Composer

soluzione 2

PEAR

Page 5: Gestione delle dipendenze con Composer

soluzione 3

nel versionamento

svn:externalsgit submodule

mercurial subrepo...

Page 6: Gestione delle dipendenze con Composer

soluzione 4

script di gestione

2.0

Page 7: Gestione delle dipendenze con Composer

LA soluzione

Page 8: Gestione delle dipendenze con Composer

installazione

$ curl -s https://getcomposer.org/installer | php

$ sudo mv composer.phar /usr/local/bin/composer

Page 9: Gestione delle dipendenze con Composer

uso

$ composer install

Page 10: Gestione delle dipendenze con Composer

composer.json

{ "name": "symfony/framework-standard-edition", "require": { "php": ">=5.3.3", "symfony/symfony": "2.2.*", "doctrine/orm": ">=2.2.3,<2.4-dev", "doctrine/doctrine-bundle": "1.0.*", "twig/extensions": "1.0.*", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.2.*", "sensio/framework-extra-bundle": "2.2.*", "sensio/generator-bundle": "2.2.*", "jms/security-extra-bundle": "1.4.*", "jms/di-extra-bundle": "1.3.*" },}

Page 11: Gestione delle dipendenze con Composer

un esempio

Page 12: Gestione delle dipendenze con Composer

un esempio

{ "name": "pugx/autocompleter-bundle", "type": "symfony-bundle", "description": "Add an autocomplete type to forms", "license": "LGPL-3.0+", "minimum-stability": "dev", "require": { "symfony/framework-bundle": "2.1.*", "doctrine/orm": ">=2.2,<2.4-dev", "symfony/form": "2.1.*" }, "autoload": { "psr-0": { "PUGX\\AutocompleterBundle": "" } }, "target-dir": "PUGX/AutocompleterBundle"}

Page 13: Gestione delle dipendenze con Composer

un esempio

Page 14: Gestione delle dipendenze con Composer

a signo', è fatta!

http://www.youtube.com/watch?v=DX_CcnN4i0k&t=5m25s

Page 15: Gestione delle dipendenze con Composer

bonus: repo privati

{ "require": { "pippo/mio-repo": "3.*", "pluto/altro-repo": "2.*" } "repositories": [ { "type": "vcs", "url": "[email protected]:pippo/repo.git" }, { "type": "vcs", "url": "http://svn.example.org/repo" }

]}