]> Kevux Git Server - fll/commit
Feature: Implement IKI support in controller program.
authorKevin Day <thekevinday@gmail.com>
Sun, 27 Feb 2022 00:31:48 +0000 (18:31 -0600)
committerKevin Day <thekevinday@gmail.com>
Sun, 27 Feb 2022 00:31:48 +0000 (18:31 -0600)
commitc814ae2f2f1b90ebe974ef4362a4cd32c28c370a
tree181db7a650a35e59cd2e8599a58eb89c4ed82d10
parentf5a1a5a17915c79b03b828b80b4858d7d68513d5
Feature: Implement IKI support in controller program.

The functionality is designed to mimic some of the design used in Featureless Make in regards to IKI variables.

There are now "define", "parameter", and "program" IKI vocabularies available.

The "program" should probably have some sort of security property in an Entry to restrict its use.
There is a likelyhood of some design not wanting to expose the program parameters to the Rule.
I may also want to implement a "time" vocabulary in the future (likely to happen no sooner than FLL-0.5.0).

It appears that the define environment variables are not being exported as expected.
This is either an existing bug or a problem in the new feature.
Having reviewed this, I suspect that the problem is in the existing design.
A follow up commit will address this issue.

The --simulate and --test displays any loaded IKI variables.
16 files changed:
level_3/controller/c/common/private-cache.c
level_3/controller/c/common/private-cache.h
level_3/controller/c/common/private-common.c
level_3/controller/c/common/private-common.h
level_3/controller/c/common/private-rule.c
level_3/controller/c/common/private-rule.h
level_3/controller/c/common/private-state.h
level_3/controller/c/controller.h
level_3/controller/c/entry/private-entry.c
level_3/controller/c/rule/private-rule.c
level_3/controller/c/rule/private-rule.h
level_3/controller/c/rule/private-rule_print.c
level_3/controller/c/rule/private-rule_print.h
level_3/controller/data/settings/example/entries/iki.entry [new file with mode: 0644]
level_3/controller/data/settings/example/rules/script/iki.rule [new file with mode: 0644]
level_3/controller/documents/rule.txt