Details
Description
At the moment, the static output artifacts syntax allows attaching module properties, while the dynamic one does not:
Artifact { fileTags: "blubb" fileName: "x" cpp.includes: "mydir" // Ok. }
outputArtifacts: { return [{ fileTags: "blubb", filePath: "x", cpp.includes: "mydir" // Syntax error }] }
This is a serious defect, because the outputArtifacts script was designed to be more powerful than the old syntax. It therefore must have feature parity, or there will be situations where neither one suffices.
Example use case: The dynamic library linker on Unix, where we may or may not want to create symbolic links to the library, so the number of output artifacts should be dynamic, but we also need to attach cpp properties to one of the artifacts.