Можно ли использовать функцию архива композитора для локального сжатия проекта?

Можно ли использовать функцию архивирования композитора для локального сжатия проекта (аналогично использованию zip)? Например, я попробовал composer archive my-repo/project --format=zip --file test-archive. Это сработало в том смысле, что он создал zip-файл с именем test-archive, но композитор сделал это, сначала зайдя в мой репозиторий Satis и вытащив копию проекта.

Я также определил это в моем composer.json

"archive": {
        "exclude": [
            ".*",
            "!.gitignore",
            "node_modules/",
            "vendor/",
            "www/",
            "composer/",
            "*.lst",
            "*.yml"
        ]
    }

То, что я пытаюсь сделать, это использовать функцию архивирования как часть процесса сборки конвейеров битбакета. Цель состоит в том, чтобы сжать файлы проекта (за исключением некоторых) и передать их на страницу загрузок репозитория Bitbucket. У меня есть рабочий шаг с использованием zip, но в архиве используется лучший синтаксис для исключения файлов.


person aberkow    schedule 08.08.2017    source источник


Ответы (1)


Хорошо, теперь я чувствую себя немного глупо, но, поскольку кто-то любезно проголосовал за вопрос, я отвечу на него. Документация меня немного смутила. Composer на самом деле не нуждается в my-repo/project для правильного сжатия файла. Поэтому, если вы сделаете composer archive --format=zip --file test-archive, он будет сжат в корне вашего проекта.

person aberkow    schedule 08.08.2017
comment
NB - если вам нужно /vendor, обязательно включите его явно, используя "!vendor/*", а не исключая его, как в предыдущем вопросе. - person aberkow; 22.08.2017
comment
Как именно я могу включить свою папку поставщика? - person fnagel; 30.06.2020
comment
В файле composer.json вы можете объявить свойство archive с подсвойством exclude. Вы можете явно указать каталог или файл, например "!vendor/*" или !fileName. Я не думаю, что команда cli composer принимает параметры включения/исключения - person aberkow; 30.06.2020