<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bzl on Alwaldend</title><link>https://alwaldend.com/docs/tools/sh/rules/</link><description>Recent content in Bzl on Alwaldend</description><generator>Hugo</generator><language>en</language><atom:link href="https://alwaldend.com/docs/tools/sh/rules/index.xml" rel="self" type="application/rss+xml"/><item><title>al_sh_library</title><link>https://alwaldend.com/docs/tools/sh/rules/bzl/al_sh_library.stardoc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alwaldend.com/docs/tools/sh/rules/bzl/al_sh_library.stardoc/</guid><description>&lt;!-- Generated with Stardoc: http://skydoc.bazel.build --&gt;&#10;&lt;p&gt;&lt;a id="al_sh_library"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2&gt;al_sh_library&lt;a class="td-heading-self-link" href="#al_sh_library" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;pre&gt;&#10;load("@com_alwaldend_src//tools/sh/rules:al_sh_library.bzl", "al_sh_library")&#10;&#10;al_sh_library(&lt;a href="#al_sh_library-name"&gt;name&lt;/a&gt;, &lt;a href="#al_sh_library-shfmt_src"&gt;shfmt_src&lt;/a&gt;, &lt;a href="#al_sh_library-editorconfig_src"&gt;editorconfig_src&lt;/a&gt;, &lt;a href="#al_sh_library-shellcheck_src"&gt;shellcheck_src&lt;/a&gt;, &lt;a href="#al_sh_library-run_args_src"&gt;run_args_src&lt;/a&gt;, &lt;a href="#al_sh_library-visibility"&gt;visibility&lt;/a&gt;,&#10; &lt;a href="#al_sh_library-test_data"&gt;test_data&lt;/a&gt;, &lt;a href="#al_sh_library-sh_kwargs"&gt;**sh_kwargs&lt;/a&gt;)&#10;&lt;/pre&gt;&#10;&lt;p&gt;Create targets for a shell library&lt;/p&gt;&#10;&lt;p&gt;Targets:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;${name}.shfmt_fix: executable to run shfmt&lt;/li&gt;&#10;&lt;li&gt;${name}.shfmt_test: test whether the script is formatted&lt;/li&gt;&#10;&lt;li&gt;${name}.shellcheck_test: shellcheck test&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;PARAMETERS&lt;/strong&gt;&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Name&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Default Value&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_sh_library-name"&gt;&lt;/a&gt;name&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;target name&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;none&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_sh_library-shfmt_src"&gt;&lt;/a&gt;shfmt_src&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;p align="center"&gt; - &lt;/p&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;&amp;quot;//tools/shfmt&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_sh_library-editorconfig_src"&gt;&lt;/a&gt;editorconfig_src&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;p align="center"&gt; - &lt;/p&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;&amp;quot;//tools/shfmt:editorconfig&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_sh_library-shellcheck_src"&gt;&lt;/a&gt;shellcheck_src&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;p align="center"&gt; - &lt;/p&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;&amp;quot;//third_party/com_github_koalaman_shellcheck:shellcheck&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_sh_library-run_args_src"&gt;&lt;/a&gt;run_args_src&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;p align="center"&gt; - &lt;/p&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;&amp;quot;//tools/sh/internal/scripts:run_args_lib&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_sh_library-visibility"&gt;&lt;/a&gt;visibility&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;p align="center"&gt; - &lt;/p&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;[&amp;quot;//:__subpackages__&amp;quot;]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_sh_library-test_data"&gt;&lt;/a&gt;test_data&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;p align="center"&gt; - &lt;/p&gt;</description></item><item><title>al_write_script</title><link>https://alwaldend.com/docs/tools/sh/rules/bzl/al_write_script.stardoc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alwaldend.com/docs/tools/sh/rules/bzl/al_write_script.stardoc/</guid><description>&lt;!-- Generated with Stardoc: http://skydoc.bazel.build --&gt;&#10;&lt;p&gt;&lt;a id="al_write_script"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2&gt;al_write_script&lt;a class="td-heading-self-link" href="#al_write_script" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;pre&gt;&#10;load("@com_alwaldend_src//tools/sh/rules:al_write_script.bzl", "al_write_script")&#10;&#10;al_write_script(&lt;a href="#al_write_script-name"&gt;name&lt;/a&gt;, &lt;a href="#al_write_script-out"&gt;out&lt;/a&gt;, &lt;a href="#al_write_script-content"&gt;content&lt;/a&gt;, &lt;a href="#al_write_script-make_vars"&gt;make_vars&lt;/a&gt;, &lt;a href="#al_write_script-set_flags"&gt;set_flags&lt;/a&gt;, &lt;a href="#al_write_script-shebang"&gt;shebang&lt;/a&gt;)&#10;&lt;/pre&gt;&#10;&lt;p&gt;Write a script and make it executable&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;ATTRIBUTES&lt;/strong&gt;&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Name&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Type&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Mandatory&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_write_script-name"&gt;&lt;/a&gt;name&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;A unique name for this target.&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a href="https://bazel.build/concepts/labels#target-names"&gt;Name&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;required&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_write_script-out"&gt;&lt;/a&gt;out&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Output file&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a href="https://bazel.build/concepts/labels"&gt;Label&lt;/a&gt;; &lt;a href="https://bazel.build/reference/be/common-definitions#configurable-attributes"&gt;nonconfigurable&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;required&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_write_script-content"&gt;&lt;/a&gt;content&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Script content&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;String&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;required&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_write_script-make_vars"&gt;&lt;/a&gt;make_vars&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Additional make vars&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a href="https://bazel.build/rules/lib/core/dict"&gt;Dictionary: String -&amp;gt; String&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;optional&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_write_script-set_flags"&gt;&lt;/a&gt;set_flags&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Flags to pass to set&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;List of strings&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;optional&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;[&amp;quot;-eu&amp;quot;]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a id="al_write_script-shebang"&gt;&lt;/a&gt;shebang&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Sheband to use&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;String&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;optional&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;code&gt;&amp;quot;#!/usr/bin/env sh&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;</description></item></channel></rss>