This builds off the timeline library to provide a minimal interface for procedural constraints. It really only provides two things:
a new timeline type for Violations, with a bunch of static methods for constructing Violations timelines from types in the timeline library
an interface for the users' constraints to implement
This PR also moves the timeline library to a gradle subproject called procedural so that the libraries we provide to the users for procedural scheduling/constraints can live together. For reviewers / testers, this means the gradle commands and artifact locations are now nested in the procedural subproject.
Verification
I actually don't see much opportunity for helpful unit tests, because the Violations timeline delegates and reuses things from the timeline library. There's very little interesting new code in here. 🤷
Description
This builds off the timeline library to provide a minimal interface for procedural constraints. It really only provides two things:
This PR also moves the timeline library to a gradle subproject called
procedural
so that the libraries we provide to the users for procedural scheduling/constraints can live together. For reviewers / testers, this means the gradle commands and artifact locations are now nested in the procedural subproject.Verification
I actually don't see much opportunity for helpful unit tests, because the Violations timeline delegates and reuses things from the timeline library. There's very little interesting new code in here. 🤷
Documentation
See
procedural/README.md
.Future work