diff --git a/.azure-pipelines/templates/linux/compile.yml b/.azure-pipelines/templates/linux/compile.yml index 032ef5ca4..8431a0aee 100644 --- a/.azure-pipelines/templates/linux/compile.yml +++ b/.azure-pipelines/templates/linux/compile.yml @@ -1,9 +1,9 @@ steps: - task: UseDotNet@2 - displayName: Use .NET Core SDK 3.1.x + displayName: Use .NET SDK 5.0.x inputs: packageType: sdk - version: 3.1.x + version: 5.0.x - task: DotNetCoreCLI@2 displayName: Compile common code diff --git a/.azure-pipelines/templates/osx/compile.yml b/.azure-pipelines/templates/osx/compile.yml index 5c57bcf8d..1fb1243ae 100644 --- a/.azure-pipelines/templates/osx/compile.yml +++ b/.azure-pipelines/templates/osx/compile.yml @@ -1,9 +1,9 @@ steps: - task: UseDotNet@2 - displayName: Use .NET Core SDK 3.1.x + displayName: Use .NET SDK 5.0.x inputs: packageType: sdk - version: 3.1.x + version: 5.0.x - task: DotNetCoreCLI@2 displayName: Compile common code and macOS Helpers diff --git a/.azure-pipelines/templates/osx/pack.signed/step3-pack.yml b/.azure-pipelines/templates/osx/pack.signed/step3-pack.yml index 043181316..a008900c6 100644 --- a/.azure-pipelines/templates/osx/pack.signed/step3-pack.yml +++ b/.azure-pipelines/templates/osx/pack.signed/step3-pack.yml @@ -7,10 +7,10 @@ steps: downloadPath: '$(Build.StagingDirectory)/payload' - task: UseDotNet@2 - displayName: Use .NET Core SDK 3.1.x + displayName: Use .NET SDK 5.0.x inputs: packageType: sdk - version: 3.1.x + version: 5.0.x - script: dotnet tool install --global nbgv displayName: Install Nerdbank.GitVersioning tool diff --git a/.azure-pipelines/templates/osx/pack.signed/step5-dist.yml b/.azure-pipelines/templates/osx/pack.signed/step5-dist.yml index ab82a4a2c..54c0ace7b 100644 --- a/.azure-pipelines/templates/osx/pack.signed/step5-dist.yml +++ b/.azure-pipelines/templates/osx/pack.signed/step5-dist.yml @@ -20,7 +20,7 @@ steps: artifactName: 'tmp.macsymbols' downloadPath: '$(Build.StagingDirectory)/symbols' - # Skip notarization until we can preserve the hardened runtime bit and sign the .NET Core runtime bits + # Skip notarization until we can preserve the hardened runtime bit and sign the .NET runtime bits # Tracked: https://github.com/microsoft/Git-Credential-Manager-Core/issues/108 #- script: src/osx/SignFiles.Mac/notarize-pkg.sh -id "$(AppleId)" -p "$(AppleIdPassword)" -pkg "$(Build.StagingDirectory)"/pkg/*.pkg # displayName: Notarize and staple installer package diff --git a/.azure-pipelines/templates/windows/compile.signed.yml b/.azure-pipelines/templates/windows/compile.signed.yml index 2cc2ea9f0..13bf78f84 100644 --- a/.azure-pipelines/templates/windows/compile.signed.yml +++ b/.azure-pipelines/templates/windows/compile.signed.yml @@ -6,10 +6,10 @@ steps: signType: '$(SignType)' - task: UseDotNet@2 - displayName: Use .NET Core SDK 3.1.x + displayName: Use .NET SDK 5.0.x inputs: packageType: sdk - version: 3.1.x + version: 5.0.x - task: NuGetToolInstaller@0 displayName: Install NuGet tool >=4.3.0 diff --git a/.azure-pipelines/templates/windows/compile.yml b/.azure-pipelines/templates/windows/compile.yml index e35dc3389..598fd5b28 100644 --- a/.azure-pipelines/templates/windows/compile.yml +++ b/.azure-pipelines/templates/windows/compile.yml @@ -1,9 +1,9 @@ steps: - task: UseDotNet@2 - displayName: Use .NET Core SDK 3.1.x + displayName: Use .NET SDK 5.0.x inputs: packageType: sdk - version: 3.1.x + version: 5.0.x - task: DotNetCoreCLI@2 displayName: Restore packages diff --git a/.github/workflows/build-installers.yml b/.github/workflows/build-installers.yml index 71336f45a..52493bb30 100644 --- a/.github/workflows/build-installers.yml +++ b/.github/workflows/build-installers.yml @@ -17,10 +17,10 @@ jobs: with: fetch-depth: 0 # Indicate full history so Nerdbank.GitVersioning works. - - name: Setup .NET Core + - name: Setup .NET uses: actions/setup-dotnet@v1 with: - dotnet-version: 3.1.302 + dotnet-version: 5.0.103 - name: Install dependencies run: dotnet restore --force diff --git a/.github/workflows/build-signed-deb.yml b/.github/workflows/build-signed-deb.yml index b3dba6a28..4f37990bb 100644 --- a/.github/workflows/build-signed-deb.yml +++ b/.github/workflows/build-signed-deb.yml @@ -14,10 +14,10 @@ jobs: with: fetch-depth: 0 # Indicate full history so Nerdbank.GitVersioning works. - - name: Setup .NET Core + - name: Setup .NET uses: actions/setup-dotnet@v1 with: - dotnet-version: 3.1.302 + dotnet-version: 5.0.103 - name: Install dependencies run: dotnet restore --force diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index bffee0884..ae3039347 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -21,10 +21,10 @@ jobs: with: fetch-depth: 0 # Indicate full history so Nerdbank.GitVersioning works. - - name: Setup .NET Core + - name: Setup .NET uses: actions/setup-dotnet@v1 with: - dotnet-version: 3.1.302 + dotnet-version: 5.0.103 - name: Install dependencies run: dotnet restore diff --git a/.gitignore b/.gitignore index 1b6aff9c9..f56735491 100644 --- a/.gitignore +++ b/.gitignore @@ -48,7 +48,7 @@ dlldata.c # Benchmark Results BenchmarkDotNet.Artifacts/ -# .NET Core +# .NET project.lock.json project.fragment.lock.json artifacts/ diff --git a/.vscode/launch.json b/.vscode/launch.json index 2ae42554c..72fae8745 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/netcoreapp3.1/git-credential-manager-core.dll", + "program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/net5.0/git-credential-manager-core.dll", "args": ["get"], "cwd": "${workspaceFolder}/out/shared/Git-Credential-Manager", "console": "integratedTerminal", @@ -22,14 +22,14 @@ "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/netcoreapp3.1/git-credential-manager-core.dll", + "program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/net5.0/git-credential-manager-core.dll", "args": ["store"], "cwd": "${workspaceFolder}/out/shared/Git-Credential-Manager", "console": "integratedTerminal", "stopAtEntry": false, }, { - "name": ".NET Core Attach", + "name": ".NET Attach", "type": "coreclr", "request": "attach", "processId": "${command:pickProcess}" diff --git a/README.md b/README.md index 51558e5d0..17fb5168e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ master|[![Build Status](https://mseng.visualstudio.com/AzureDevOps/_apis/build/s --- -[Git Credential Manager Core](https://github.com/microsoft/Git-Credential-Manager-Core) (GCM Core) is a secure Git credential helper built on [.NET Core](https://microsoft.com/dotnet) that runs on Windows and macOS. Linux support is in an early preview. +[Git Credential Manager Core](https://github.com/microsoft/Git-Credential-Manager-Core) (GCM Core) is a secure Git credential helper built on [.NET](https://microsoft.com/dotnet) that runs on Windows and macOS. Linux support is in an early preview. Compared to Git's [built-in credential helpers]((https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)) (Windows: wincred, macOS: osxkeychain, Linux: gnome-keyring) which provides single-factor authentication support working on any HTTP-enabled Git repository, GCM Core provides multi-factor authentication support for [Azure DevOps](https://dev.azure.com/), Azure DevOps Server (formerly Team Foundation Server), GitHub, and Bitbucket. diff --git a/docs/architecture.md b/docs/architecture.md index 6151b7507..28642b59b 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -49,14 +49,14 @@ library (C#). The library targets .NET Standard as well as .NET Framework. > browser auth pop-up on Windows platforms. > > There are extension points that now exist in MSAL.NET meaning we can plug-in -> our own browser pop-up handling code on .NET Core meaning both Windows and +> our own browser pop-up handling code on .NET meaning both Windows and > Mac. We haven't yet gotten around to exploring this. > > See [this](https://github.com/microsoft/Git-Credential-Manager-Core/issues/113) > issue for more information. The entry-point for GCM Core can be found in the `Git-Credential-Manager` -project, a console application that targets both .NET Core and .NET Framework. +project, a console application that targets both .NET and .NET Framework. This project emits the `git-credential-manager-core(.exe)` executable, and contains very little code - registration of all supported host providers and running the `Application` object found in `Microsoft.Git.CredentialManager`. diff --git a/docs/development.md b/docs/development.md index f14023e10..a30ed148c 100644 --- a/docs/development.md +++ b/docs/development.md @@ -91,6 +91,6 @@ For example: ```shell $ GCM_TRACE=1 git-credential-manager-core version -> 18:47:56.526712 ...er/Application.cs:69 trace: [RunInternalAsync] Git Credential Manager version 2.0.124-beta+e1ebbe1517 (macOS, .NET Core 3.1.3) 'version' -> Git Credential Manager version 2.0.124-beta+e1ebbe1517 (macOS, .NET Core 3.1.3) +> 18:47:56.526712 ...er/Application.cs:69 trace: [RunInternalAsync] Git Credential Manager version 2.0.124-beta+e1ebbe1517 (macOS, .NET 5.0) 'version' +> Git Credential Manager version 2.0.124-beta+e1ebbe1517 (macOS, .NET 5.0) ``` diff --git a/src/linux/Packaging.Linux/Packaging.Linux.csproj b/src/linux/Packaging.Linux/Packaging.Linux.csproj index 3eeb3f45f..87f7cc1c9 100644 --- a/src/linux/Packaging.Linux/Packaging.Linux.csproj +++ b/src/linux/Packaging.Linux/Packaging.Linux.csproj @@ -3,7 +3,7 @@ - netcoreapp3.1 + net5.0 false diff --git a/src/linux/Packaging.Linux/build.sh b/src/linux/Packaging.Linux/build.sh index 05a2b9d76..374bd04bb 100755 --- a/src/linux/Packaging.Linux/build.sh +++ b/src/linux/Packaging.Linux/build.sh @@ -47,7 +47,7 @@ GCM_SRC="$SRC/shared/Git-Credential-Manager" PROJ_OUT="$OUT/linux/Packaging.Linux" # Build parameters -FRAMEWORK=netcoreapp3.1 +FRAMEWORK=net5.0 RUNTIME=linux-x64 # Perform pre-execution checks diff --git a/src/osx/Installer.Mac/Installer.Mac.csproj b/src/osx/Installer.Mac/Installer.Mac.csproj index e04293895..b6ceb7de0 100644 --- a/src/osx/Installer.Mac/Installer.Mac.csproj +++ b/src/osx/Installer.Mac/Installer.Mac.csproj @@ -3,7 +3,7 @@ - netcoreapp3.1 + net5.0 false diff --git a/src/osx/Installer.Mac/layout.sh b/src/osx/Installer.Mac/layout.sh index 606da0273..2f1f7f9f3 100755 --- a/src/osx/Installer.Mac/layout.sh +++ b/src/osx/Installer.Mac/layout.sh @@ -23,7 +23,7 @@ INSTALLER_SRC="$SRC/osx/Installer.Mac" GCM_SRC="$SRC/shared/Git-Credential-Manager" # Build parameters -FRAMEWORK=netcoreapp3.1 +FRAMEWORK=net5.0 RUNTIME=osx-x64 # Parse script arguments diff --git a/src/osx/SignFiles.Mac/SignFiles.Mac.csproj b/src/osx/SignFiles.Mac/SignFiles.Mac.csproj index 42a14cef6..a29cd8c7f 100644 --- a/src/osx/SignFiles.Mac/SignFiles.Mac.csproj +++ b/src/osx/SignFiles.Mac/SignFiles.Mac.csproj @@ -3,7 +3,7 @@ - netcoreapp3.1 + net5.0 false $(RootDir) diff --git a/src/shared/Atlassian.Bitbucket.Tests/Atlassian.Bitbucket.Tests.csproj b/src/shared/Atlassian.Bitbucket.Tests/Atlassian.Bitbucket.Tests.csproj index 712e4122d..c7d3c76a6 100644 --- a/src/shared/Atlassian.Bitbucket.Tests/Atlassian.Bitbucket.Tests.csproj +++ b/src/shared/Atlassian.Bitbucket.Tests/Atlassian.Bitbucket.Tests.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net5.0 false true latest diff --git a/src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj b/src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj index 2c93e3855..0afef8898 100644 --- a/src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj +++ b/src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj @@ -2,8 +2,8 @@ Exe - netcoreapp3.1 - net472;netcoreapp3.1 + net5.0 + net472;net5.0 win-x86;osx-x64;linux-x64 x86 git-credential-manager-core diff --git a/src/shared/GitHub.Tests/GitHub.Tests.csproj b/src/shared/GitHub.Tests/GitHub.Tests.csproj index 49cef3957..05f016299 100644 --- a/src/shared/GitHub.Tests/GitHub.Tests.csproj +++ b/src/shared/GitHub.Tests/GitHub.Tests.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net5.0 false true latest diff --git a/src/shared/Microsoft.AzureRepos.Tests/Microsoft.AzureRepos.Tests.csproj b/src/shared/Microsoft.AzureRepos.Tests/Microsoft.AzureRepos.Tests.csproj index 64349d934..0b5ecb20a 100644 --- a/src/shared/Microsoft.AzureRepos.Tests/Microsoft.AzureRepos.Tests.csproj +++ b/src/shared/Microsoft.AzureRepos.Tests/Microsoft.AzureRepos.Tests.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net5.0 false true latest diff --git a/src/shared/Microsoft.Git.CredentialManager.Tests/Microsoft.Git.CredentialManager.Tests.csproj b/src/shared/Microsoft.Git.CredentialManager.Tests/Microsoft.Git.CredentialManager.Tests.csproj index b314e2b26..b264d2312 100644 --- a/src/shared/Microsoft.Git.CredentialManager.Tests/Microsoft.Git.CredentialManager.Tests.csproj +++ b/src/shared/Microsoft.Git.CredentialManager.Tests/Microsoft.Git.CredentialManager.Tests.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net5.0 false true latest