Size: a a a

2019 December 26

ŹR

Źmićer Rubinštejn in ErlangRus
Сергей Иванов
а, понял - так это зависит не от sys.config же, а от того модуля который эти пути принимает
Если считать sys.config тупым - да. Но вдруг он или ребар достаточно умный чтобы трансформировать какую-то относительную конструкцию в абсолютный путь ВНУТРИ priv после компиляции
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Если считать sys.config тупым - да. Но вдруг он или ребар достаточно умный чтобы трансформировать какую-то относительную конструкцию в абсолютный путь ВНУТРИ priv после компиляции
это не очень логично, а в какую функцию передаются полученные пути?
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Сергей Иванов
это не очень логично, а в какую функцию передаются полученные пути?
В кучу каких-то пользовательских функций, принимающих абсолютный путь
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Можно каждую из них обернуть, чтобы они принимали ИЛИ абсолютный, или внутри priv - но это больно
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Можно в app.start читать get_env, а потом писать в put_env - но это выглядит максимально костыльно
источник

ŹR

Źmićer Rubinštejn in ErlangRus
В идеале ребар, на этапе копирования sys.config уже знает абсолютный путь новой priv папки и подсовывает его в нужные места
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Можно каждую из них обернуть, чтобы они принимали ИЛИ абсолютный, или внутри priv - но это больно
sys.config этоже просто конфиг. он не понимает что у тебя там путь - это прикладной уровень.
а относительный путь - это еще один прикладной уровень. ты вот считаешь что относительно priv, а дядя что относительно beam
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
В идеале ребар, на этапе копирования sys.config уже знает абсолютный путь новой priv папки и подсовывает его в нужные места
для этого уесть config.src да, которые на момент компиляции выполняются
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Сергей Иванов
sys.config этоже просто конфиг. он не понимает что у тебя там путь - это прикладной уровень.
а относительный путь - это еще один прикладной уровень. ты вот считаешь что относительно priv, а дядя что относительно beam
Да, но sys.config же копируется ребаром - так что ему мещает добавить в него parse_transform какие-нибудь?
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Сергей Иванов
для этого уесть config.src да, которые на момент компиляции выполняются
Подробнее можно?
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Подробнее можно?
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Подробнее можно?
{sys_config_src, "config/sys.config.src"},
       {vm_args_src, "config/vm.args.src"},

https://www.rebar3.org/docs/releases
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Подробнее можно?
или я не понял что ты хочешь сделать?
в сам конфиг можно включать другие конфиги еще как вариант, но они тоже или от исходного ищут или от рабочего
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Сергей Иванов
или я не понял что ты хочешь сделать?
в сам конфиг можно включать другие конфиги еще как вариант, но они тоже или от исходного ищут или от рабочего
Да, есть что-то.

Ну я хотел, чтобы в sys.config.src

Можно было написать

{my_key, %PRIV_PATH%+”my_file”}
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Либо просто “/absolute/path/to/my_file”
источник

ŹR

Źmićer Rubinštejn in ErlangRus
И соответственно для разных окружений было по разному
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
И соответственно для разных окружений было по разному
конфигурирование erlang дубоватое, но много дырок где залезть можно

вот еще такая
http://erlang.org/doc/man/systools.html#make_script-1
источник

DF

Dmitry Frolov in ErlangRus
Кстати, logger, если указать в sys.config абсолютный путь к файлу с логами (например /var/log/xxx/console.log), всё равно делает ./log/erlang.log и еще парочку файлов
источник

DF

Dmitry Frolov in ErlangRus
особо не парился решил симлинками
источник

DF

Dmitry Frolov in ErlangRus
может и тебе симлинки помогут?
источник