diff --git a/Capnp.Net.Runtime/Capnp.Net.Runtime.csproj b/Capnp.Net.Runtime/Capnp.Net.Runtime.csproj index bb63b16..6b5d624 100644 --- a/Capnp.Net.Runtime/Capnp.Net.Runtime.csproj +++ b/Capnp.Net.Runtime/Capnp.Net.Runtime.csproj @@ -18,7 +18,6 @@ MIT Git capnp "Cap'n Proto" RPC serialization cerealization - 1.2-local$([System.DateTime]::UtcNow.ToString(yyMMddHHmm)) Debug;Release true diff --git a/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.csproj b/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.csproj index 3f7d27f..92c5f3c 100644 --- a/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.csproj +++ b/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.csproj @@ -9,12 +9,8 @@ true true $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb - 1.2.0.0 - 1.2.0.0 - 1.2-local$([System.DateTime]::UtcNow.ToString(yyMMddHHmm)) - + $(MSBuildThisFileDirectory)CapnpC.CSharp.MsBuild.Generation.nuspec - version=$(Version);configuration=$(Configuration) true ..\bin\$(Configuration) Debug;Release diff --git a/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.nuspec b/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.nuspec index e048bb9..e3ad91d 100644 --- a/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.nuspec +++ b/CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.nuspec @@ -21,9 +21,9 @@ - - - + + + diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..46af06b --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,9 @@ + + + + + 3.0.28 + all + + + \ No newline at end of file diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000..20033a9 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,23 @@ + + + + $(NuspecProperties);config=$(Configuration) + $(NuspecProperties);version=$(NuGetPackageVersion) + $(NuspecProperties);SolutionDir=$(SolutionDir) + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index b18d96d..a42263e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,27 +1,21 @@ -version: '1.2.{build}' image: Visual Studio 2019 # branches: # only: # - master +version: '{build}' cache: - c:\Tools\vcpkg\installed -init: - # Good practise, because Windows line endings are different from Unix/Linux ones - - cmd: git config --global core.autocrlf true install: - cd c:\tools\vcpkg - vcpkg integrate install - vcpkg install capnproto - cd %APPVEYOR_BUILD_FOLDER% -dotnet_csproj: - patch: true - file: '**\*.csproj;**\*.props;**\*.fsproj;**\*.xml' - version: '{version}' - package_version: '{version}' - assembly_version: '{version}' - file_version: '{version}' - informational_version: '{version}' + - dotnet tool install -g nbgv +init: + # Good practise, because Windows line endings are different from Unix/Linux ones + - cmd: git config --global core.autocrlf true before_build: + - cmd: nbgv cloud - cmd: dotnet --version - cmd: msbuild -ver - cmd: dotnet restore ./Capnp.Net.Runtime/Capnp.Net.Runtime.csproj --verbosity m @@ -38,48 +32,54 @@ build_script: - cmd: msbuild ./Capnp.Net.sln /p:Configuration="Release" - cmd: msbuild ./CapnpCompatTest.sln /p:Configuration="Debug" - cmd: msbuild ./CapnpCompatTest.sln /p:Configuration="Release" - - ps: scripts\capnpc-csharp-pack.ps1 $env:appveyor_build_version + - ps: scripts\capnpc-csharp-pack.ps1 after_build: # For once the build has completed artifacts: - - path: bin\Release\Capnp.Net.Runtime.$(appveyor_build_version).nupkg + - path: bin\Release\Capnp.Net.Runtime.*.nupkg name: Capnp.Net.Runtime type: NuGetPackage - - path: bin\Release\CapnpC.CSharp.MsBuild.Generation.$(appveyor_build_version).nupkg + - path: bin\Release\CapnpC.CSharp.MsBuild.Generation.*.nupkg name: CapnpC.CSharp.MsBuild.Generation type: NuGetPackage - - path: chocolatey\install\capnpc-csharp-win-x86.$(appveyor_build_version).nupkg + - path: chocolatey\install\capnpc-csharp-win-x86.*.nupkg name: capnpc-csharp-win-x86 type: NuGetPackage - - path: chocolatey\install\capnpc-csharp.$(appveyor_build_version).nupkg + - path: chocolatey\install\capnpc-csharp.*-deprecated.nupkg + name: capnpc-csharp-deprecated + type: NuGetPackage + - path: capnpc-csharp\nupkg\*.nupkg name: capnpc-csharp type: NuGetPackage -clone_depth: 1 test_script: - - cmd: vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.Generator.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.Generator.Tests.dll - - cmd: cd %APPVEYOR_BUILD_FOLDER%\chocolatey\install - - cmd: choco install capnpc-csharp --source=".;https://chocolatey.org/api/v2" --force -y - - cmd: cd %APPVEYOR_BUILD_FOLDER%\install-test - - cmd: compile-test - - cmd: cd %APPVEYOR_BUILD_FOLDER% - - cmd: vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.Generator.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.Generator.Tests.dll - - cmd: choco uninstall capnpc-csharp -y - - cmd: cd %APPVEYOR_BUILD_FOLDER%\install-test - - cmd: notinstalled-test - - cmd: cd %APPVEYOR_BUILD_FOLDER%\chocolatey\install - - cmd: choco install capnpc-csharp-win-x86 --source=".;https://chocolatey.org/api/v2" --force -y - - cmd: cd %APPVEYOR_BUILD_FOLDER%\install-test - - cmd: compile-test - - cmd: choco uninstall capnpc-csharp-win-x86 -y - - cmd: notinstalled-test - - cmd: cd %APPVEYOR_BUILD_FOLDER% - - cmd: vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.MsBuild.Generation.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.MsBuild.Generation.Tests.dll - - cmd: msbuild -t:restore ./MsBuildGenerationTest/MsBuildGenerationTest.csproj /p:Configuration="Debug" /p:PackageReferenceVersion="%APPVEYOR_BUILD_VERSION%" - - cmd: msbuild ./MsBuildGenerationTest/MsBuildGenerationTest.sln /p:Configuration="Debug" /p:PackageReferenceVersion="%APPVEYOR_BUILD_VERSION%" - - cmd: vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests\bin\Debug\net471\Capnp.Net.Runtime.Tests.Std20.dll - - cmd: vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests\bin\Release\net471\Capnp.Net.Runtime.Tests.Std20.dll - - cmd: vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests.Core21\bin\Debug\netcoreapp2.1\Capnp.Net.Runtime.Tests.Core21.dll - - cmd: vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests.Core21\bin\Release\netcoreapp2.1\Capnp.Net.Runtime.Tests.Core21.dll + - cmd: | + nbgv get-version -v NuGetPackageVersion >> version.txt + set /P VERSION=< version.txt + vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.Generator.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.Generator.Tests.dll + choco install capnproto --source="https://chocolatey.org/api/v2" --force -y + cd %APPVEYOR_BUILD_FOLDER%\capnpc-csharp + dotnet tool install --global --add-source ./nupkg capnpc-csharp --version %VERSION% + cd %APPVEYOR_BUILD_FOLDER%\install-test + compile-test + cd %APPVEYOR_BUILD_FOLDER% + vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.Generator.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.Generator.Tests.dll + dotnet tool uninstall --global capnpc-csharp + cd %APPVEYOR_BUILD_FOLDER%\install-test + notinstalled-test + cd %APPVEYOR_BUILD_FOLDER%\chocolatey\install + choco install capnpc-csharp-win-x86 --source=".;https://chocolatey.org/api/v2" --force -y --version %VERSION% --pre + cd %APPVEYOR_BUILD_FOLDER%\install-test + compile-test + choco uninstall capnpc-csharp-win-x86 -y + notinstalled-test + cd %APPVEYOR_BUILD_FOLDER% + vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.MsBuild.Generation.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.MsBuild.Generation.Tests.dll + msbuild -t:restore ./MsBuildGenerationTest/MsBuildGenerationTest.csproj /p:Configuration="Debug" /p:PackageReferenceVersion="%VERSION%" + msbuild ./MsBuildGenerationTest/MsBuildGenerationTest.sln /p:Configuration="Debug" /p:PackageReferenceVersion="%VERSION%" + vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests\bin\Debug\net471\Capnp.Net.Runtime.Tests.Std20.dll + vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests\bin\Release\net471\Capnp.Net.Runtime.Tests.Std20.dll + vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests.Core21\bin\Debug\netcoreapp2.1\Capnp.Net.Runtime.Tests.Core21.dll + vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests.Core21\bin\Release\netcoreapp2.1\Capnp.Net.Runtime.Tests.Core21.dll on_finish : # any cleanup in here deploy: diff --git a/capnpc-csharp/capnpc-csharp.csproj b/capnpc-csharp/capnpc-csharp.csproj index 373c3a3..090c3d4 100644 --- a/capnpc-csharp/capnpc-csharp.csproj +++ b/capnpc-csharp/capnpc-csharp.csproj @@ -5,7 +5,10 @@ netcoreapp2.1 CapnpC 7.1 - false + true + true + capnpc-csharp + ./nupkg MIT Christian Köllner and contributors Cap'n Proto C# code generator backend @@ -13,7 +16,6 @@ https://github.com/c80k/capnproto-dotnetcore Git capnp capnpc RPC serialization cerealization - 1.2.0 Debug;Release diff --git a/chocolatey/capnpc-csharp/capnpc-csharp.nuspec b/chocolatey/capnpc-csharp/capnpc-csharp.nuspec index 801c842..7a819d2 100644 --- a/chocolatey/capnpc-csharp/capnpc-csharp.nuspec +++ b/chocolatey/capnpc-csharp/capnpc-csharp.nuspec @@ -10,8 +10,11 @@ https://github.com/c80k/capnproto-dotnetcore/blob/master/LICENSE https://github.com/c80k/capnproto-dotnetcore - capnpc-csharp (Install) - Cap'n Proto C# code generator backend, portable .NET Core 2.1 + [Deprecated] capnpc-csharp (Install) + Cap'n Proto C# code generator backend, portable .NET Core 2.1 + This package is deprecated now. It was converted to a .NET Core CLI tool which is now hosted here: https://www.nuget.org/packages/capnpc-csharp + To install, type: dotnet tool install -g capnpc-csharp + Cap'n Proto C# code generator backend. This is the portable variant which depends on .NET Core 2.1 (as opposed to capnpc-csharp-win-x86) Christian Köllner and contributors https://github.com/c80k/capnproto-dotnetcore @@ -22,15 +25,7 @@ https://github.com/c80k/capnproto-dotnetcore/releases/tag/v$version$ - - - - - - - - - + \ No newline at end of file diff --git a/scripts/capnpc-csharp-pack.ps1 b/scripts/capnpc-csharp-pack.ps1 index 79935d5..6aadac5 100644 --- a/scripts/capnpc-csharp-pack.ps1 +++ b/scripts/capnpc-csharp-pack.ps1 @@ -1,5 +1,5 @@ -param($version = "1.0.0") - +$jversion = nbgv get-version -f json | ConvertFrom-Json +$version = $($jversion.NuGetPackageVersion) $id = "capnpc-csharp" $id_win_x86 = "capnpc-csharp-win-x86" $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path @@ -10,7 +10,7 @@ $installDir = "$chocoDir\install" dotnet build -c Release "$scriptDir\..\Capnp.Net.sln" dotnet publish -c Release -r win-x86 --self-contained -o "$chocoDir\$id_win_x86\bin" "$csprojDir\$csprojFile" -dotnet publish -c Release -o "$chocoDir\$id\bin" "$csprojDir\$csprojFile" +# dotnet publish -c Release -o "$chocoDir\$id\bin" "$csprojDir\$csprojFile" If(!(test-path $installDir)) { @@ -21,3 +21,4 @@ Copy-Item "$scriptDir\..\LICENSE" -Destination "$chocoDir\LICENSE.txt" choco pack "$chocoDir\$id\$id.nuspec" --version $version --outputdirectory $installDir choco pack "$chocoDir\$id_win_x86\$id_win_x86.nuspec" --version $version --outputdirectory $installDir +Rename-Item -Path "$installDir\$id.$version.nupkg" -NewName "$id.$version-deprecated.nupkg" \ No newline at end of file diff --git a/version.json b/version.json new file mode 100644 index 0000000..b47b6b2 --- /dev/null +++ b/version.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "1.3", + "publicReleaseRefSpec": [ + "^refs/heads/master$", + "^refs/heads/v\\d+(?:\\.\\d+)?$" + ], + "cloudBuild": { + "buildNumber": { + "enabled": true, + "setVersionVariables": true + } + } +} \ No newline at end of file