1*9bb1b549SSpandan Das#** 2*9bb1b549SSpandan DasThis template is used for including rule definitions as top-level sections in generated stardoc docstrings. 3*9bb1b549SSpandan Das*# 4*9bb1b549SSpandan Das#* 5*9bb1b549SSpandan DasWorkaround for markdownCellFormat() not allowing HTML (specifically lists) to be rendered in attribute table cells. 6*9bb1b549SSpandan Das 7*9bb1b549SSpandan DasTODO: Once https://github.com/bazelbuild/bazel/pull/14230 is merged, remove this macro and replace with call to 8*9bb1b549SSpandan Das util.markdownCellFormatWithHtml($attribute.docString, true) 9*9bb1b549SSpandan Das*# 10*9bb1b549SSpandan Das#macro( markdownCellFormatNoEscapeHtml $docString )#* 11*9bb1b549SSpandan Das *##if ($docString.contains("<ul>"))#* 12*9bb1b549SSpandan Das *#${docString.trim().replaceAll("\n(\\s*\n)+", "<br><br>").replaceAll("\n", " ")}#* 13*9bb1b549SSpandan Das *##else#* 14*9bb1b549SSpandan Das *#${util.markdownCellFormat($docString)}#* 15*9bb1b549SSpandan Das *##end#* 16*9bb1b549SSpandan Das*##end 17*9bb1b549SSpandan Das 18*9bb1b549SSpandan Das<a id="#${ruleName}"></a> 19*9bb1b549SSpandan Das 20*9bb1b549SSpandan Das#[[##]]# ${ruleName} 21*9bb1b549SSpandan Das 22*9bb1b549SSpandan Das<pre> 23*9bb1b549SSpandan Das${util.ruleSummary($ruleName, $ruleInfo)} 24*9bb1b549SSpandan Das</pre> 25*9bb1b549SSpandan Das 26*9bb1b549SSpandan Das${ruleInfo.docString} 27*9bb1b549SSpandan Das 28*9bb1b549SSpandan Das#[[###]]# **Attributes** 29*9bb1b549SSpandan Das 30*9bb1b549SSpandan Das#if (!$ruleInfo.getAttributeList().isEmpty()) 31*9bb1b549SSpandan Das 32*9bb1b549SSpandan Das| Name | Description | Type | Mandatory | Default | 33*9bb1b549SSpandan Das| :------------- | :------------- | :------------- | :------------- | :------------- | 34*9bb1b549SSpandan Das#foreach ($attribute in $ruleInfo.getAttributeList()) 35*9bb1b549SSpandan Das| <a id="${ruleName}-${attribute.name}"></a>$attribute.name | #if(!$attribute.docString.isEmpty()) #markdownCellFormatNoEscapeHtml( $attribute.docString ) #else - #end | ${util.attributeTypeString($attribute)} | ${util.mandatoryString($attribute)} | $attribute.defaultValue | 36*9bb1b549SSpandan Das#end 37*9bb1b549SSpandan Das#end 38