Composer => Flujo de trabajo del plugin de WordPress

Primero, la pregunta para que sepa, mientras lee, cuál es mi problema: ¿cuál es el flujo de trabajo correcto para actualizar un complemento en el proyecto de compositor / wordpress todo administrado con git?

Tengo un proyecto de WordPress con la siguiente estructura de directory:

  • raíz
    • httpdocs
    • wp-content
      • complementos
    • wp-config.php
    • composer.json

y dentro de la carpeta de plugins :

  • myplugin
    • composer.json

El root composer.json eliminado se ve así:

 { [...] "require": { "example/myplugin": "dev-master" }, "repositories": [ { "type": "composer", "url": "http://composer.example.com" } ], "extra": { "installer-paths": { "httpdocs/wp-content/plugins/{$name}": [ "example/myplugin" ] } } } 

Y el composer.json dentro de la carpeta myplugin:

 { [...] "license": "proprietary", "require": { [...] }, "type": "wordpress-plugin", "autoload": { "classmap": [ "controllers", "lib", "models" ] } } 

En example.com instalé un repository privado de compositores estáticos (satis). Hasta ahora todo bien, puedo instalar todas las dependencies, myplugin y las dependencies myplugin con la installation de php composer.phar install en la carpeta raíz.

Ahora comienzan los (mis) problemas:

  • Actualización: myplugin es un package de compositor, no un submodule de git. ¿Cómo puedo actualizar el package mientras desarrollo y pruebo? Con un submodule de Git podría simplemente comprometer e impulsar los cambios, pero con el package de compositor tengo que mantener el repository git para mi complemento en otro lugar y actualizar desde allí, ¿correcto?
  • Carga automática: moví el parámetro de autocarga desde root composer.json al myplugin composer.json . Pero ahora el autocargador no funcionará correctamente. Puedo reinstalar las dependencies del compositor sin problemas, y reemplacé la ruta (antes: httpdocs /…/ myplugin / controllers, ahora: controlleres)

Estuve buscando aproximadamente 6 horas, pero no hay información sobre esto (o busqué las palabras key incorrectas)

Esto solo responde a una parte de su pregunta, pero si agrega la url git al composer.json de su proyecto raíz como un repository de git, Composer hará un clon en el directory del complemento. Eso te permitirá comprometerte directamente.

Ejemplo:

  "repositories": [ { "type": "git", "url": "git@github.com:my-git-name/my-plugin.git" }, ... ]