Skip to content

A GitVersion NuGet package based on LibGit2Sharp 0.26.x #1660

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
FrederickBrier opened this issue Apr 20, 2019 · 4 comments
Closed

A GitVersion NuGet package based on LibGit2Sharp 0.26.x #1660

FrederickBrier opened this issue Apr 20, 2019 · 4 comments

Comments

@FrederickBrier
Copy link

FrederickBrier commented Apr 20, 2019

Please correct me if I get any of this wrong, but the current version of GitVersion, which our team has adopted is based on LibGit2Sharp 0.25.x release. That in turn is uses the NativeBinaries/libgit2 1.0.x version. The libgit2 2.x versions support Windows authentication with TFS, which our project needs. So we upgraded. But now, InstallShield complains when it is building the installer for our app, and it dies when it tries to use the LibGit2Sharp.

I was unable to figure out how to override the project dependency in the .csproj NuGet Reference element, as can be done in Maven and the Java world. So I cloned the GitVersion repo and selected the dependabot branch for LibGit2Sharp-0.26.0 and made the change from LibGit2Sharp.NativeBindaries-2.0.267 branch. After figuring out how to install and build with Cake, getting past the WinHttp proxy issue, installing clipboardy in src/GitVersionTfsTask, and hardcoding a badly generated $version$ value in the GitVersionRubyGem/gitversion.gemspec, it built, but still had a single failed test having to do with in ConfigProviderTests.WarnOnAmbiguousConfigFilesAtTheSameProjectRootDirectory.

If it would have gotten to generating NuGet packages, I would have just pushed the GitVersion artifact to our local NuGet repo, and waited until the project decided to switch to 0.26.0. I would love a new version, alpha would be great, pushed to nuget.org. If not that, please let me know how to get past this last 2 errors (the Ruby $version$) and ambiguous config, or maybe even a Cake target that would build the NuGet package. I haven't used Cake before, so delving into the project's build files is daunting, and feels like a rabbit hole. Thank you.

@gep13
Copy link
Member

gep13 commented Apr 20, 2019

@FrederickBrier how about making use of the artifices from the PR on AppVeyor?

https://ci.appveyor.com/project/GitTools/gitversion/builds/23966047/artifacts

@arturcic
Copy link
Member

@FrederickBrier can you check this one ?

@asbjornu
Copy link
Member

As LibGit2Sharp was upgraded to version 0.26 in #1713, I'm closing this. Please reopen if the problem persists.

@FrederickBrier
Copy link
Author

Yes. We moved to the 0.26 NuGet package. Much better. We do seem to have lots of problems with the build process not consistently creating the ./lib directory with the native libraries in it. The LibtGit2Sharp and LibGit2Sharp.NativeLibraries are installed NuGet packages. Or for some reason, even though the LibGit2Sharp.dll.config is created in the target directory, we get an error coming out of Microsoft.Common.CurrentVersion.targets saying it is missing. While we love the functionality provided, the build process seems very finicky/fragile. If I understood more how native libraries were included, I would probably understand what secret sauce I am missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants