semantic-release-dotnet
v1.0.0
Published
A semantic-release plugin for versioning .NET core projects.
Downloads
676
Maintainers
Readme
semantic-release-dotnet
semantic-release-dotnet
is a semantic-release plugin for setting the varions on .NET projects, in specific .csproj
and Directory.Build.props
. It has the ability to create property files if missing or updating existing versions in files that do exist. If an existing file does not have a version property, then one will be added to either the first <PropertyGroup/>
or by creating a new property group if one is not needed.
This only implements the prepare
function for semantic-release and does not have functionality for uploading NuGet packages to repositories. This follows the Single Responsibility Principle, see semantic-release-nuget
for that.
Installing
Depending on your package manager, you'll need to run one of the commands.
npm install semantic-release-dotnet --only=dev
yarn add semantic-release-dotnet -D
Typically this is only used as a development dependency.
Usage
Add the plugin into the release.config.js
file or in the appropriate section of package.json
. An example release.config.js
:
module.exports = {
plugins: [
"@semantic-release/commit-analyzer",
"semantic-release-dotnet",
],
};
Options can be given also:
module.exports = {
plugins: [
"@semantic-release/commit-analyzer",
[
"semantic-release-dotnet",
{
paths: ["src/**.csproj"],
}
],
],
};
Options
There are only a few options for the command.
paths?: string[]
- Default:
["Directory.Build.props"]
This is an array of paths that are passed into glob to figure out what files need to be updated. If it is not provided, then a Directory.Build.props
will be created and updated at the root level of the repository. If a path does not have magic values (so src/Project A/Project A.csproj
instead of **/*.csproj
), then the file will be created if missing.
indent?: string | number
- Default: `" "``
This determines the indent of the files updated. If this is zero (0
) or blank (""
), then no indention will be done. All files that match the pattern will be rewritten and indented.
debug?: boolean
- Default:
false
Turns on debugging messages. This defaults to false
to avoid information overload.