diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index d88bde4..27bc8dc 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,84 +1,88 @@
# ASP.NET Core
+
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
jobs:
-- job: OSX
- pool:
- vmImage: 'xcode9-macos10.13'
- steps:
- - task: Bash@3
- inputs:
- targetType: 'filePath'
- filePath: 'build.sh'
- arguments: '-configuration $(buildConfiguration) -target CiNonWin -framework netcoreapp2.1'
- failOnStderr: true
- displayName: 'Build'
- - task: PublishTestResults@2
- inputs:
- testResultsFormat: 'VSTest'
- testResultsFiles: '*.trx'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/tests'
- displayName: 'Publish Test results'
- - task: PublishCodeCoverageResults@1
- inputs:
- codeCoverageTool: "cobertura"
- summaryFileLocation: "$(Build.SourcesDirectory)/artifacts/coverage/*.xml"
- failIfCoverageEmpty: true
- displayName: 'Publish Code Coverage'
+ - job: OSX
+ pool:
+ vmImage: 'macOS-latest'
+ steps:
+ - task: Bash@3
+ continueOnError: true
+ inputs:
+ targetType: 'filePath'
+ filePath: 'build.sh'
+ arguments: '-configuration $(buildConfiguration) -target CiNonWin -framework netcoreapp2.1'
+ failOnStderr: true
+ displayName: 'Build'
+ - task: PublishTestResults@2
+ inputs:
+ testResultsFormat: 'VSTest'
+ testResultsFiles: '*.trx'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/tests'
+ displayName: 'Publish Test results'
+ - task: PublishCodeCoverageResults@1
+ inputs:
+ codeCoverageTool: "cobertura"
+ summaryFileLocation: "$(Build.SourcesDirectory)/artifacts/coverage/*.xml"
+ failIfCoverageEmpty: true
+ displayName: 'Publish Code Coverage'
-- job: Ubuntu
- pool:
- vmImage: 'ubuntu-16.04'
- steps:
- - task: Bash@3
- inputs:
- targetType: 'filePath'
- filePath: 'build.sh'
- arguments: '-configuration $(buildConfiguration) -target CiNonWin -framework netcoreapp2.1'
- failOnStderr: true
- displayName: 'Build'
- - task: PublishTestResults@2
- inputs:
- testResultsFormat: 'VSTest'
- testResultsFiles: '*.trx'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/tests'
- displayName: 'Publish Test results'
+ - job: Ubuntu
+ pool:
+ vmImage: 'ubuntu-latest'
+ steps:
+ - task: Bash@3
+ continueOnError: true
+ inputs:
+ targetType: 'filePath'
+ filePath: 'build.sh'
+ arguments: '-configuration $(buildConfiguration) -target CiNonWin -framework netcoreapp2.1'
+ failOnStderr: true
+ displayName: 'Build'
+ - task: PublishTestResults@2
+ inputs:
+ testResultsFormat: 'VSTest'
+ testResultsFiles: '*.trx'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/tests'
+ displayName: 'Publish Test results'
-- job: Windows
- pool:
- vmImage: 'vs2017-win2016'
- steps:
- - task: PowerShell@2
- inputs:
- targetType: 'filePath'
- filePath: 'build.ps1'
- arguments: '-configuration $(buildConfiguration) -target Ci'
- failOnStderr: true
- displayName: 'Build'
- - task: PublishTestResults@2
- inputs:
- testResultsFormat: 'VSTest'
- testResultsFiles: '*.trx'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/tests'
- displayName: 'Publish Test results'
- - task: PublishCodeCoverageResults@1
- inputs:
- codeCoverageTool: "cobertura"
- summaryFileLocation: "$(Build.SourcesDirectory)/artifacts/coverage/*.xml"
- failIfCoverageEmpty: true
- displayName: 'Publish Code Coverage'
- - task: PublishBuildArtifacts@1
- inputs:
- pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget'
- artifactName: 'Nuget'
- displayName: 'Publish Artifacts'
+ - job: Windows
+ pool:
+ vmImage: 'windows-latest'
+ steps:
+ - task: PowerShell@2
+ continueOnError: true
+ inputs:
+ targetType: 'filePath'
+ filePath: 'build.ps1'
+ arguments: '-configuration $(buildConfiguration) -target Ci'
+ failOnStderr: true
+ displayName: 'Build'
+ - task: PublishTestResults@2
+ inputs:
+ testResultsFormat: 'VSTest'
+ testResultsFiles: '*.trx'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/tests'
+ displayName: 'Publish Test results'
+ - task: PublishCodeCoverageResults@1
+ inputs:
+ codeCoverageTool: "cobertura"
+ summaryFileLocation: "$(Build.SourcesDirectory)/artifacts/coverage/*.xml"
+ failIfCoverageEmpty: true
+ displayName: 'Publish Code Coverage'
+ - task: PublishBuildArtifacts@1
+ inputs:
+ pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget'
+ artifactName: 'Nuget'
+ displayName: 'Publish Artifacts'
trigger:
-- master
-- develop
-- release/*
+ - master
+ - develop
+ - release/*
variables:
buildConfiguration: 'Release'
diff --git a/build/Build.cs b/build/Build.cs
index e23858b..1181c30 100644
--- a/build/Build.cs
+++ b/build/Build.cs
@@ -1,9 +1,11 @@
using Nuke.Common;
using Nuke.Common.Git;
+using Nuke.Common.IO;
using Nuke.Common.ProjectModel;
using Nuke.Common.Tooling;
using Nuke.Common.Tools.DotNet;
using Nuke.Common.Tools.GitVersion;
+using Nuke.Common.Utilities.Collections;
using static Nuke.Common.IO.FileSystemTasks;
using static Nuke.Common.IO.PathConstruction;
using static Nuke.Common.Tools.DotNet.DotNetTasks;
@@ -15,7 +17,7 @@ class Build : NukeBuild
[Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")]
readonly string Configuration = IsLocalBuild ? "Debug" : "Release";
- [Parameter("Explicit framework to build")] readonly string Framework = null;
+ [Parameter("Explicit framework to build")] readonly string Framework = "";
[Parameter("Collect code coverage. Default is 'true'")] readonly bool? Cover = true;
@@ -23,7 +25,7 @@ class Build : NukeBuild
[Solution("src/NodaTime.Serialization.Utf8Json/NodaTime.Serialization.Utf8Json.sln")] readonly Solution Solution;
[GitRepository] readonly GitRepository GitRepository;
- [GitVersion] readonly GitVersion GitVersion;
+ [GitVersion(Framework = "netcoreapp3.1")] readonly GitVersion GitVersion;
AbsolutePath SourceDirectory => RootDirectory / "src";
AbsolutePath ArtifactsDirectory => RootDirectory / "artifacts";
@@ -31,7 +33,7 @@ class Build : NukeBuild
Target Clean => _ => _
.Executes(() =>
{
- DeleteDirectories(GlobDirectories(SourceDirectory, "**/bin", "**/obj"));
+ GlobDirectories(SourceDirectory, "**/bin", "**/obj").ForEach(DeleteDirectory);
EnsureCleanDirectory(ArtifactsDirectory);
});
@@ -50,8 +52,8 @@ class Build : NukeBuild
DotNetBuild(s => s
.SetProjectFile(Solution)
.SetConfiguration(Configuration)
- .SetAssemblyVersion(GitVersion.GetNormalizedAssemblyVersion())
- .SetFileVersion(GitVersion.GetNormalizedFileVersion())
+ .SetAssemblyVersion($"{GitVersion.Major}.{GitVersion.Minor}.0")
+ .SetFileVersion(GitVersion.MajorMinorPatch)
.SetInformationalVersion(GitVersion.InformationalVersion)
.SetFramework(Framework)
.EnableNoRestore()
@@ -69,9 +71,9 @@ class Build : NukeBuild
.EnableNoBuild()
.EnableNoRestore()
.SetLogger("trx")
- .SetLogOutput(true)
+ .EnableProcessLogOutput()
.SetFramework(Framework)
- .SetArgumentConfigurator(arguments => arguments.Add("/p:CollectCoverage={0}", Cover)
+ .SetProcessArgumentConfigurator(arguments => arguments.Add("/p:CollectCoverage={0}", Cover)
.Add("/p:CoverletOutput={0}/", ArtifactsDirectory / "coverage")
.Add("/p:Threshold={0}", Threshold)
.Add("/p:UseSourceLink={0}", "true")
diff --git a/build/_build.csproj b/build/_build.csproj
index 53e9558..1346fec 100644
--- a/build/_build.csproj
+++ b/build/_build.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.1
+ netcoreapp3.1
false
False
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/src/NodaTime.Serialization.Utf8Json/.idea/.idea.NodaTime.Serialization.Utf8Json/.idea/projectSettingsUpdater.xml b/src/NodaTime.Serialization.Utf8Json/.idea/.idea.NodaTime.Serialization.Utf8Json/.idea/projectSettingsUpdater.xml
new file mode 100644
index 0000000..4bb9f4d
--- /dev/null
+++ b/src/NodaTime.Serialization.Utf8Json/.idea/.idea.NodaTime.Serialization.Utf8Json/.idea/projectSettingsUpdater.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.Tests/DS.NodaTime.Serialization.Utf8Json.Tests.csproj b/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.Tests/DS.NodaTime.Serialization.Utf8Json.Tests.csproj
index 58a3b08..c2fdc79 100644
--- a/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.Tests/DS.NodaTime.Serialization.Utf8Json.Tests.csproj
+++ b/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.Tests/DS.NodaTime.Serialization.Utf8Json.Tests.csproj
@@ -7,8 +7,11 @@
-
-
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.csproj b/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.csproj
index 45a563b..223e65b 100644
--- a/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.csproj
+++ b/src/NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json/DS.NodaTime.Serialization.Utf8Json.csproj
@@ -16,7 +16,7 @@
-
+