Composer endpoints теперь из бета-версии

Ср, 18/01/2017 - 22:48

Теперь Composer endpoints на Drupal.org стал доступен в бета-версии... В течение некоторого времени, и мы начали замечать - многие, многие люди используют Composer для управления модулями и темами Drupal. Сначала мы запустили эти репозитории перед DrupalCon New Orleans как альфа-версии, и перешли в бета-версию несколько месяцев спустя. После получения обратной связи и отчетов об ошибках мы сделали обновления, и готовы назвать эту услугу стабильной.

http://www.img.studioviza.ru/Shot8mf7h.png

Что такое Composer?

Composer является инструментом для управления зависимостями в PHP. Это позволяет объявлять ваши библиотеки проекта зависимыми, и управлять ими (установка / обновление) .
... Идеи Composer черпались из node's npm, а так же - ruby's bundler "-. Источник
В двух словах, Composer позволяет объявлять зависимости вашего проекта на composer.json файл в корневом каталоге вашего проекта PHP. Зависимости, которые вы установите с помощью Composer, могут иметь свои собственные composer.json файлы и свои собственные зависимости - все из которых будут автоматически управляемые и установленные Composer. Когда вам нужен специфический контроль над версиями зависимостей, вы можете использовать composer.lock файл.

Вы можете прочитать больше о Composer в GetComposer.org .

Как работают Composer в репозиторях Drupal.org ?

Drupal.org предлагает два Composer репозитория - один для Drupal 7, другой для Drupal 8. Composer требует, чтобы пакеты придерживались семантического управления версиями, что работает в ядре Drupal 8, но... не работает в контриб-версиях модулей Drupal 8, и Drupal 7. Чтобы решить эту проблему, мы создали Composer фасад, который принимает все метаданные о проектах на Drupal.org и переводит их в формат чтения, в том числе перевод на Drupal, специфических для управления версиями Drupal 7, а так же - в семантическом управления версиями ,

Создавая эту оболочку, мы убедились , что Drupal.org по прежнему является каноническим источником для метаданных о проектах Drupal.org, и что мы можем обновить эти переводы, по мере изменения схемы управления версиями. (Узнайте больше о попытке переместить проекты CONTRIB к семантическим управления версиями ).

В дополнение к предоставлению endpoints для создаваемых проектов, в Drupal автоматизировано тестирование люкс - DrupalCI -Оно теперь использует Composer для тестирования ядра Drupal и благоприятствует проектам. Это позволяет разработчикам тестировать любые внешние зависимости.

Как использовать Composer из репозиториев Drupal.org ?

Для того, чтобы начать использовать Composer с репозиториев Drupal.org, вы должны будете обновить файл composer.json включив соответствующий репозиторий Composer для версии Drupal.

Чтобы использовать Composer с Drupal 7, наберите URL репозитория:
https://packages.drupal.org/7

, Чтобы использовать Composer с Drupal 8, наберите URL репозитория:
https://packages.drupal.org/8
, Как в этом примере.

После установки Composer, просто запустите следующую команду:

<?php$ composer config repositories.drupal composer https://packages.drupal.org/8?>
И ещё, composer.json вашего проекта должен быть обновлен, чтобы выглядеть следующим образом:

<?php{ 
    "repositories": { 
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8" 
        }
    }
}?>

После того, как вы сделали это изменение, вы можете использовать Composer для работ с модулями и темами Drupal, как и для любого другого пакета PHP, используя drupal/namespace:

<?php$ composer require drupal/<modulename>?>
Существует один нюанс в схеме: есть некоторые столкновения namespace между модулями, и поэтому на нашем roadmap для обновления страниц проекта Drupal.org указать точное namespace, для использования требуемого конкретного проекта.

Чтобы узнать больше о том , как использовать Composer репозиториев Drupal.org, и некоторые советы по устранению неполадок, прочитайте документацию проекта Composer .

Подробнее о лицензировании.

Все проекты , размещенные на Drupal.org имеют лицензии GPLv2 или более поздней версии или иметь entry in the packaging whitelist. Это означает , что вы можете рассчитывать на Ядро Drupal-а и дополнительных модулей и тем , чтобы иметь лицензию GPL . А если вам нужно перераспределить свой код , созданный с помощью проектов Drupal, он должна быть перераспределена в GPL-2.0 или GPL-3.0, но обратите внимание , что Drupal.org будет размещать только GPL-2.0 лицензированные проекты.

Однако, поскольку Composer является инструментом, который может управлять пакетами в более широкой PHP экосистеме, вы можете не требовать GPL пакет в проекте. Использование GPL-лицензированных проектов Drupal с внешними пакетами, которые совместимы GPL хорошо.

Просто надо знать, что если вы распространяете этот код, вам придется перераспределить под лицензией GPL.

