# `declare_artifact` (`artifact_name,` `sources=None,` `extra=None`)

- Method of BuildProgram

This method is supposed to be called from produce_artifacts. For each of these invocations the builder will later invoke the build_artifact function.

The parameters behave as follows:

- `artifact_name`: the name of the final artifact that will be built. This will be converted into a filename appropriate for the operating system automatically and should thus always use forward slashes.
- `sources`: a list of source filenames that make up the artifact. This will be tracked as main indication about how artifacts change.
- `extra`: arbitrary extra information that is associated with the artifact so that build_artifact can use it.

## Comments