Desarrollo del compositor
En este tema se describe el método recomendado para desarrollar módulos Composer in situ (como repositorios Git en el directorio vendor/
) y agregar esos módulos al proyecto Git principal.
Preparación de una rama de desarrollo
-
Cree o retire la rama de desarrollo en su repositorio principal de Git.
-
Requerir versiones de desarrollo para cada módulo que mantenga.
En este ejemplo, cada rama del repositorio principal de Git representa una versión del paquete Composer. La convención de nombres recomendada para las versiones de Compositor en este escenario es
dev-
seguida del nombre de la rama. Por ejemplo:dev-develop
dev-qa
code language-bash composer require client/module-example:dev-develop
-
Si otro paquete Composer requiere una versión específica de un módulo (por ejemplo,
client/module-example 1.0.12
), instálelo con un alias:code language-bash composer require 'client/module-example:dev-develop as 1.0.12'
Para la rama
qa
, reemplacedev-develop
pordev-qa
.
Conversión de paquetes a repositorios Git
De manera predeterminada, los paquetes no contienen un directorio .git/
. Composer puede extraer paquetes de Git en lugar de usar los paquetes predefinidos de Composer. La ventaja de este enfoque es que puede modificar fácilmente los paquetes durante el desarrollo.
-
Quite el módulo del directorio
vendor/
.code language-bash rm -rf vendor/client/module-example
-
Vuelva a instalar el módulo con el origen Git especificado.
code language-bash composer install --prefer-source
-
Compruebe que el paquete Composer sea ahora un repositorio Git:
code language-bash cd vendor/client/module-example git remote -v
-
Para convertir varios módulos en repositorios Git por lotes (por ejemplo, módulos "cliente"):
code language-bash rm -rf vendor/client composer install --prefer-source
Iniciar desarrollo
-
Cree o extraiga una función o rama de trabajo. El siguiente ejemplo muestra una rama con el mismo nombre que un ticket Jira.
code language-bash cd vendor/client/module-example git checkout master git checkout -b JIRA-1200
-
Después de cambiar las ramas de un módulo, vea los cambios vaciando la caché de Adobe Commerce y el contenido estático.
code language-bash bin/magento cache:flush bin/magento module:enable --all --clear-static-content
Actualizar el proyecto principal con el desarrollo
Actualice el repositorio principal de Git modificando el archivo composer.lock
. Si el módulo es nuevo, actívelo.
# to update your packages and all dependencies of the package
composer update --with-all-dependencies client/module-example
# to update just your package
composer update client/module-example
bin/magento module:enable Client_ModuleExample
git add composer.lock app/etc/config.php
git commit