Мы не можем предоставить юридическую консультацию для использования программного обеспечения с открытым исходным кодом. При использовании Composer для установки пакетов, которые не совместимы с GPL наряду с GPL-лицензированных проектов, таких как Drupal, вы можете использовать это программное обеспечение, но согласно условиям лицензии GPL вы не можете копировать, распространять или модифицировать это программное обеспечение.

"Кроме копирования, распространения и модификации, не подпадает под действие этой Лицензии, они находятся вне его сферы Акт запуска программы не ограничивается ...." GPL 2.0 Section 0. .

Для большего количества вопросов о Drupal и GPL вы можете прочитать о лицензировании FAQ .

КОМАНДА COMPOSER "ЛИЦЕНЗИИ"

Если вам необходимо проверить , какие лицензии используются по вашим Composer установленным зависимостям, вы можете использовать команду лицензий :

<?php$ composer licenses?>

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

Что дальше?

На данный момент, услуга Composer Drupal.org стабильна, и вы можете использовать его для управления модулями и темами в ваших действующих веб-сайтов. Тем не менее, у нас есть план дополнительных функций, которые мы хотели бы добавить. И ваши вклады приветствуются!

Поскольку развитие на службе Composer Drupal.org продолжается, мы хотим , обратить ваше внимание на следующих особенностях:

Поддержка Composer на основе рабочих процессов для дистрбютивов и инсталл-профайлов

Предоставление sub-tree splits в ядро Drupal

Обновление страниц проекта для предоставления информации об использовании Composer с любой заданной Drupal .org точки состояния проекта

Добавление функций к службе обновлений, сбор статистических данных о проектах , установленных с Composer, а также изучение функционала оповещений об обновлениях внешних зависимостей
Мы также надеемся работать с основными сопровождающими , чтобы улучшать Composer в репозитории Drupal.org Drupal с JSON

Если вы заинтересованы в получении дополнительной информации о нашей дорожной карты для композитора, или вклад в эту службу по Drupal.org, вы можете узнать больше в вопросе плана композитор .

Как ты - можешь помочь?

Если вы заинтересованы в помощи , чтобы улучшить поддержку Drupal.org в Composer для рабочих процессов, пожалуйста , обратите внимание на вопрос выше, найдите нас на ИРЦ в # Друпал-инфраструктуры, или отправьте нам своё предложение .

Благодарим наших авторов

Мы хотели бы поблагодарить людей , которые работали с нами в рамках данной инициативы Сообщества .
В частности, мы хотели бы поблагодарить:

seldeak создателя Composer и Packagist.org
webflo создателем и хранителем http://packagist.drupal-composer.org .
timmillwood
dixon_
badjava
cweagans
tstoeckler
Мы также хотели бы поблагодарить Appnovation , который спонсировал начальное развитие Composer endpoints.

Для этих добровольцев и организаций-спонсоров, это ваш опыт, ваше понимание, и ваше утверждение нашей работы, которые делают эти сообщества успешными. Спасибо!

Источник Оригинал перевода

Технический перевод мой, просьба обратить внимание на огрехи текста, буду благодарен за ненавязчивую коррекцию в комментариях.

3 Спасибо

Комментарии

Аватар пользователя multpix
2 months 5 дней назад multpix #

Костян, очень сырой перевод)

1 Спасибо
Аватар пользователя Studio VIZA
2 months 5 дней назад Studio VIZA #

Три часа жоской работы ёклмн )

0 Спасибо
Аватар пользователя ХулиGUN
2 months 5 дней назад ХулиGUN #
multpix написал:
Костян, очень сырой перевод)

Удел друпала - х*як, х*як и в продакшн

1 Спасибо
Аватар пользователя multpix
2 months 5 дней назад multpix #

Яж просил - дай настояться.
Утром бы на свежую голову прочел - и исправил бы налету за пять мин.

Ну ниче, отредактируем по свободе)

Если есть желание - докинь в самый низ под заголовком - статьи по теме мой перевод про композер.

Ху ли GUN написал:

Мною замечено прямо противоположное:
Сначала код в продакшн, а потом там-же х*як, х*як, пока не рассыпется...
А затем - сюда с легендой по типу: Досталось по наследству...
))))

0 Спасибо
Аватар пользователя mbaev
2 months 5 дней назад mbaev #

Эх, поторопышка)

1 Спасибо
Аватар пользователя mbaev
1 неделя 3 дня назад mbaev #

А давайте через пару месяцев еще раз соберемся?
Может еще что-то "полезное" появится...

3 Спасибо
Аватар пользователя Studio VIZA
1 неделя 3 дня назад Studio VIZA #

Это я один раз не оплатил работу своей переводчицы, вернее решил обойтись, плюс игнорировал помощь коллег. В итоге- как всегда фейл.

https://www.img.studioviza.com/Shotjc4sb.png

0 Спасибо