From b639ac7b9f26b7fffd1afd09bad6c271ee7ca3af Mon Sep 17 00:00:00 2001 From: Juan Sebastian Hoyos Ayala Date: Fri, 17 Mar 2023 17:06:29 -0700 Subject: [PATCH 1/6] Fence publishing in separate stage --- eng/pipelines/msquic.yml | 29 ++++++++++++++++++++------- eng/pipelines/templates/build-job.yml | 4 ++-- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/eng/pipelines/msquic.yml b/eng/pipelines/msquic.yml index d0d44057..92636c81 100644 --- a/eng/pipelines/msquic.yml +++ b/eng/pipelines/msquic.yml @@ -155,11 +155,26 @@ stages: pool: vmImage: 'macOS-10.15' -# Publish and validation steps. Only run in official builds -- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - template: \eng\common\templates\post-build\post-build.yml + - template: /eng/common/templates/job/publish-build-assets.yml parameters: - publishingInfraVersion: 3 - validateDependsOn: - - build - enableSourceLinkValidation: true + configuration: Release + dependsOn: Sign_Package_Publish + publishUsingPipelines: true + pool: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals windows.vs2022.amd64 + + # Publish and validation steps. Only run in official builds + - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - stage: Publish + dependsOn: + - Build + jobs: + - template: /eng/common/templates/job/publish-build-assets.yml + parameters: + publishUsingPipelines: true + publishAssetsImmediately: true + pool: + ${{ if eq(variables['System.TeamProject'], 'internal') }}: + name: $(DncEngInternalBuildPool) + demands: ImageOverride -equals windows.vs2022.amd64 diff --git a/eng/pipelines/templates/build-job.yml b/eng/pipelines/templates/build-job.yml index 07b9f40c..18d850ba 100644 --- a/eng/pipelines/templates/build-job.yml +++ b/eng/pipelines/templates/build-job.yml @@ -9,13 +9,13 @@ parameters: jobs: -- template: /eng/common/templates/jobs/jobs.yml +- template: /eng/common/templates/job/job.yml parameters: enableTelemetry: true helixRepo: dotnet/msquic pool: ${{ parameters.pool }} enablePublishBuildArtifacts: true - enablePublishBuildAssets: ${{ eq(parameters.osGroup, 'Windows') }} + enablePublishBuildAssets: ${{ parameters.isOfficialBuild }} enablePublishUsingPipelines: true enableMicrobuild: true graphFileGeneration: From fe22a987200b424c681dfcd981c8307111bdd187 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Hoyos Ayala Date: Fri, 17 Mar 2023 17:17:11 -0700 Subject: [PATCH 2/6] Fix yml and use pool provider subs --- eng/pipelines/msquic.yml | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/eng/pipelines/msquic.yml b/eng/pipelines/msquic.yml index 92636c81..3dc0c703 100644 --- a/eng/pipelines/msquic.yml +++ b/eng/pipelines/msquic.yml @@ -44,6 +44,7 @@ pr: variables: - name: _TeamName value: dotnet-core + - template: /eng/common/templates/variables/pool-providers.yml stages: - stage: build @@ -57,11 +58,11 @@ stages: ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: isOfficialBuild: true pool: - name: NetCore1ESPool-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals 1es-windows-2019 ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals 1es-windows-2019-open - template: /eng/pipelines/templates/build-job.yml @@ -72,11 +73,11 @@ stages: ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: isOfficialBuild: true pool: - name: NetCore1ESPool-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals 1es-windows-2019 ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals 1es-windows-2019-open - template: /eng/pipelines/templates/build-job.yml @@ -87,11 +88,11 @@ stages: ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: isOfficialBuild: true pool: - name: NetCore1ESPool-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals 1es-windows-2019 ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals 1es-windows-2019-open - template: /eng/pipelines/templates/build-job.yml @@ -105,7 +106,7 @@ stages: ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: isOfficialBuild: true pool: - name: NetCore1ESPool-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: pool: @@ -118,12 +119,12 @@ stages: runTests: false ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals 1es-ubuntu-2004-open ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: isOfficialBuild: true pool: - name: NetCore1ESPool-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals build.ubuntu.1804.amd64 container: registry: mcr.microsoft.com/dotnet-buildtools/prereqs @@ -136,12 +137,12 @@ stages: runTests: false ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals 1es-ubuntu-2004-open ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: isOfficialBuild: true pool: - name: NetCore1ESPool-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals build.ubuntu.1804.amd64 container: registry: mcr.microsoft.com/dotnet-buildtools/prereqs @@ -155,17 +156,8 @@ stages: pool: vmImage: 'macOS-10.15' - - template: /eng/common/templates/job/publish-build-assets.yml - parameters: - configuration: Release - dependsOn: Sign_Package_Publish - publishUsingPipelines: true - pool: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals windows.vs2022.amd64 - # Publish and validation steps. Only run in official builds - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: +- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - stage: Publish dependsOn: - Build From 4413110db6813c9272c068571421e464b6052eac Mon Sep 17 00:00:00 2001 From: Juan Sebastian Hoyos Ayala Date: Fri, 17 Mar 2023 17:27:52 -0700 Subject: [PATCH 3/6] Fix parameter lowering --- eng/pipelines/msquic.yml | 2 +- eng/pipelines/templates/build-job.yml | 158 +++++++++++++------------- 2 files changed, 78 insertions(+), 82 deletions(-) diff --git a/eng/pipelines/msquic.yml b/eng/pipelines/msquic.yml index 3dc0c703..d3e7db09 100644 --- a/eng/pipelines/msquic.yml +++ b/eng/pipelines/msquic.yml @@ -154,7 +154,7 @@ stages: archType: x64 runTests: false pool: - vmImage: 'macOS-10.15' + vmImage: 'macOS-11' # Publish and validation steps. Only run in official builds - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: diff --git a/eng/pipelines/templates/build-job.yml b/eng/pipelines/templates/build-job.yml index 18d850ba..e33e9049 100644 --- a/eng/pipelines/templates/build-job.yml +++ b/eng/pipelines/templates/build-job.yml @@ -18,88 +18,84 @@ jobs: enablePublishBuildAssets: ${{ parameters.isOfficialBuild }} enablePublishUsingPipelines: true enableMicrobuild: true - graphFileGeneration: - enabled: false - includeToolset: false - - jobs: - - job: ${{ format('{0}_{1}', parameters.osGroup, parameters.archType) }} - displayName: ${{ format('{0} {1}', parameters.osGroup, parameters.archType) }} - strategy: - matrix: - Release: - _BuildConfig: Release - - ${{ if eq(parameters.runTests, true) }}: - testResultsFormat: vstest - testRunTitle: ${{ parameters.osGroup }}_${{ parameters.archType }}_$(_BuildConfig) - - ${{ if ne(parameters.container, '') }}: - ${{ if eq(parameters.container.registry, 'mcr') }}: - container: ${{ format('{0}:{1}', 'mcr.microsoft.com/dotnet-buildtools/prereqs', parameters.container.image) }} - ${{ if ne(parameters.container.registry, 'mcr') }}: - container: ${{ format('{0}:{1}', parameters.container.registry, parameters.container.image) }} - - variables: - - _buildScript: build.cmd - - - ${{ if ne(parameters.osGroup, 'Windows') }}: - - _buildScript: ./build.sh - - _outputPath: $(Build.SourcesDirectory)/artifacts/packages/${{ parameters.osGroup }}/${{ parameters.archType }}_$(_BuildConfig)_openssl - - - ${{ if eq(parameters.osGroup, 'macOS') }}: - - OPENSSL_ROOT_DIR: /usr/local/opt/openssl@1.1 - - - _testBuildArg: '' - - ${{ if eq(parameters.runTests, true) }}: - - _testBuildArg: -test - - - _officialBuildArgs: '' - - _signingArgs: '' - - ${{ if eq(parameters.isOfficialBuild, true) }}: - - group: DotNet-Symbol-Server-Pats - - _SignType: real - - _officialBuildArgs: -publish - /p:TeamName=$(_TeamName) - /p:OfficialBuildId=$(Build.BuildNumber) - /p:DotNetPublishUsingPipelines=true - /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat) - /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat) - - ${{ if eq(parameters.osGroup, 'Windows') }}: - - _signingArgs: -sign - /p:DotNetSignType=$(_SignType) - - _crossBuild: '' - - _buildargs: -ci -c $(_BuildConfig) $(_testBuildArg) $(_signingArgs) $(_officialBuildArgs) /p:TargetArchitecture=${{ parameters.archType }} - - ${{ if eq(parameters.osGroup, 'Linux') }}: - - ${{ if eq(parameters.archType, 'arm64') }}: - - _crossBuild: CC=clang-9 CXX=clang++-9 CFLAGS="--target=aarch64-linux-gnu --sysroot=/crossrootfs/arm64" LDFLAGS='-L/crossrootfs/arm64/lib -L/crossrootfs/arm64/usr/lib/aarch64-linux-gnu' - - ${{ if eq(parameters.archType, 'arm') }}: - - _crossBuild: CC=clang-9 CXX=clang++-9 CFLAGS="--target=arm-linux-gnueabihf --sysroot=/crossrootfs/arm" LDFLAGS='-L/crossrootfs/arm/lib -L/crossrootfs/arm/usr/lib/arm-linux-gnueabihf' - - steps: - - checkout: self - submodules: recursive - - - ${{ if eq(parameters.osGroup, 'Windows') }}: - - script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force - displayName: Install native dependencies - - ${{ if eq(parameters.osGroup, 'macOS') }}: - - script: sudo gem install fpm - displayName: Install fpm + name: ${{ format('{0}_{1}', parameters.osGroup, parameters.archType) }} + displayName: ${{ format('{0} {1}', parameters.osGroup, parameters.archType) }} + strategy: + matrix: + Release: + _BuildConfig: Release + + ${{ if eq(parameters.runTests, true) }}: + testResultsFormat: vstest + testRunTitle: ${{ parameters.osGroup }}_${{ parameters.archType }}_$(_BuildConfig) + + ${{ if ne(parameters.container, '') }}: + ${{ if eq(parameters.container.registry, 'mcr') }}: + container: ${{ format('{0}:{1}', 'mcr.microsoft.com/dotnet-buildtools/prereqs', parameters.container.image) }} + ${{ if ne(parameters.container.registry, 'mcr') }}: + container: ${{ format('{0}:{1}', parameters.container.registry, parameters.container.image) }} - - script: $(_crossBuild) $(_buildScript) $(_buildargs) - displayName: Build binaries + variables: + - _buildScript: build.cmd - ${{ if ne(parameters.osGroup, 'Windows') }}: - - script: ./scripts/make-packages.sh -arch ${{ parameters.archType }} -config $(_BuildConfig) -output $(_outputPath) - displayName: Make Unix packages - workingDirectory: src/msquic - - - task: PublishBuildArtifacts@1 - displayName: Push Unix Packages - inputs: - PathtoPublish: $(_outputPath) - PublishLocation: Container - ArtifactName: UnsignedUnixPackages - condition: succeeded() + - _buildScript: ./build.sh + - _outputPath: $(Build.SourcesDirectory)/artifacts/packages/${{ parameters.osGroup }}/${{ parameters.archType }}_$(_BuildConfig)_openssl + + - ${{ if eq(parameters.osGroup, 'macOS') }}: + - OPENSSL_ROOT_DIR: /usr/local/opt/openssl@1.1 + + - _testBuildArg: '' + - ${{ if eq(parameters.runTests, true) }}: + - _testBuildArg: -test + + - _officialBuildArgs: '' + - _signingArgs: '' + - ${{ if eq(parameters.isOfficialBuild, true) }}: + - group: DotNet-Symbol-Server-Pats + - _SignType: real + - _officialBuildArgs: -publish + /p:TeamName=$(_TeamName) + /p:OfficialBuildId=$(Build.BuildNumber) + /p:DotNetPublishUsingPipelines=true + /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat) + /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat) + - ${{ if eq(parameters.osGroup, 'Windows') }}: + - _signingArgs: -sign + /p:DotNetSignType=$(_SignType) + - _crossBuild: '' + - _buildargs: -ci -c $(_BuildConfig) $(_testBuildArg) $(_signingArgs) $(_officialBuildArgs) /p:TargetArchitecture=${{ parameters.archType }} + - ${{ if eq(parameters.osGroup, 'Linux') }}: + - ${{ if eq(parameters.archType, 'arm64') }}: + - _crossBuild: CC=clang-9 CXX=clang++-9 CFLAGS="--target=aarch64-linux-gnu --sysroot=/crossrootfs/arm64" LDFLAGS='-L/crossrootfs/arm64/lib -L/crossrootfs/arm64/usr/lib/aarch64-linux-gnu' + - ${{ if eq(parameters.archType, 'arm') }}: + - _crossBuild: CC=clang-9 CXX=clang++-9 CFLAGS="--target=arm-linux-gnueabihf --sysroot=/crossrootfs/arm" LDFLAGS='-L/crossrootfs/arm/lib -L/crossrootfs/arm/usr/lib/arm-linux-gnueabihf' + + steps: + - checkout: self + submodules: recursive + + - ${{ if eq(parameters.osGroup, 'Windows') }}: + - script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force + displayName: Install native dependencies + + - ${{ if eq(parameters.osGroup, 'macOS') }}: + - script: sudo gem install fpm + displayName: Install fpm + + - script: $(_crossBuild) $(_buildScript) $(_buildargs) + displayName: Build binaries + + - ${{ if ne(parameters.osGroup, 'Windows') }}: + - script: ./scripts/make-packages.sh -arch ${{ parameters.archType }} -config $(_BuildConfig) -output $(_outputPath) + displayName: Make Unix packages + workingDirectory: src/msquic + + - task: PublishBuildArtifacts@1 + displayName: Push Unix Packages + inputs: + PathtoPublish: $(_outputPath) + PublishLocation: Container + ArtifactName: UnsignedUnixPackages + condition: succeeded() From 99892ec90d45ced96fe4e6c946eb8d2210190f6d Mon Sep 17 00:00:00 2001 From: Juan Sebastian Hoyos Ayala Date: Tue, 21 Mar 2023 10:07:12 -0700 Subject: [PATCH 4/6] Allow for per-leg packaging and add osx-x64 package Also add win-x64 leg generation of metapackage --- Directory.Build.props | 73 ++++++++++++++++++- build.cmd | 2 +- build.sh | 2 +- eng/Build.props | 2 +- .../System.Net.MsQuic.Transport.csproj | 26 ------- .../System.Net.MsQuic.Transport.proj | 34 +++++++++ ...me.native.System.Net.MsQuic.Transport.proj | 6 ++ ...me.native.System.Net.MsQuic.Transport.proj | 6 ++ ...me.native.System.Net.MsQuic.Transport.proj | 6 ++ ...me.native.System.Net.MsQuic.Transport.proj | 17 ----- ...e.native.System.Net.MsQuic.Transport.props | 29 ++++++-- ...me.native.System.Net.MsQuic.Transport.proj | 6 ++ ...me.native.System.Net.MsQuic.Transport.proj | 5 +- ...me.native.System.Net.MsQuic.Transport.proj | 5 +- ...me.native.System.Net.MsQuic.Transport.proj | 5 +- 15 files changed, 161 insertions(+), 63 deletions(-) delete mode 100644 src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.csproj create mode 100644 src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.proj create mode 100644 src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm.runtime.native.System.Net.MsQuic.Transport.proj create mode 100644 src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm64.runtime.native.System.Net.MsQuic.Transport.proj create mode 100644 src/System.Net.MsQuic.Transport/pkg/runtime.linux-x64.runtime.native.System.Net.MsQuic.Transport.proj delete mode 100644 src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.proj create mode 100644 src/System.Net.MsQuic.Transport/pkg/runtime.osx-x64.runtime.native.System.Net.MsQuic.Transport.proj diff --git a/Directory.Build.props b/Directory.Build.props index 22bb8e06..18b6dbb1 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,6 +9,31 @@ <_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows $(_hostOS) $(_hostOS) + + <_hostRid Condition="'$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier) + <_hostRid Condition="'$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant) + <_parseDistroRid>$(__DistroRid) + <_parseDistroRid Condition="'$(_parseDistroRid)' == ''">$(_hostRid) + <_distroRidIndex>$(_parseDistroRid.LastIndexOf('-')) + + <_runtimeOS Condition="'$(_runtimeOS)' == ''">$(_parseDistroRid.SubString(0, $(_distroRidIndex))) + + <_portableOS>linux + <_portableOS Condition="'$(_runtimeOS)' == 'linux-musl' or $(_runtimeOS.StartsWith('alpine'))">linux-musl + <_portableOS Condition="'$(_runtimeOS)' == 'linux-bionic'">linux-bionic + <_portableOS Condition="'$(_hostOS)' == 'osx'">osx + <_portableOS Condition="$(_runtimeOS.StartsWith('win')) or '$(TargetOS)' == 'windows'">win + <_portableOS Condition="'$(_runtimeOS)' == 'freebsd' or '$(TargetOS)' == 'freebsd'">freebsd + <_portableOS Condition="'$(_runtimeOS)' == 'illumos' or '$(TargetOS)' == 'illumos'">illumos + <_portableOS Condition="'$(_runtimeOS)' == 'solaris' or '$(TargetOS)' == 'solaris'">solaris + <_portableOS Condition="'$(_runtimeOS)' == 'maccatalyst'">maccatalyst + <_portableOS Condition="'$(_runtimeOS)' == 'ios'">ios + <_portableOS Condition="'$(_runtimeOS)' == 'iossimulator'">iossimulator + <_portableOS Condition="'$(_runtimeOS)' == 'tvos'">tvos + <_portableOS Condition="'$(_runtimeOS)' == 'tvossimulator'">tvossimulator + <_portableOS Condition="'$(_runtimeOS)' == 'android'">android + + <_runtimeOS>$(_portableOS) @@ -27,6 +52,52 @@ $(TargetArchitecture) + + <_packageLibc Condition="$(TargetOS.Contains('musl'))">-musl + <_packageOS>$(_portableOS)$(_packageLibc) + $(_packageOS)-$(TargetArchitecture) + $(_hostRid) + $(PackageRID) + $(_portableOS)-$(TargetArchitecture) + + + + lib + .exe + + + + + + + .dll + .lib + .pdb + + + + + lib + .dylib + .a + .dwarf + + + + + lib + .so + .a + .dbg + + + + + + + + + @@ -36,7 +107,7 @@ embedded true Latest - true + false alpha 1 diff --git a/build.cmd b/build.cmd index 63002134..7d704cb6 100644 --- a/build.cmd +++ b/build.cmd @@ -2,5 +2,5 @@ setlocal set PATH=%CD%\src\msquic\artifacts\dotnet-tools;%PATH% -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -warnAsError:$false -restore -pack %*" +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -warnAsError:$false -build -restore -pack %*" exit /b %ErrorLevel% \ No newline at end of file diff --git a/build.sh b/build.sh index 9dcabb5f..3813a1e4 100755 --- a/build.sh +++ b/build.sh @@ -14,4 +14,4 @@ done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" export PATH=$PATH:$scriptroot/src/msquic/artifacts/dotnet-tools -"$scriptroot/eng/common/build.sh" --warnAsError false --build --restore $@ +"$scriptroot/eng/common/build.sh" --warnAsError false --build --restore --pack $@ diff --git a/eng/Build.props b/eng/Build.props index 50dfcea1..23bf4b5c 100644 --- a/eng/Build.props +++ b/eng/Build.props @@ -1,5 +1,5 @@ - + diff --git a/src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.csproj b/src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.csproj deleted file mode 100644 index 02f86d70..00000000 --- a/src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.csproj +++ /dev/null @@ -1,26 +0,0 @@ - - - net6.0 - false - true - false - true - - - - - - - - - - - -SysRoot /crossrootfs/$(TargetArchitecture) - - - - - - diff --git a/src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.proj new file mode 100644 index 00000000..a683110b --- /dev/null +++ b/src/System.Net.MsQuic.Transport/System.Net.MsQuic.Transport.proj @@ -0,0 +1,34 @@ + + + netstandard2.0 + true + false + true + false + false + + $(NoWarn);NU5128 + + + + + + + + + $(ExtraMsquicArgs) -SysRoot /crossrootfs/$(TargetArchitecture) + + + + + + + + + + diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm.runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm.runtime.native.System.Net.MsQuic.Transport.proj new file mode 100644 index 00000000..4a4e0af8 --- /dev/null +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm.runtime.native.System.Net.MsQuic.Transport.proj @@ -0,0 +1,6 @@ + + + linux-arm + + + diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm64.runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm64.runtime.native.System.Net.MsQuic.Transport.proj new file mode 100644 index 00000000..da937c7f --- /dev/null +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.linux-arm64.runtime.native.System.Net.MsQuic.Transport.proj @@ -0,0 +1,6 @@ + + + linux-arm64 + + + diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.linux-x64.runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.linux-x64.runtime.native.System.Net.MsQuic.Transport.proj new file mode 100644 index 00000000..052cca68 --- /dev/null +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.linux-x64.runtime.native.System.Net.MsQuic.Transport.proj @@ -0,0 +1,6 @@ + + + linux-x64 + + + diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.proj deleted file mode 100644 index 81eb8e04..00000000 --- a/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.proj +++ /dev/null @@ -1,17 +0,0 @@ - - - netstandard2.0 - true - - false - - $(NoWarn);NU5128 - - - - - - - diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props b/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props index f7273928..dc1bcf69 100644 --- a/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props @@ -1,28 +1,43 @@ + true netstandard2.0 true true - true - $(SymbolsSuffix) + false + true + true + + true $(TargetsForTfmSpecificDebugSymbolsInPackage);AddRuntimeSpecificNativeSymbolToPackage - true + $(SymbolsSuffix) $(NoWarn);NU5128 + + openssl + schannel + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'msquic', 'artifacts', 'bin', '$(TargetOS)', '$(TargetArchitecture)_$(Configuration)_$(TlsFlavor)')) - + + <_SymbolFilePath>$([MSBuild]::NormalizePath('$(NativeBinDir)', '$(LibPrefix)msquic$(SymbolsSuffix)')) + + + + - diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.osx-x64.runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.osx-x64.runtime.native.System.Net.MsQuic.Transport.proj new file mode 100644 index 00000000..953cfb81 --- /dev/null +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.osx-x64.runtime.native.System.Net.MsQuic.Transport.proj @@ -0,0 +1,6 @@ + + + osx-x64 + + + diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.win-arm64.runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.win-arm64.runtime.native.System.Net.MsQuic.Transport.proj index 66481ec1..cfc67ce1 100644 --- a/src/System.Net.MsQuic.Transport/pkg/runtime.win-arm64.runtime.native.System.Net.MsQuic.Transport.proj +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.win-arm64.runtime.native.System.Net.MsQuic.Transport.proj @@ -1,7 +1,6 @@ - - - true + win-arm64 + diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.win-x64.runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.win-x64.runtime.native.System.Net.MsQuic.Transport.proj index 66481ec1..7d38d312 100644 --- a/src/System.Net.MsQuic.Transport/pkg/runtime.win-x64.runtime.native.System.Net.MsQuic.Transport.proj +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.win-x64.runtime.native.System.Net.MsQuic.Transport.proj @@ -1,7 +1,6 @@ - - - true + win-x64 + diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.win-x86.runtime.native.System.Net.MsQuic.Transport.proj b/src/System.Net.MsQuic.Transport/pkg/runtime.win-x86.runtime.native.System.Net.MsQuic.Transport.proj index 66481ec1..cca477dc 100644 --- a/src/System.Net.MsQuic.Transport/pkg/runtime.win-x86.runtime.native.System.Net.MsQuic.Transport.proj +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.win-x86.runtime.native.System.Net.MsQuic.Transport.proj @@ -1,7 +1,6 @@ - - - true + win-x86 + From b946838abe77e343e1a434f2777e88b1f6fc8e7d Mon Sep 17 00:00:00 2001 From: Juan Sebastian Hoyos Ayala Date: Tue, 28 Mar 2023 19:32:24 -0700 Subject: [PATCH 5/6] Fix path casing --- Directory.Build.props | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 18b6dbb1..0c2ad8c2 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,11 +1,11 @@ - <_hostOS>Linux - <_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">OSX - <_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD - <_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD + <_hostOS>linux + <_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx + <_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">freebsd + <_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd <_hostOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos - <_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">Solaris + <_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris <_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows $(_hostOS) $(_hostOS) From ee370041ef0b71b4c0692f78d9702ca612b09bc9 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Hoyos Ayala Date: Wed, 29 Mar 2023 01:01:38 -0700 Subject: [PATCH 6/6] Fix os folder name --- .../pkg/runtime.native.System.Net.MsQuic.Transport.props | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props b/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props index dc1bcf69..dff4c047 100644 --- a/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props +++ b/src/System.Net.MsQuic.Transport/pkg/runtime.native.System.Net.MsQuic.Transport.props @@ -18,7 +18,9 @@ openssl schannel - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'msquic', 'artifacts', 'bin', '$(TargetOS)', '$(TargetArchitecture)_$(Configuration)_$(TlsFlavor)')) + $(TargetOS) + macos + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'msquic', 'artifacts', 'bin', '$(OsFolder)', '$(TargetArchitecture)_$(Configuration)_$(TlsFlavor)'))