Size: a a a

2019 November 29

A

Alexxz a15e in ErlangRus
Привет, у меня несколько необычный вопрос. Я на эрланге писал 10 лет назад. С инструментами типа ребара тогда и не работал. С тех пор инфраструктура очень сильно убежала вперед. Задумал я тут реанимировать один заброшенный пакет (его лет 8 уже не трогали). И обнаружил вагон и маленькую тележку всяких непонятностей, ад из протухших версий и зависимостей.. Реанимировать решил до 22. Некоторые вещи сумел расковырять и пофиксить сам. Некоторые даже не представляю как нагуглить нормально. Вопросы у меня такие. Вот возникают при компиляции ( rebar3 compile) зависимостей ворнинги и ошибки. Где правильно править код? Как сделать свой форк устаревшего компонента для внесения правок? Как перекомпилировать зависимости, чтобы посмотреть все ворнинги заново? 8))
источник

AV

Andrey Velikiy in ErlangRus
а со старым Эрлангом работает? может не стоит овчинка выделки? старое окружение можно завернуть в докер, например
источник

AV

Andrey Velikiy in ErlangRus
перекомпилировать - сделать rebar3 clean --all например
источник

A

Alexxz a15e in ErlangRus
Andrey Velikiy
а со старым Эрлангом работает? может не стоит овчинка выделки? старое окружение можно завернуть в докер, например
Не у всех зависимостей остались артефакты работающие со столь старыми Эрлангами 8)
источник

AV

Andrey Velikiy in ErlangRus
внешние артефакты? опишите подробнее
источник

A

Alexxz a15e in ErlangRus
Andrey Velikiy
внешние артефакты? опишите подробнее
У проекта были зависимости на старые версии компонентов, которые десять лет развивались и более не содержат версий совместимых со столь старым Эрлангом.
источник

A

Alexxz a15e in ErlangRus
Andrey Velikiy
перекомпилировать - сделать rebar3 clean --all например
О, спасибо. не догадался до этого флага.
источник

A

Alexxz a15e in ErlangRus
Да и в конце концов - это просто фан проект. Нет смысла тянуть его назад. 8)
источник

AV

Andrey Velikiy in ErlangRus
вижу так: часть компонентов - новые, старых исходников нет; часть - старые и не компилируются новым Эрлангом. Тогда - форкать старые, обновлять их до совместимости. Или искать им замену. Или искать старые исходники новых компонентов. Или переписать с нуля. Мало подробностей
источник

AV

Andrey Velikiy in ErlangRus
кстати: вопрос по несоответствию версий зависимостей не является необычным...
источник

A

Alexxz a15e in ErlangRus
Andrey Velikiy
вижу так: часть компонентов - новые, старых исходников нет; часть - старые и не компилируются новым Эрлангом. Тогда - форкать старые, обновлять их до совместимости. Или искать им замену. Или искать старые исходники новых компонентов. Или переписать с нуля. Мало подробностей
Все так и есть. Вопрос в том - есть ли механизмы для форка? Вот есть зависимость A -> B -> C. И мне надо внести правки в C. Я могу это делать в рамках директории с проектом A? Или мне надо форкать B и C. Вносить правки в C. Менять зависимости в A и B на свои форки и только тогда продолжать работать с A
источник

AV

Andrey Velikiy in ErlangRus
>Я могу это делать в рамках директории с проектом A?
это-то как? для ребара3 - в каталоге _build/blabla ? можно для предварительной оценки правки. но идеологически правильно - править в форке. чтобы править сразу в нескольких репозиториях (зависимостях) - используйте встроенный механизм ребара - симлинки в _checkouts
источник

DF

Denis Fakhrtdinov in ErlangRus
Звучит так, будто нужно заигнорить ворнинги и заставить это дело работать.
источник

DF

Denis Fakhrtdinov in ErlangRus
А потом уже ковырять дальше.
источник

A

Alexxz a15e in ErlangRus
Andrey Velikiy
>Я могу это делать в рамках директории с проектом A?
это-то как? для ребара3 - в каталоге _build/blabla ? можно для предварительной оценки правки. но идеологически правильно - править в форке. чтобы править сразу в нескольких репозиториях (зависимостях) - используйте встроенный механизм ребара - симлинки в _checkouts
...идеологическая оценка... Ну, в апстрим я ее пока пушить не собираюсь. Да и пушить что либо на гитхаб не вижу смысла, пока не оживлю проект. Про _checkouts посмотрю. Спасибо.
источник

AV

Andrey Velikiy in ErlangRus
нет. я говорил *идеологически правильно.* В Вашем случае _checkouts - самое то
источник

A

Alexxz a15e in ErlangRus
Denis Fakhrtdinov
Звучит так, будто нужно заигнорить ворнинги и заставить это дело работать.
Кабы  только ворнинги. Падающий lager_transform. Переименованные стандартные модули. В ворнингах сообщения вида:я ща тебе скомпилирую, но в рантайме оно упадет.
источник

DF

Denis Fakhrtdinov in ErlangRus
Так ведь понятно, что придется поработать :)
источник

A

Alexxz a15e in ErlangRus
Andrey Velikiy
нет. я говорил *идеологически правильно.* В Вашем случае _checkouts - самое то
Пардон. Я хотел написать "...предварительная оценка..."
источник

A

Alexxz a15e in ErlangRus
Andrey Velikiy
нет. я говорил *идеологически правильно.* В Вашем случае _checkouts - самое то
Да, чекауты это именно то что я искал! Большое спасибо.
источник