композитор в глотке сборки и развертывания - PullRequest
0 голосов
/ 07 июня 2018

Как заставить компоновщик правильно устанавливать зависимости при использовании сборки gulp?

Мой процесс сборки настроен для вывода в заданное расположение, либо ../sites/www/public_html, либо ../sites/dev/public_html в зависимости от того, является ли аргумент средыперешел к глоткуЭти места в основном отражают мой удаленный хост.

Я хочу автоматизировать установки, обновления и оптимизацию композитора для вывода правильных файлов вендора либо в ../sites/www/vendor, либо в ../sites/dev/vendor при каждом запуске сборки или простооптимизировать, основываясь на любых просматриваемых php-файлах.

Моя папка сборки имеет следующую структуру:

source/
bower.json
composer.json
composer.lock
gulpfile.json
package.json

Мой пример composer.json имеет следующее:

{
    "name": "mycomposer/mycomposer",
    "version": "1.0.0",
    "autoload": {
        "psr-4" : {
            "mycomposer\\": "public_html/app/mycomposer"
        }
    },
    "require": {
        "rollbar/rollbar": "^1.3",
        "vlucas/phpdotenv": "^2.4.0"
    }
}

Я попробовал gulp-compose и задачу для установки библиотек композитора и запуска dumpautoload для локальных сторонних библиотек

gulp.task('composer', function() {

  var dest = argv.live ? 'www' : 'devsite',
     env = '../sites/' + dest + '/public_html';

  $.composer('config vendor-dir ' + env.replace('public_html', 'vendor') );

  $.composer({
    "no-ansi": true,
    "no-dev": true,
     "no-interaction":  true,
     "no-progress":  true,
     "no-scripts":  true,
     "optimize-autoloader": true
  });

  $.composer('dumpautoload ', {
    optimize: true
  });
});

Когда задача будет выполнена, я обнаружу, что $baseDirпеременная ссылается на каталог сборки

Ожидается

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

Вывод

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname(dirname(dirname($vendorDir))).'/mybuild';

Это то, что я могу достичь,или мне действительно нужно запускать composer отдельно от процесса сборки?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...