Harald<p>Most build systems have their own syntax to write build scripts with the twist that functions are only run if their output could differ from the last call.</p><p>I turned this upside-down thing on its feet again, providing a Python library to run functions only if needed.</p><p>So your build script is just a Python script, but still does not run functions unnecessarily.</p><p><a href="https://codeberg.org/harald/pythonbuilder" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">codeberg.org/harald/pythonbuil</span><span class="invisible">der</span></a></p><p><a href="https://nrw.social/tags/pythonbuilder" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pythonbuilder</span></a> <a href="https://nrw.social/tags/buildtool" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>buildtool</span></a> <a href="https://nrw.social/tags/cmake" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cmake</span></a> <a href="https://nrw.social/tags/gradle" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gradle</span></a> <a href="https://nrw.social/tags/ant" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ant</span></a> <a href="https://nrw.social/tags/buildautomation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>buildautomation</span></a></p>