Size: a a a

2021 April 20

ML

Maksim Lapshin in pro.elixir
Равно как и конфигурации, они вместе рядом
источник

DF

Denis Fakhrtdinov in pro.elixir
Да я просто хотел уточнить что подразумевается под тезисом, а не разводить срач.
источник

DF

Denis Fakhrtdinov in pro.elixir
И я пользуюсь дефолтным скриптом запуска, для большинства, думаю, его достаточно. Если у тебя что-то очень специфическое — да, стоит написать своё, наверное.
источник

ML

Maksim Lapshin in pro.elixir
Не, у меня как раз обычные требования: конфигурация, опции командной строки, environment
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Странно слышать «обычные требования» и «надо писать самому».

Если требования обычные и у вас есть решение - можно же oss поддержать
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Решил воспроизвести, проверить старые на новом rebar-е… Хочу создать простое приложение с именем rebar_test


rebar3 help new
Create rebar3 project based on template and vars.

Valid command line options:
 <template> [var=foo,...]

See available templates with: `rebar3 new help`


Ага, значит нужно теперь rebar3 new help. Просто help new - ничего не говорит.


Call `rebar3 new help <template>` for a detailed description
app (built-in): Complete OTP Application structure.


Ох, ближе, но имя то как передать?


rebar3 new help app
app:
built-in template
Description: Complete OTP Application structure.
Variables:
 name="mylib" (Name of the OTP application)


После трёх прыжков по help-у наконец-то, разобрался….

Смотришь new для mix-а:


Creates a new Elixir project. It expects the path of the project as argument.

   mix new PATH [--app APP] [--module MODULE] [--sup] [--umbrella]


Можно же просто, оказывается…Но в rebar-е нельзя….

Открываешь конфиг… Итак, какой же синтаксис для добавления зависимости в rebar-е? Что нам подскажет rebar?

{deps, []}.

Ладно, гуглим…

Открываем сгенерированное mix-ом:

     # {:dep_from_hexpm, "~> 0.3.0"},
     # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}

Неужели можно было так?

Ну ладно, добавляем зависимость, качаем её. Почему я не вижу её код?
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
А ещё я столкнулся с проблемой: {deps, [{meck, "0.8"}]}.

Поменял версию на meck 0.8
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Уже cache удалил, делал clean, делал get-deps
источник

DR

Dmitry Russ (Aleksan... in pro.elixir

application:get_all_key(meck).
{ok,[{description,"A mocking framework for Erlang"},
    {id,[]},
    {vsn,"0.9.2"},
    {modules,[meck,meck_args_matcher,meck_code,meck_code_gen,
              meck_cover,meck_expect,meck_history,meck_matcher,meck_proc,
              meck_ret_spec,meck_util]},
    {maxP,infinity},
    {maxT,infinity},
    {registered,[]},
    {included_applications,[]},
    {applications,[kernel,stdlib,tools,compiler]},
    {env,[]},
    {mod,[]},
    {start_phases,undefined}]}


Почему по-прежнему 0.9.2???

mix - если поменял зависимость тебе явно скажет и заставит перекомпилировать.
источник

VS

Vladimir Sekisov in pro.elixir
unlock или удалить lock файл
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Я вообще другой баг проверить хотел, но не ожидал, что так сложно создать приложение с новым rebar-ом и теперь не знаю, как downgrade-ить зависимость.

С mix-ом такое просто невозможно - за 6 лет таких диких проблем не было.
источник

IK

Ihor Katkov in pro.elixir
Вроде же можно mix использовать в эрланге, не?
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Денис выше спрашивал, что не так с rebar-ом по сравнению с mix-ом.
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Пытаешься воспроизвести старый кейс. Но натываешься на другие преграды. Далеко не пришлось ходить. Не успел воспроизвести, как пришлось просить помощь у чата.
источник

LL

Lama Lover in pro.elixir
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Одна из моих комманд, в прошлом - так и делала - компилировала Erlang проекты mix-ом (потому что компиляция и фетчинг зависимостей работало стабильно). Это даже не я начал, а другой человек в комманде :D

Начальнику это не понравилось, пришлось мейнтейнить mix и rebar файлы 🤦‍♂🤦🤦‍♀.
источник

AL

Anton Lapshin in pro.elixir
🤦‍♂🤦🤦‍♀ на выбор
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я недавно пользовался на суперсложном проекте, короче почти все работает 🤣🤣
источник

DR

Dmitry Russ (Aleksan... in pro.elixir

rebar3 compile
===> Verifying dependencies...
===> Upgrading meck v0.8.2
===> Analyzing applications...
===> Compiling meck
===> Compiling _build/default/lib/meck/src/meck_code_gen.erl failed
_build/default/lib/meck/src/meck_code_gen.erl:182: erlang:get_stacktrace/0 is deprecated and will be removed in OTP 24; use use the new try/catch syntax for retrieving the stack backtrace


А вооот и ошибка. Из-за неё, кстати, у нас был такой код в Makefile-е:


for DEP in deps/*/rebar.config ; do sed -ibak s/warnings_as_errors/report_warnings/g $$DEP; done


Elixir об этом тоже подумал, он такие опции при использовании как зависимости переписывает.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я даже реально смог замигрировать прод конфиг, хотя я был уверен что мы это недоделали
источник