﻿<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text" xml:lang="en">Single Responsibility Principle</title>
  <link type="application/atom+xml" href="https://d.moonfire.us/tags/single-responsibility-principle/atom.xml" rel="self" />
  <link type="text/html" href="https://d.moonfire.us/tags/single-responsibility-principle/" rel="alternate" />
  <updated>2026-03-09T17:42:47Z</updated>
  <id>https://d.moonfire.us/tags/single-responsibility-principle/</id>
  <author>
    <name>D. Moonfire</name>
  </author>
  <rights>Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International</rights>
  <entry>
    <title>semantic-release-nuget v1.1.0</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2021/09/04/semantic-release-nuget/" />
    <updated>2021-09-04T05:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2021/09/04/semantic-release-nuget/</id>
    <category term="programming" scheme="https://d.moonfire.us/categories/" label="Programming" />
    <category term="semantic-release" scheme="https://d.moonfire.us/tags/" label="semantic-release" />
    <category term="semantic-release-dotnet" scheme="https://d.moonfire.us/tags/" label="semantic-release-dotnet" />
    <category term="semantic-release-nuget" scheme="https://d.moonfire.us/tags/" label="semantic-release-nuget" />
    <category term="mfgames-locking" scheme="https://d.moonfire.us/tags/" label="MfGames.Locking" />
    <category term="nuget" scheme="https://d.moonfire.us/tags/" label="NuGet" />
    <category term="single-responsibility-principle" scheme="https://d.moonfire.us/tags/" label="Single Responsibility Principle" />
    <category term="myget" scheme="https://d.moonfire.us/tags/" label="MyGet" />
    <category term="gitlab" scheme="https://d.moonfire.us/tags/" label="Gitlab" />
    <summary type="html">To pair with last's week utility, I finished up the first version of semantic-release-nuget and used it.
</summary>
    <content type="html">&lt;p&gt;Last week, I wrote &lt;a href="/blog/2021/08/29/semantic-release-dotnet/"&gt;semantic-release-dotnet&lt;/a&gt; which was a &lt;a href="https://semantic-release.gitbook.io/semantic-release/"&gt;semantic-release&lt;/a&gt; plugin to automatically set the version to the appropriate one before building.&lt;/p&gt;
&lt;p&gt;One of the key parts missing from the normal .NET development cycle was also publishing the packages. I decided to break that into a separate plugin because I have a number of places where I don't want to publish but I do want something versioned (internal projects and customized deployments). So, in the essence of the &lt;a href="https://en.wikipedia.org/wiki/Single-responsibility_principle"&gt;Single Responsibility Principle&lt;/a&gt;, I created a second utility which does one thing: build and publish NuGet packages.&lt;/p&gt;
&lt;p&gt;Introducing &lt;a href="https://www.npmjs.com/package/semantic-release-nuget"&gt;semantic-release-nuget&lt;/a&gt;. It doesn't have a lot of configurations, but the documentation covers all of them. Basically, it does one thing.&lt;/p&gt;
&lt;p&gt;I mostly tested with &lt;a href="/tags/mfgames-locking/"&gt;MfGames.Locking&lt;/a&gt;, my CIL library for some thread-locking patterns, because I'm the process of carving out &lt;a href="/tags/gallium/"&gt;Gallium&lt;/a&gt; and &lt;a href="/tags/nitride/"&gt;Nitride&lt;/a&gt; into their own packages. I'm just not sure where to put them, so they are probably going in my &lt;a href="https://gitlab.com/mfgames-cil/"&gt;Gitlab&lt;/a&gt; organization until I find a &amp;ldquo;better&amp;rdquo; organization/home.&lt;/p&gt;
</content>
  </entry>
</feed>
