Skip to content

design gap: missing rule inputs #100

@jonahbeckford

Description

@jonahbeckford

Before cram tests we had CommonsBase_Build.CMake0.Phony@3.25.3 in etc/dk/v/CommonsBase_Build/CMake0.Phony.values.jsonc which had the following note:

// USAGE: This is not meant to be called by end-users. It exists only because
// dk0 does not yet have static input dependencies for rules, so during `dk0 distribute`
// there is no way to distribute the CMake0.Bundle values (`dk0 distribute` correctly only exports
// objects and script modules). In fact, the lack of declaring rule inputs is a design gap
// that must be fixed before dk0 moves to arrows. So, "declareoutput" should be renamed to
// "declare" (?) and input assets/objects added to it. Of course, rules can still create whatever
// assets/objects they want, but any outside interaction (inputs and outputs to the rule) must
// be declared.

cram tests remove the need for Phony objects, but having to list each asset in a cram test widens the public interface of a distribution unnecessarily.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions