def produces(target, *side_effects)
      target = expand_path(expand_varref(target))
      side_effects = Array(side_effects).map do |side_effect|
        expand_path(expand_varref(side_effect))
      end.flatten
      @side_effects[target] ||= []
      @side_effects[target] += side_effects
    end
def produces(target, *side_effects)
      target = expand_path(expand_varref(target))
      side_effects = Array(side_effects).map do |side_effect|
        expand_path(expand_varref(side_effect))
      end.flatten
      @side_effects[target] ||= []
      @side_effects[target] += side_effects
    end
Manually record the given side effect file(s) as being produced when the
 named target is produced.

 @since 1.13.0

 @param target [String]
   Target of a build operation.
 @param side_effects [Array<String>]
   File(s) produced when the target file is produced.

 @return [void]