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
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Build
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
build:
name: Build
env:
TERM: xterm-256color
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Install .NET SDK 6.0.x
uses: actions/setup-dotnet@v3
with:
dotnet-version: '6.0.x'

- name: Install .NET global.json
uses: actions/setup-dotnet@v3

- name: Build KuduSync.NET
run: |
dotnet build -p:Configuration=Release

- name: Create NuGet Packages
if: matrix.os == 'windows-latest'
shell: cmd
run: .\BuildNugetPackages.cmd

- uses: actions/upload-artifact@v3
if: matrix.os == 'windows-latest'
with:
name: nupkg
path: artifacts

- name: Test Windows
if: matrix.os == 'windows-latest'
shell: cmd
run: .\test.cmd
6 changes: 0 additions & 6 deletions .nuget/NuGet.Config

This file was deleted.

153 changes: 0 additions & 153 deletions .nuget/NuGet.targets

This file was deleted.

36 changes: 5 additions & 31 deletions BuildNugetPackages.cmd
Original file line number Diff line number Diff line change
@@ -1,35 +1,9 @@
@echo Off
setlocal

:: use MSBuild from .net framework by default
set MsBuildExe="%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild"
set netfx="net48"
set project=".\KuduSync.NET\KuduSync.NET.csproj"
set output=".\artifacts"

:: prefer vs2019, vs2017, vs2015 then vs2013
if exist "%PROGRAMFILES%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES%\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES%\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe"
) else if exist "%PROGRAMFILES%\MSBuild\14.0\Bin\MsBuild.exe" (
set MsBuildExe="%PROGRAMFILES%\MSBuild\14.0\Bin\MsBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\MSBuild\14.0\Bin\MsBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\MSBuild\14.0\Bin\MsBuild.exe"
) else if exist "%PROGRAMFILES%\MSBuild\12.0\Bin\MsBuild.exe" (
set MsBuildExe="%PROGRAMFILES%\MSBuild\12.0\Bin\MsBuild.exe"
) else if exist "%PROGRAMFILES(X86)%\MSBuild\12.0\Bin\MsBuild.exe" (
set MsBuildExe="%PROGRAMFILES(X86)%\MSBuild\12.0\Bin\MsBuild.exe"
)

%MsBuildExe% /p:Configuration=Release
nuget pack -symbols -Prop Configuration=Release -NoPackageAnalysis
dotnet pack /p:Configuration=Release /p:NetFx=false %project% --output "%output%"
dotnet pack /p:Configuration=Release /p:NetFx=true /p:TargetFramework=%netfx% /p:TargetFrameworks=%netfx% %project% --output "%output%"
8 changes: 4 additions & 4 deletions KuduSync.NET/FileInfoBaseExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace KuduSync.NET
{
static class FileInfoBaseExtensions
{
public static bool IsFullTextCompareFile(this FileInfoBase file, KuduSyncOptions kuduSyncOptions)
public static bool IsFullTextCompareFile(this IFileSystemInfo file, KuduSyncOptions kuduSyncOptions)
{
var matched = kuduSyncOptions.GetFullTextCompareFilePatterns()
.Any(fileMatchPattern => Regex.IsMatch(file.Name, WildCardToRegular(fileMatchPattern), RegexOptions.IgnoreCase));
Expand All @@ -19,13 +19,13 @@ public static bool IsFullTextCompareFile(this FileInfoBase file, KuduSyncOptions
private static string WildCardToRegular(string value)
{
return "^" + Regex.Escape(value).Replace("\\?", ".").Replace("\\*", ".*") + "$";
}
}

public static string ComputeSha1(this FileInfoBase file)
public static string ComputeSha1(this IFileInfo file)
{
using (var fileStream = file.OpenRead())
{
var sha1 = new SHA1Managed();
var sha1 = SHA1.Create();
return BitConverter.ToString(sha1.ComputeHash(fileStream));
}
}
Expand Down
Loading