filter - Extract a subset of files from another element

This filters another element by producing an output that is a subset of the filtered element.

To specify the element to filter, specify it as the one and only build dependency to filter. See Dependencies for what dependencies are and how to specify them.

Dependencies aside from the filtered element may be specified, but they must be runtime dependencies only. This can be useful to propagate runtime dependencies forward from this filter element onto its reverse dependencies.

When workspaces are opened, closed or reset on this element, or this element is tracked, instead of erroring due to a lack of sources, this element will transparently pass on the command to its sole build-dependency.

The default configuration and possible options are as such:
# Filter element configuration
config:

  # A list of domains to include from each artifact, as
  # they were defined in the element's 'split-rules'.
  #
  # Since domains can be added, it is not an error to
  # specify domains which may not exist for all of the
  # elements in this composition.
  #
  # The default empty list indicates that all domains
  # from each dependency should be included.
  #
  include: []

  # A list of domains to exclude from each artifact, as
  # they were defined in the element's 'split-rules'.
  #
  # In the case that a file is spoken for by a domain
  # in the 'include' list and another in the 'exclude'
  # list, then the file will be excluded.
  exclude: []

  # Whether to include orphan files which are not
  # included by any of the 'split-rules' present on
  # a given element.
  #
  include-orphans: False