Partas.GitNet
0.1.2
dotnet add package Partas.GitNet --version 0.1.2
NuGet\Install-Package Partas.GitNet -Version 0.1.2
<PackageReference Include="Partas.GitNet" Version="0.1.2" />
<PackageVersion Include="Partas.GitNet" Version="0.1.2" />
<PackageReference Include="Partas.GitNet" />
paket add Partas.GitNet --version 0.1.2
#r "nuget: Partas.GitNet, 0.1.2"
#:package Partas.GitNet@0.1.2
#addin nuget:?package=Partas.GitNet&version=0.1.2
#tool nuget:?package=Partas.GitNet&version=0.1.2
GitNet
- Configurable
- Finds all your F# Projects
- Checks what commits have effected the projects
- ConventionalCommits determine if project gets bumped
- Can write your
AssemblyInfo.fs
files - Adds or updates your
.fsproj
<ProjectVersion>
and<Version>
tags so packaging projects will have correct dependency versions - Commits its own changes, and creates versioned tags
I have the laziest CI, I build, package and push my projects on every run (with skip duplicate).
I can just do a git push at the end of the run. Delightful for me.
Why delightful? Take a look at some of the repos of bindings I'm authoring (so many mini projects in one repo).
My CI is risky, and it's okay, because GitNet is configurable. You can run steps and inspect outputs to determine whether to make commits/change files etc.
Also unlike in this repo, you'd want to add tests into your CI (the tests in this repo depend on local git trees to test, at least until such a point that this repo has enough history to utilise).
Git that Net
Check out the output:
See my build project that creates this.
Development
The project is already a boon for me, and motivation to progress is kind of eh. There's lots of options out there, and this is highly opinionated.
If you like the looks of it, give it a star, and I'll probably work on documentation, and making a simple CLI (already have looked a bit into how this would work with SpectreCoff, Spectre.Console et al).
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Fake.DotNet.AssemblyInfoFile (>= 6.1.3)
- Fake.DotNet.Cli (>= 6.1.3)
- Fake.IO.FileSystem (>= 6.1.3)
- FSharp.Core (>= 9.0.202)
- FSharp.Formatting.Markdown (>= 1.0.0)
- FsToolkit.ErrorHandling (>= 5.0.1)
- Partas.GitNet.Markdown (>= 0.1.0)
- Partas.LibGit2Sharp.FSharp (>= 0.3.0)
- Partas.Tools.ConventionalCommits (>= 0.3.0)
- Partas.Tools.SepochSemver (>= 0.4.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.