Я хотел бы передать некоторые настраиваемые конфигурации для каждого исполняемого файла / библиотеки (в идеале целый пакет пар ключ-значение, но как минимум один String
) из моего файла .cabal
полностью в Setup.hs
s buildHook
.
Для справки, параметры buildHook
:
buildHook
:: PackageDescription
-> LocalBuildInfo
-> UserHooks
-> BuildFlags -> IO ()
Так что я надеюсь на что-то в PackageDescription
library
/ executables
поле, которое дает мне доступ к настраиваемым полям, не прерывая всех других фаз Кабала, которые я мог бы поместить в файл .cabal
. Вот выдуманный пример, который в основном был бы настолько хорош, насколько это возможно:
...
executable my-exe
main-is: my-main.hs
...
plugin-args:
myplugin:
foo: bar
baz: quux
, чтобы я мог получить все myplugin
пары ключ / значение, чтобы получить "foo" |-> "bar", "baz" |-> "quux"
в какой-то ассоциативной структуре данных, например HashMap
.
Обратите внимание, что я уже совершаю жестокое насилие в моем Setup.hs
, поэтому любые хакерские предложения приветствуются. При необходимости я могу переопределить ВСЕ Setup.hs
хуки, чтобы игнорировать некоторые настройки во всем, кроме buildHook
, если это необходимо для какого-то решения.