Skip to content
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

GH26: Also pack KuduSync as a .Net Global Tool #27

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

devlead
Copy link

@devlead devlead commented Jul 8, 2020

This is a proposal on how to address #26, aware a lot is going on in this PR, but project needed some love to build as a .NET Global Tool using .NET Core CLI.
Happy to refactor or spread across multiple PRs if you like, have devided PR in a few commits.

Things added in this PR

  • Convert csproj from old format to .NET SDK format
  • Switch from MSBuild to dotnet build
  • Switch from nuget.exe and nuspec to dotnet pack and csproj.
  • External icon and license is no longer recommended for nuget packages so
    • Embedded package icon
    • Switched to license expression
  • Switche copy right to .NET Foundation (don't think Outercurve Foundation is a thing anymore?)
  • Versioning seems to have been done manually before, switched to based on git height using Nerdbank.GitVersioning
  • For deterministic builds added SourceLink
  • Update CommandLineParser to latest which is compatible with .NET Core (2.8.0)
  • Update System.IO.Abstraction to latest compatible with .NET 4.5 (7.1.10) and latest compatible with .NET Core (12.0.4)
  • Removed unsused references
  • Refactored code to work with new dependencies
    • I.e. both CommandLineParser and System.IO.Abstraction had breaking changes going back serveral versions.
    • CommandLineParser now autmatically prints usage so KuduSyncOptions.GetUsage no longer needed.
  • Tests
    • Added .NET Core integration tests
    • Updated test dependencies, i.e. really old and security flawed version of mocha was used.
    • Have not added posix tests yet, just adapted the existing CMD file.
  • Build code with GitHub action (could be wrong but didn't notice any CI in repo)

Update 2021 Jan 13th

  • Added .NET 6 TFM
  • Build with .NET 6 SDK
  • Use latest .NET 3.1 SDK on GitHub Actions
  • Updated dependencies
  • Enabled reproducible builds on CI

Updare 2023 Jul 26th

  • Rebased against latest master
  • Added .NET 7 TFM
  • Removed unsupported .NET Core 3.1 TFM
  • Updated GH Actions versions

@gep13
Copy link

gep13 commented Jul 11, 2020

@hitchhiker @davidebbo @ankitkumarr @Shazwazza @snobu @ahmelsayed it is great that @devlead has been able to provide this PR to add .Net Global Tool support. Is this something that is desired for this project?

I have been using KuduSync for a while now in my build orchestration, and it has been great! Having the ability to run it as a .Net Global Tool really would be the icing on the cake. Thanks!

@gep13
Copy link

gep13 commented Jul 17, 2020

Apologies @suwatch I didn’t mean to miss you from the above.

@gep13
Copy link

gep13 commented Sep 4, 2020

@hitchhiker @davidebbo @ankitkumarr @Shazwazza @snobu @ahmelsayed @suwatch I wanted to follow up with this...

Is the work in this PR something that you are interested in proceeding with? I understand that you might not be in a position to review it right now, but even a comment here to provide some input would be appreciated. Thanks!

@Shazwazza
Copy link
Contributor

Sorry all I haven't used this project specifically for years so don't think I can be much help at the moment. All the best!

@gep13
Copy link

gep13 commented Jul 26, 2023

@shpraka @suwatch @AustinWise I notice that you have recently made changes to this repository. Can any of you provide guidance as to whether this PR is something that you would like to see merged in?

Thanks!

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

Successfully merging this pull request may close these issues.

3 participants