[8b2badf50ea88c1f001e86fccd0b433f2c280503]
#redo #tcl
jimredo
http://www.git.stargrave.org/?p=jimredo.git&f=/jimredo
У нас попадаются платформы/архитектуры, где нет Go. Как минимум, из
коробки нет и просто так не собрать. И есть софт, использующий для
сборки redo. Пока я не попал в ситуацию когда его пришлось собирать
там, где нет Go (а значит и goredo), но решил заблаговременно решить
возможную проблему.
К каким-то Си реализациям у меня были претензии к корректности логики их
работы. shell реализации не все работают на BSD из коробки.
Минималистичный apenwarr/do на shell -- вроде прежде работал вполне себе,
но вроде и бывали проблемы какие-то.
Вместо того, чтобы ломать голову и тратить время на их проверку, решил
написать минималистичную реализацию на Jim Tcl. Исключительно чтобы она
могла с нуля собрать софт. То есть, никакого rebuild-ability -- все цели
всегда пересобираются. Например чтобы это использовать для сборки внутри
BASS или Buildroot какого-нибудь, где нет надобности в пересборке.
Реального кода, отвечающего за работу, вышло менее чем на 120 строк. Но
сверху добавил и redo-whichdo, разукрашивание цветами, управление "set -x"
при вызове целей. Просто потому что уж больного легко было сделать.
Проверил на паре рабочих проектов, где вовсю все фичи redo используются
(default файлы, в том числе с суффиксами, в том числе в других директориях).
Проверял чисто только руками. Наверняка где-то какие-то баги есть,
конечно же. Но в первом приближении вполне себе отработал и мог бы
использоваться для сборок без goredo.
Это также является и proof-of-concept-ом насколько (относительно) просто
redo, в противовес Make какому-нибудь.
[оставить комментарий]