Какие рекомендации для "простой" системы шаблонов? - PullRequest
0 голосов
/ 12 октября 2018

На основании Как мне сделать несколько целей из набора шаблонов для источника? , я бы хотел сейчас реализовать движок шаблонов с простым набором символов.

Я вполнедоволен использованием sed для прямых замен, но я бы также хотел условные выражения.

Так, например, если шаблон выглядел так:

This is the file for engine:#if version != 'latest'##version#-#endif#alpine

Вывод для разных версий (7.0 и более поздние, например).

This is the file for engine:7.0-alpine
This is the file for engine:alpine

Запись в sed, хотя это возможно, означает, что мне нужно несколько изобретать колесо.

Какие рекомендации для простых шаблонов доступныдля среды Unix?

1 Ответ

0 голосов
/ 12 октября 2018

GNUmake - полный, но довольно неуклюжий функциональный язык программирования.Плюсом этого является то, что вы достаточно свободны для написания кода, как вам нравится, потому что а) нет «церкви GNUmake», которая бы смотрела свысока на ваш стиль кодирования, и б) она все равно выглядела бы безобразно.Тем не менее, небольшая помощь от исходной библиотеки, которая скрывает большую часть странностей, не является плохим советом.

С gmtt ваш пример может выглядеть так:

include gmtt.mk

version = latest

VERSION_STR = $(if $(call str-eq,$(version),latest),,$(version))
$(info This is the file for engine: $(VERSION_STR)alpine)
...