Jakie wersje komponentów Symfony są używane od rdzenia?

13

Z jakiej wersji Symfony korzysta Drupal dla komponentów Symfony? Czy celem jest obsługa najnowszych wersji komponentów, czy jest to po prostu niemożliwe?

Hyperfocus1337
źródło
2.x, ale wygląda na to, że 8.3.x został zaktualizowany do Symfony 3.x. drupal.org/node/2743809
Kevin
@Kevin Ta łatka została cofnięta. Istnieją obecnie osobne problemy dla Symfony 3.1 i Symfony 3.2. Każdy ma swoje własne wyzwania z powodu awarii API.
mpdonadio

Odpowiedzi:

12

Bardziej trafne jest stwierdzenie, że Drupal 8 używa komponentów Symfony, a nie wszystkich Symfony. Jeśli spojrzysz na „core / composer.json”, zobaczysz wszystkie poszczególne komponenty, których używa Drupal. Dokładne instalowane wersje są wymienione w pliku „composer.lock”.

Drupal 8.2.x używa wersji 2.8 tych komponentów.

W przypadku Drupal 8.3.x istnieją problemy związane z aktualizacją do wersji 3.1 i 3.2 , ale nadal są w toku. (Myślę, że może występować problem z 3.3, ale nie mogę go znaleźć).

Celem jest, aby rozpocząć śledzenie wersji 3.x, ale konwersja nie była prosta.

mpdonadio
źródło
2
Jeden dodatek: composer.lock to plik, który określa, które wersje są dokładnie używane. Jednym z problemów jest to, że korzystanie z przepływów pracy opartych na kompozytorze może z łatwością skutkować aktualizacją takich składników i może powodować problemy, jeśli nie jest to wersja, która została wyraźnie przetestowana. @webflo dostarcza pakiet, który nie robi nic, ale zawiera composer.json, który ma dokładne zależności, jakie ma każda podstawowa wersja: github.com/webflo/drupal-core-strict . Jeśli go użyjesz, możesz być pewien, że nigdy przypadkowo nie zaktualizujesz żadnej z tych zależności.
Berdir,
Dzięki @Berdir. Ważna jest nieco dokładna wersja. Wahałem się, czy wspomnieć o pliku blokującym, ponieważ trudno mi je odczytać, i na pierwszy rzut oka nie zawsze jest jasne, kiedy pakiet jest tam, ponieważ jest to podstawowa zależność, lub tam, ponieważ wymaga tego coś innego.
mpdonadio
Czy nadal tak jest? Muszę napisać niestandardowy moduł dla witryny Drupal 8 i próbuję zdecydować, z której Symphony skorzystać.
MadPhysicist,
1
@MadPhysicist Drupal 8.3.0 zostanie dzisiaj oznaczony tagiem. Wygląda na to, że będzie to 2.8.16 (co jest w RC2) lub 2.8.18 (co jest w HEAD). Plan polega na zatwierdzeniu wersji 3.2.X (prawdopodobnie 3.2.7, która wyszła dziś rano i jest obecnie testowana) do wersji 8.3.X wkrótce po tym, aby było wystarczająco dużo czasu, aby naprawić wszelkie problemy, które pojawią się przed wersją 8.4.0. Aktualizacja 2.8-> 3.2 nie była łatwa i istnieją obawy, że mogą wystąpić problemy, których nie znajdzie test. Nie wiem, czy czas na 3.3 był już dyskutowany, ponieważ nie jest to jeszcze oficjalne wydanie.
mpdonadio
Widzę. Oprócz projektu Drupal, czy wiesz, czy reszta świata jest w zasadzie na Symphony 3? Dzięki za informację.
MadPhysicist,
4

Aby to sprawdzić samodzielnie, niezależnie od używanej wersji Drupala, możesz po prostu zapytać kompozytora:

composer info | grep -E '^symfony'

Lub dla indywidualnego pakietu:

composer info symfony/yaml
Cameron
źródło
3

Od wersji Drupal 8.4.3 tutaj znajdują się wersje bibliotek Symfony i innych ściśle powiązanych bibliotek określonych w core / composer.json:

"php": ">=5.5.9",
"symfony/class-loader": "~3.2.8",
"symfony/console": "~3.2.8",
"symfony/dependency-injection": "~3.2.8",
"symfony/event-dispatcher": "~3.2.8",
"symfony/http-foundation": "~3.2.8",
"symfony/http-kernel": "~3.2.8",
"symfony/routing": "~3.2.8",
"symfony/serializer": "~3.2.8",
"symfony/translation": "~3.2.8",
"symfony/validator": "~3.2.8",
"symfony/process": "~3.2.8",
"symfony/polyfill-iconv": "^1.0",
"symfony/yaml": "~3.2.8",
"twig/twig": "^1.23.1",
"doctrine/common": "^2.5",
"doctrine/annotations": "^1.2",
"symfony-cmf/routing": "^1.4",
"symfony/psr-http-message-bridge": "^1.0",

Można je ogólnie aktualizować za pomocą composer update( pełne informacje o kompozytorze ). Symfony 4 ukazał się kilka tygodni temu i istnieją również 3.3 wersje bibliotek. Wygląda więc na to, że drupal 8 drobne wydania pozostaną w tyle za wydaniami Symfony, ale nie przestaną się ruszać.

HongPong
źródło