You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do we want to continue to allow bundle actions to use ${bundle.dependencies.DEP.outputs.OUTPUT_NAME}?
Now that dependencies can promote outputs to the parent bundle, (below), do we need to change how we allow the parent bundle to reference dependency outputs?
dependenciesrequires:
- name: mysqloutputs:
connstr: "Server=${bundle.parameters.host};Database=${outputs.db};Uid=${outputs.uid};Pwd=${outputs.pwd}"install:
- exec:
command: ./install.sharguments:
- ${bundle.dependencies.mysql.outputs.connstr} # what value should this hold???
- ${outputs.connstr} # uses the concatenated value created in the dependency definition
What's not clear is what bundle.dependencies.mysql.outputs.connstr should reference. A dependency can generate an output, map it to another value and make it available to the parent bundle. So I can see users being confused if that variable contains the original value or the mapped value.
If we remove that template variable from the actions, that is a breaking change to dependencies.
We could keep it and have it refer to the value "closest in scope".
If the dependency generates connstr, and doesn't provide a mapping, we use that original value.
If an output mapping named connstr is delcared, we use that.
If a bundle generates connstr, and defines a mapping, we use the mapped value.
If a mixin also generates an output named connstr, bundle.dependencies.mysql.outputs.constr would not be updated but bundle.outputs.connstr would.
The text was updated successfully, but these errors were encountered:
Do we want to continue to allow bundle actions to use
${bundle.dependencies.DEP.outputs.OUTPUT_NAME}
?Now that dependencies can promote outputs to the parent bundle, (below), do we need to change how we allow the parent bundle to reference dependency outputs?
What's not clear is what
bundle.dependencies.mysql.outputs.connstr
should reference. A dependency can generate an output, map it to another value and make it available to the parent bundle. So I can see users being confused if that variable contains the original value or the mapped value.If we remove that template variable from the actions, that is a breaking change to dependencies.
We could keep it and have it refer to the value "closest in scope".
bundle.dependencies.mysql.outputs.constr
would not be updated butbundle.outputs.connstr
would.The text was updated successfully, but these errors were encountered: