Añadir un modulo composer.json

Se puede añadir un archivo composer.json a tu módulo para definir el proyecto en sí. También puedes definir las dependencias externas para tu módulo en composer.json.

Definir tu módulo como un paquete PHP

La comunidad PHP utiliza Composer para administrar paquetes; así hace también Drupal.

Por ejemplo, el proyecto Drupal tiene una dependencia en el paquete "drupal/core".

 

El paquete "drupal/core" tiene un tipo definido como "drupal-core", así Composer sabe qué hacer con él.

 

La librería Composer/installers define varios tipos de Drupal. Estos son:

 

  • drupal-module

  • drupal-theme

  • drupal-library

  • drupal-profile

  • drupal-drush

Como parte de tu módulo debes incluir un composer.json, que como mínimo define el nombre, la descripción y el tipo de tu módulo.

 

{
    "name": "drupal/example",
    "description": "This is an example composer.json for example module.",
    "type": "drupal-module",
    "license": "GPL-2.0+"
}

He aquí un ejemplo complejo de cómo el proyecto mobile_detect se encarga de composer.json:

{
 "name": "drupal/mobile_detect",
 "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices.",
 "type": "drupal-module",
 "homepage": "https://drupal.org/project/mobile_detect",
 "authors": [
{
    "name": "Matthew Donadio (mpdonadio)",
    "homepage": "https://www.drupal.org/u/mpdonadio",
    "role": "Maintainer"
},
{
    "name": "Darryl Norris (darol100)",
    "email": "admin@darrylnorris.com",
    "homepage": "https://www.drupal.org/u/darol100",
    "role": "Co-maintainer"
}
],
 "support": {
    "issues": "https://drupal.org/project/issues/mobile_detect",
    "irc": "irc://irc.freenode.org/drupal-contribute",
    "source": "https://cgit.drupalcode.org/mobile_detect"
 },
 "license": "GPL-2.0+",
 "minimum-stability": "dev",
 "require": {
"mobiledetect/mobiledetectlib": "~2.8"
 }
}

Para nombrar tu paquete, debes seguir las convenciones de nomenclatura del paquete Composer de Drupal.

Definición de dependencias en composer.json

También puedes definir las dependencias externas para tu módulo en composer.json.

El núcleo de Drupal no descubrirá automáticamente ni manejará estas dependencias.

 

Para utilizar las dependencias definidas en el archivo composer.json de un proyecto, debes usar una de las siguientes estrategias de mantenimiento:

 

  • Instalar el núcleo de Drupal y el módulo con el composer.
     

  • Modificar manualmente el archivo composer.json en tu directorio raíz de la instalación de Drupal.
     

  • Usa composer_manager para crear automáticamente el archivo composer.json en tu directorio raíz de la instalación de Drupal. El módulo gestor de composer es obsoleto y ya no es necesario, debido a las mejoras en Drupal 8.1.

Para obtener más información sobre composer como gestor de dependencias para Drupal, revisa una comparación de Compositor y Drush Make como gestores de dependencia.

Haz click aquí para continuar con el manual.

 

Usted votó 3. Total de votos: 61

Entradas relacionadas

Comentarios (0)

Deja un comentario