Pasito a pasito con Composer.js

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
oskar_calvo's picture

Buenas apañeros del metal, estoy con el tema de composer, y por lo que he entendido y he leído más o menos empiezo a pilotar el barco :)

Pero tengo una duda, este es mi composer (el de d8 básico más un par de módulos.

{
    "name": "drupal/drupal",
    "description": "Drupal is an open source content management platform powering millions of websites and applications.",
    "type": "project",
    "license": "GPL-2.0+",
    "require": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/token": "1.0.x-dev",
        "drupal/features": "3.0.x-dev"
    },
    "replace": {
        "drupal/core": "~8.1"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    },
    "extra": {
        "_readme": [
            "By default Drupal loads the autoloader from ./vendor/autoload.php.",
            "To change the autoloader you can edit ./autoload.php."
        ],
        "merge-plugin": {
            "include": [
                "core/composer.json"
            ],
            "recurse": false,
            "replace": false,
            "merge-extra": false
        },
        "installer-paths": {
            "web/core": ["type:drupal-core"],
            "modules/contrib/{$name}": ["type:drupal-module"],
            "themes/contrib/{$name}": ["type:drupal-theme"]
        }
    },
    "autoload": {
        "psr-4": {
            "Drupal\Core\Composer\": "core/lib/Drupal/Core/Composer"
        }
    },
    "scripts": {
        "pre-autoload-dump": "Drupal\Core\Composer\Composer::preAutoloadDump",
        "post-autoload-dump": "Drupal\Core\Composer\Composer::ensureHtaccess",
        "post-package-install": "Drupal\Core\Composer\Composer::vendorTestCodeCleanup",
        "post-package-update": "Drupal\Core\Composer\Composer::vendorTestCodeCleanup"
    },
    "repositories": {
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    }
}

Mi duda es la forma correcta de agregar este módulo de drupal que esta en github pero no en https://packagist.org/ o cualquier otra librería que no esta en en el packagist.

Quiero instalar este módulo: https://github.com/agentrickard/domain pero no veo como hacerlo bien.

Gracias.

Oskar

Comments

Creo que esto es lo que

jlbellido's picture

Creo que esto es lo que necesitas : https://getcomposer.org/doc/05-repositories.md#vcs

buenas @jlbellido.Ese código

oskar_calvo's picture

buenas @jlbellido.

Vale, creo que ya lo he entendido:

"repositories": {                                                                               
        "drupal": {                                                                                 
             "type": "composer",                                                                     
             "url": "https://packages.drupal.org/8"                                                  
         },                                                                                          
         "domain": {                                                                                 
             "type": "vcs",                                                                          
             "url": "https://github.com/agentrickard/domain"                                         
         }                                                                                           
     }                    

lo raro es que no me reconoce la versión que quiero en el require :/

Oskar

Ese repositorio vcs que

rodrigoaguilera's picture

Ese repositorio vcs que añades no tiene versión en el composer.json

Tendras que hacer que se lo descargue usando git y usar un commit hash para fijar la versión

Gracias @rodrigoaguilera :)

oskar_calvo's picture

Gracias @rodrigoaguilera :) voy a mirar lo que me has dicho.

Ojo porque cuando el modulo

rodrigoaguilera's picture

Ojo porque cuando el modulo domain aparezca en
https://packages.drupal.org/8
el orden de los repositorios será importante para decidir que version de domain instalar

drupal-composer

leandro713's picture

Oskar:
el proyecto actualmente standard para trabajar con Composer y Drupal es
https://github.com/drupal-composer/drupal-project/

tienes que bajarte eso, ya viene con un composer.json específico para proyectos drupal,
él ya sabe donde meterte modulos y themes si te los bajas con Composer

(por cierto, olvídate de instalar themes y módulos con drush y/o DrupalConsole sin usar Composer)
se descarga/instala todo (el propio Drupal, módulos y themes) usando Composer

hablaré de esto largo y tendido en la charla http://www.meetup.com/Drupal-Madrid/events/231184426/

respecto a añadir un repo de Github con composer mírate http://stackoverflow.com/questions/12954051/use-php-composer-to-clone-gi...

Madrid

Group organizers

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: