metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2016-08-16 04:35 pm

Тул или пару строчек на баше?

https://github.com/ahmetalpbalkan/govvv
Софтина на голанге, вызывающая go build с параметрами, устанавливающими переменные с версией, датой сборки, идентификатором ревизии гита и прочим таким.
Я бы в жизни не додумался искать такую софтину, сделал бы в скрипте вызов $(git rev-parse HEAD) и впихнул ее вывод в -ldflags, а вот однако ж - бывает. Хрен знает, насколько хорошо тащить все червей из всех закоулков гитхаба ради условного "взять готовое решение".

[identity profile] sbj-ss.livejournal.com 2016-08-16 05:38 pm (UTC)(link)
Пытаться перехватывать на шелле исключения - ой-вей, таки спасибо, пытался. set -e - ну его фтопку, поведение меняется от версии к версии, условия срабатывания trap неочевидны. Плюс попытки перехватить при этом stderr выливаются в фоновый слушатель и подобный секс в гамаке и стоя.
Тоже переписал на перле, да :)

[personal profile] ex0_planet 2016-08-17 03:43 pm (UTC)(link)
Дак не надо секс в гамаке, исключения там и все вот это вот. Задача обсуждаемого двухпятистрочника — всосать пяток переменных из контроля версий — чуть что не так и досвидос. Эксепшн один — exit 255.