| <aid="write_source_file-name"></a>name | Name of the runnable target that creates or updates the source tree file or directory. | none |
| <aid="write_source_file-in_file"></a>in_file | File or directory to use as the desired content to write to `out_file`.<br><br>This is typically a file or directory output of another target. If `in_file` is a directory then entire directory contents are copied. | `None` |
| <aid="write_source_file-out_file"></a>out_file | The file or directory to write to in the source tree.<br><br>The output file or directory must be within the same containing Bazel package as this target if `check_that_out_file_exists` is `True`. See `check_that_out_file_exists` docstring for more info. | `None` |
| <aid="write_source_file-executable"></a>executable | Whether source tree file or files within the source tree directory written should be made executable. | `False` |
| <aid="write_source_file-additional_update_targets"></a>additional_update_targets | List of other `write_source_files` or `write_source_file` targets to call in the same run. | `[]` |
| <aid="write_source_file-suggested_update_target"></a>suggested_update_target | Label of the `write_source_files` or `write_source_file` target to suggest running when files are out of date. | `None` |
| <aid="write_source_file-diff_test"></a>diff_test | Test that the source tree file or directory exist and is up to date. | `True` |
| <aid="write_source_file-check_that_out_file_exists"></a>check_that_out_file_exists | Test that the output file exists and print a helpful error message if it doesn't.<br><br>If `True`, the output file or directory must be in the same containing Bazel package as the target since the underlying mechanism for this check is limited to files in the same Bazel package. | `True` |
| <aid="write_source_file-kwargs"></a>kwargs | Other common named parameters such as `tags` or `visibility` | none |
**RETURNS**
Name of the generated test target if requested, otherwise None.
| <aid="write_source_files-files"></a>files | A dict where the keys are files or directories in the source tree to write to and the values are labels pointing to the desired content, typically file or directory outputs of other targets.<br><br>Destination files and directories must be within the same containing Bazel package as this target if `check_that_out_file_exists` is True. See `check_that_out_file_exists` docstring for more info. | `{}` |
| <aid="write_source_files-executable"></a>executable | Whether source tree files written should be made executable.<br><br>This applies to all source tree files written by this target. This attribute is not propagated to `additional_update_targets`.<br><br>To set different executable permissions on different source tree files use multiple `write_source_files` targets. | `False` |
| <aid="write_source_files-additional_update_targets"></a>additional_update_targets | List of other `write_source_files` or `write_source_file` targets to call in the same run. | `[]` |
| <aid="write_source_files-suggested_update_target"></a>suggested_update_target | Label of the `write_source_files` or `write_source_file` target to suggest running when files are out of date. | `None` |
| <aid="write_source_files-diff_test"></a>diff_test | Test that the source tree files and/or directories exist and are up to date. | `True` |
| <aid="write_source_files-check_that_out_file_exists"></a>check_that_out_file_exists | Test that each output file exists and print a helpful error message if it doesn't.<br><br>If `True`, destination files and directories must be in the same containing Bazel package as the target since the underlying mechanism for this check is limited to files in the same Bazel package. | `True` |
| <aid="write_source_files-kwargs"></a>kwargs | Other common named parameters such as `tags` or `visibility` | none |