<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Extensions]]></title><description><![CDATA[<p dir="auto">Use this topic to discuss bld <a href="https://github.com/rife2/bld/wiki/Extensions" rel="nofollow ugc">extensions</a>.</p>
<p dir="auto">Our current <code>official</code> extensions are:</p>
<ul>
<li><a href="https://github.com/rife2/bld-antlr4" rel="nofollow ugc"><code>bld</code> ANTLR4 extension</a></li>
<li><a href="https://github.com/rife2/bld-archive" rel="nofollow ugc"><code>bld</code> Archive extension</a></li>
<li><a href="https://github.com/rife2/bld-checkstyle" rel="nofollow ugc"><code>bld</code> Checkstyle extension</a></li>
<li><a href="https://github.com/rife2/bld-exec" rel="nofollow ugc"><code>bld</code> Command Line Execution extension</a></li>
<li><a href="https://github.com/rife2/bld-generated-version" rel="nofollow ugc"><code>bld</code> Generated Version extension</a></li>
<li><a href="https://github.com/rife2/bld-jacoco-report" rel="nofollow ugc"><code>bld</code> JaCoCo Report extension</a></li>
<li><a href="https://github.com/rife2/bld-jbang" rel="nofollow ugc"><code>bld</code> JBang extension</a></li>
<li><a href="https://github.com/rife2/bld-junit-reporter" rel="nofollow ugc"><code>bld</code> JUnit Reporter extension</a></li>
<li><a href="https://github.com/rife2/bld-kotlin" rel="nofollow ugc"><code>bld</code> Kotlin extension</a>
<ul>
<li><a href="https://github.com/rife2/bld-detekt" rel="nofollow ugc"><code>bld</code> Detekt extension</a></li>
<li><a href="https://github.com/rife2/bld-dokka" rel="nofollow ugc"><code>bld</code> Dokka extension</a></li>
</ul>
</li>
<li><a href="https://www.github.com/rife2/bld-pitest" rel="nofollow ugc"><code>bld</code> PIT Mutation Testing extension</a></li>
<li><a href="https://github.com/rife2/bld-pmd" rel="nofollow ugc"><code>bld</code> PMD extension</a></li>
<li><a href="https://github.com/rife2/bld-property-file" rel="nofollow ugc"><code>bld</code> Property File extension</a></li>
<li><a href="https://github.com/rife2/bld-spotbugs" rel="nofollow ugc"><code>bld</code> SpotBugs extension</a></li>
<li><a href="https://github.com/rife2/bld-spring-boot" rel="nofollow ugc"><code>bld</code> Spring Boot extension</a></li>
<li><a href="https://github.com/rife2/bld-testng" rel="nofollow ugc"><code>bld</code> TestNG extension</a></li>
<li><a href="https://github.com/rife2/bld-tests-badge" rel="nofollow ugc"><code>bld</code> Tests Badge extension</a></li>
</ul>
<p dir="auto">We've also bunded a collection of <a href="https://github.com/rife2/bld-extensions-tools" rel="nofollow ugc">tools</a> and <a href="https://github.com/rife2/bld-extensions-testing-helpers" rel="nofollow ugc">testing helpers</a> which may be useful when developing new extensions.</p>
]]></description><link>https://forum.uwyn.com/topic/4/extensions</link><generator>RSS for Node</generator><lastBuildDate>Wed, 10 Jun 2026 03:16:02 GMT</lastBuildDate><atom:link href="https://forum.uwyn.com/topic/4.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Aug 2023 16:21:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Extensions on Sat, 31 Aug 2024 20:04:02 GMT]]></title><description><![CDATA[<p dir="auto">All the <a href="https://github.com/rife2/bld/wiki/Extensions" rel="nofollow ugc">extensions</a> have been updated for <a href="https://forum.uwyn.com/post/209">bld 2.1</a>:</p>
<ul>
<li><a href="https://github.com/rife2/bld-antlr4" rel="nofollow ugc"><code>bld</code> ANTLR4 extension</a></li>
<li><a href="https://github.com/rife2/bld-archive" rel="nofollow ugc"><code>bld</code> Archive extension</a></li>
<li><a href="https://github.com/rife2/bld-checkstyle" rel="nofollow ugc"><code>bld</code> Checkstyle extension</a></li>
<li><a href="https://github.com/rife2/bld-exec" rel="nofollow ugc"><code>bld</code> Command Line Execution extension</a></li>
<li><a href="https://github.com/rife2/bld-generated-version" rel="nofollow ugc"><code>bld</code> Generated Version extension</a></li>
<li><a href="https://github.com/rife2/bld-jacoco-report" rel="nofollow ugc"><code>bld</code> JaCoCo Report extension</a></li>
<li><a href="https://github.com/rife2/bld-kotlin" rel="nofollow ugc"><code>bld</code> Kotlin extension</a>
<ul>
<li><a href="https://github.com/rife2/bld-detekt" rel="nofollow ugc"><code>bld</code> Detekt extension</a></li>
<li><a href="https://github.com/rife2/bld-dokka" rel="nofollow ugc"><code>bld</code> Dokka extension</a></li>
</ul>
</li>
<li><a href="https://www.github.com/rife2/bld-pitest" rel="nofollow ugc"><code>bld</code> PIT Mutation Testing extension</a></li>
<li><a href="https://github.com/rife2/bld-pmd" rel="nofollow ugc"><code>bld</code> PMD extension</a></li>
<li><a href="https://github.com/rife2/bld-property-file" rel="nofollow ugc"><code>bld</code> Property File extension</a></li>
<li><a href="https://github.com/rife2/bld-spring-boot" rel="nofollow ugc"><code>bld</code> Spring Boot extension</a></li>
<li><a href="https://github.com/rife2/bld-testng" rel="nofollow ugc"><code>bld</code> TestNG extension</a></li>
<li><a href="https://github.com/rife2/bld-tests-badge" rel="nofollow ugc"><code>bld</code> Tests Badge extension</a></li>
</ul>
]]></description><link>https://forum.uwyn.com/post/211</link><guid isPermaLink="true">https://forum.uwyn.com/post/211</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Sat, 31 Aug 2024 20:04:02 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Fri, 29 Dec 2023 23:54:10 GMT]]></title><description><![CDATA[<p dir="auto">If you're using bld with <strong>Spring Boot</strong> you might like the following:</p>
<ul>
<li><a href="https://github.com/rife2/bld-spring-boot" rel="nofollow ugc"><code>bld</code> Spring Boot Extension</a></li>
<li><a href="https://github.com/rife2/spring-boot-bld-example" rel="nofollow ugc">Spring Boot Example Project for <code>bld</code></a></li>
</ul>
]]></description><link>https://forum.uwyn.com/post/191</link><guid isPermaLink="true">https://forum.uwyn.com/post/191</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Fri, 29 Dec 2023 23:54:10 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Fri, 29 Dec 2023 23:49:18 GMT]]></title><description><![CDATA[<p dir="auto">bld now supports <strong>Kotlin</strong> via a couple new extensions:</p>
<ul>
<li><a href="https://github.com/rife2/bld-kotlin" rel="nofollow ugc"><code>bld</code> Kotlin Extension</a></li>
<li><a href="https://github.com/rife2/bld-detekt" rel="nofollow ugc"><code>bld</code> Detekt Extension</a></li>
</ul>
]]></description><link>https://forum.uwyn.com/post/190</link><guid isPermaLink="true">https://forum.uwyn.com/post/190</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Fri, 29 Dec 2023 23:49:18 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Thu, 31 Aug 2023 21:31:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/gbevin">@<bdi>gbevin</bdi></a> said in <a href="/post/86">Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> maybe extensions can declare which dependencies they rely upon, without setting a specific version number. When bld encounters that, it warns the developer that those dependencies are needed and that versions can be configured in a properties file? After that, it will just download those dependencies automatically without relying on a specific version from the extension.</p>
</blockquote>
<p dir="auto">That's a great idea. Like it a lot.</p>
]]></description><link>https://forum.uwyn.com/post/88</link><guid isPermaLink="true">https://forum.uwyn.com/post/88</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Thu, 31 Aug 2023 21:31:14 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Thu, 31 Aug 2023 16:44:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> maybe extensions can declare which dependencies they rely upon, without setting a specific version number. When bld encounters that, it warns the developer that those dependencies are needed and that versions can be configured in a properties file? After that, it will just download those dependencies automatically without relying on a specific version from the extension.</p>
]]></description><link>https://forum.uwyn.com/post/86</link><guid isPermaLink="true">https://forum.uwyn.com/post/86</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Thu, 31 Aug 2023 16:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Thu, 31 Aug 2023 16:40:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> that's a good point, but I feel having to manually install and manage all the dependencies, for every developer on every machine, is also not a good solution.</p>
]]></description><link>https://forum.uwyn.com/post/85</link><guid isPermaLink="true">https://forum.uwyn.com/post/85</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Thu, 31 Aug 2023 16:40:49 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Thu, 31 Aug 2023 14:18:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/gbevin">@<bdi>gbevin</bdi></a> said in <a href="/post/83">Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> I think that a big appeal of Gradle and Maven is everything required to run all the project tasks is done automatically, this significantly reduces the efforts when working with a team or onboarding new developers. It also ensures that there are common versions across all the team members to ensure consistent and coherent behavior. Having a lot of extensions require manual installation of what's required to run them, defeats much of what makes them useful imho. Even if you rely on the command line API, I would still declare the required dependencies in the compile scope.</p>
</blockquote>
<p dir="auto">I actually think that is one of the worst thing about Grade or Maven, having to deal with plugins that use antiquated libraries. It's a never ending battle, plugins depends on specific versions and all have to mach. Gradle build files are littered with dependency exclusion on most large projects. It's a nightmare to manage.</p>
<p dir="auto">How would you feel if you couldn't specify which version of JUnit 5 or TestNG to use? Both Gradle and Maven requires you to do so. They are plugins that are used in the test scope, and like most of them do, they required some dependencies.</p>
]]></description><link>https://forum.uwyn.com/post/84</link><guid isPermaLink="true">https://forum.uwyn.com/post/84</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Thu, 31 Aug 2023 14:18:45 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Thu, 31 Aug 2023 12:25:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> I think that a big appeal of Gradle and Maven is everything required to run all the project tasks is done automatically, this significantly reduces the efforts when working with a team or onboarding new developers. It also ensures that there are common versions across all the team members to ensure consistent and coherent behavior. Having a lot of extensions require manual installation of what's required to run them, defeats much of what makes them useful imho. Even if you rely on the command line API, I would still declare the required dependencies in the compile scope.</p>
]]></description><link>https://forum.uwyn.com/post/83</link><guid isPermaLink="true">https://forum.uwyn.com/post/83</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Thu, 31 Aug 2023 12:25:37 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Thu, 31 Aug 2023 03:03:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/gbevin">@<bdi>gbevin</bdi></a> said in <a href="/post/80">Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> do we want to not have any dependencies? It seems that when people install an extension, they'd want it to just be ready to go and pull down everything required to work.</p>
</blockquote>
<p dir="auto">I think most people want to use the version of the tool that works for their needs, not the version that we provide, and that we keep on having to update when new versions are out.</p>
<p dir="auto">This is no different that people having to install the JUnit or TestNG dependencies for their project.</p>
]]></description><link>https://forum.uwyn.com/post/82</link><guid isPermaLink="true">https://forum.uwyn.com/post/82</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Thu, 31 Aug 2023 03:03:39 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Wed, 30 Aug 2023 18:22:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> do we want to not have any dependencies? It seems that when people install an extension, they'd want it to just be ready to go and pull down everything required to work.</p>
]]></description><link>https://forum.uwyn.com/post/80</link><guid isPermaLink="true">https://forum.uwyn.com/post/80</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Wed, 30 Aug 2023 18:22:45 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Wed, 30 Aug 2023 04:57:22 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/gbevin">@<bdi>gbevin</bdi></a> said in <a href="/post/76">Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> love seeing how straightforward it seems to make these!</p>
</blockquote>
<p dir="auto">Yeah, and I'm starting to think the command line approach is the better one. No dependencies, not locked to a specific version, etc.</p>
]]></description><link>https://forum.uwyn.com/post/77</link><guid isPermaLink="true">https://forum.uwyn.com/post/77</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Wed, 30 Aug 2023 04:57:22 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Wed, 30 Aug 2023 01:11:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ethauvin">@<bdi>ethauvin</bdi></a> love seeing how straightforward it seems to make these!</p>
]]></description><link>https://forum.uwyn.com/post/76</link><guid isPermaLink="true">https://forum.uwyn.com/post/76</guid><dc:creator><![CDATA[gbevin]]></dc:creator><pubDate>Wed, 30 Aug 2023 01:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Tue, 29 Aug 2023 16:50:01 GMT]]></title><description><![CDATA[<p dir="auto">And yet another one in testing</p>
<ul>
<li><a href="https://github.com/rife2/bld-pitest" rel="nofollow ugc"><code>bld</code> PIT Mutation Testing extension</a></li>
</ul>
]]></description><link>https://forum.uwyn.com/post/74</link><guid isPermaLink="true">https://forum.uwyn.com/post/74</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Tue, 29 Aug 2023 16:50:01 GMT</pubDate></item><item><title><![CDATA[Reply to Extensions on Tue, 29 Aug 2023 06:13:44 GMT]]></title><description><![CDATA[<p dir="auto">There are a couple new extensions in testing right now:</p>
<ul>
<li><a href="https://github.com/rife2/bld-checkstyle" rel="nofollow ugc"><code>bld</code> Checkstyle extension</a></li>
<li><a href="https://github.com/rife2/bld-exec" rel="nofollow ugc"><code>bld</code> Command Line Execution extension</a></li>
</ul>
]]></description><link>https://forum.uwyn.com/post/73</link><guid isPermaLink="true">https://forum.uwyn.com/post/73</guid><dc:creator><![CDATA[ethauvin]]></dc:creator><pubDate>Tue, 29 Aug 2023 06:13:44 GMT</pubDate></item></channel></rss>