Path: blob/trunk/dotnet/private/generated_assembly_info.bzl
3227 views
# Label of the template file to use. _TEMPLATE = "//dotnet:AssemblyInfo.cs.template" def _generated_assembly_info_impl(ctx): ctx.actions.expand_template( template = ctx.file.template, output = ctx.outputs.source_file, substitutions = { "{ASSEMBLY_VERSION}": ctx.attr.version, "{ASSEMBLY_COMPANY}": ctx.attr.company, "{ASSEMBLY_COPYRIGHT}": ctx.attr.copyright, "{ASSEMBLY_DESCRIPTION}": ctx.attr.description, "{ASSEMBLY_PRODUCT}": ctx.attr.product, "{ASSEMBLY_TITLE}": ctx.attr.title, "{ASSEMBLY_INFORMATIONAL_VERSION}": ctx.attr.informational_version, }, ) generated_assembly_info = rule( implementation = _generated_assembly_info_impl, attrs = { "version": attr.string(mandatory = True), "company": attr.string(mandatory = True), "copyright": attr.string(mandatory = True), "description": attr.string(mandatory = True), "product": attr.string(mandatory = True), "title": attr.string(mandatory = True), "informational_version": attr.string(mandatory = True), "template": attr.label( default = Label(_TEMPLATE), allow_single_file = True, ), }, outputs = {"source_file": "%{name}.AssemblyInfo.cs"}, )