Called right at the beginning of
MatrixBuild execution to allow
Axis to update
#valuesbased on the current build.
Historically, axes values are considered static. They were assumed to reflect what the user has typed in,
and their values are changed only when the project is reconfigured. So abstractions are built around this
notion, and so for example
MatrixProject has the current axes and their values, which it uses
to render its UI.
So when the need was identified to change the values of axes per build, we decided that this be represented
as a kind of project configuration update (where a project gets reconfigured every time a build runs), and
this call back was added to allow
Axis to update the next return value from the
#getValues()(which is typically done by updating
#values.)
While it is not strictly required, because of these historical reasons, UI will look better if
Future calls to
Axis#getValues() return the same values as what this method returns (until
the next rebuild call).