Skip to content

Commit 448a789

Browse files
committed
CSHARP-5707: Use standard RID paths in MongoDB.Driver.Encryption packaging
1 parent bbd7c43 commit 448a789

File tree

3 files changed

+48
-29
lines changed

3 files changed

+48
-29
lines changed

src/MongoDB.Driver.Encryption/LibraryLoader.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,11 @@ static LinuxLibrary()
181181
var osArchitecture = RuntimeInformation.OSArchitecture.ToString().ToLower();
182182
#pragma warning restore CA1304
183183

184-
var finalpath = IsAlpine() ? $"alpine/{osArchitecture}" : $"{osArchitecture}";
184+
var runtimeSuffix = IsAlpine() ? $"musl-{osArchitecture}" : $"{osArchitecture}";
185185

186186
__suffixPaths = new []{
187-
$"../../runtimes/linux/native/{finalpath}",
188-
$"runtimes/linux/native/{finalpath}",
187+
$"../../runtimes/linux-{runtimeSuffix}/native/",
188+
$"runtimes/linux-{runtimeSuffix}/native/",
189189
string.Empty
190190
};
191191

@@ -246,8 +246,8 @@ private class WindowsLibrary : ISharedLibraryLoader
246246
{
247247
private static readonly string[] __suffixPaths =
248248
{
249-
@"..\..\runtimes\win\native\",
250-
@".\runtimes\win\native\",
249+
@"..\..\runtimes\win-x64\native\",
250+
@".\runtimes\win-x64\native\",
251251
string.Empty
252252
};
253253

src/MongoDB.Driver.Encryption/MongoDB.Driver.Encryption.csproj

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,47 +31,60 @@
3131
Targets="DownloadNativeBinary" />
3232
</Target>
3333

34-
<Target Name="DownloadNativeBinaries_UbuntuX64" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/linux/native/x64/libmongocrypt.so')">
34+
<Target Name="DownloadNativeBinaries_UbuntuX64" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/linux-x64/native/libmongocrypt.so')">
3535
<PropertyGroup>
3636
<LibMongoCryptSourceUrl>https://mciuploads.s3.amazonaws.com/libmongocrypt-release/ubuntu1804-64/$(LibMongoCryptVersion)/$(LibMongoCryptCommit)/libmongocrypt.tar.gz</LibMongoCryptSourceUrl>
3737
<LibMongoCryptSourcePath>nocrypto/lib/libmongocrypt.so</LibMongoCryptSourcePath>
38-
<LibMongoCryptPackagePath>runtimes/linux/native/x64</LibMongoCryptPackagePath>
38+
<LibMongoCryptPackagePath>runtimes/linux-x64/native/</LibMongoCryptPackagePath>
3939
</PropertyGroup>
4040

4141
<MSBuild Projects ="$(MSBuildProjectFullPath)"
4242
Properties="TargetFramework=once;LibMongoCryptSourceUrl=$(LibMongoCryptSourceUrl);LibMongoCryptSourcePath=$(LibMongoCryptSourcePath);LibMongoCryptPackagePath=$(LibMongoCryptPackagePath)"
4343
Targets="DownloadNativeBinary" />
4444
</Target>
4545

46-
<Target Name="DownloadNativeBinaries_UbuntuARM64" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/linux/native/arm64/libmongocrypt.so')">
46+
<Target Name="DownloadNativeBinaries_UbuntuARM64" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/linux-arm64/native/libmongocrypt.so')">
4747
<PropertyGroup>
4848
<LibMongoCryptSourceUrl>https://mciuploads.s3.amazonaws.com/libmongocrypt-release/ubuntu1804-arm64/$(LibMongoCryptVersion)/$(LibMongoCryptCommit)/libmongocrypt.tar.gz</LibMongoCryptSourceUrl>
4949
<LibMongoCryptSourcePath>nocrypto/lib/libmongocrypt.so</LibMongoCryptSourcePath>
50-
<LibMongoCryptPackagePath>runtimes/linux/native/arm64</LibMongoCryptPackagePath>
50+
<LibMongoCryptPackagePath>runtimes/linux-arm64/native/</LibMongoCryptPackagePath>
5151
</PropertyGroup>
5252

5353
<MSBuild Projects ="$(MSBuildProjectFullPath)"
5454
Properties="TargetFramework=once;LibMongoCryptSourceUrl=$(LibMongoCryptSourceUrl);LibMongoCryptSourcePath=$(LibMongoCryptSourcePath);LibMongoCryptPackagePath=$(LibMongoCryptPackagePath)"
5555
Targets="DownloadNativeBinary" />
5656
</Target>
5757

58-
<Target Name="DownloadNativeBinaries_Alpine" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/linux/native/alpine/libmongocrypt.so')">
58+
59+
<Target Name="DownloadNativeBinaries_AlpineAMD64" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/linux-musl-x64/native/libmongocrypt.so')">
60+
<PropertyGroup>
61+
<LibMongoCryptSourceUrl>https://mciuploads.s3.amazonaws.com/libmongocrypt-release/alpine-amd64-earthly/$(LibMongoCryptVersion)/$(LibMongoCryptCommit)/libmongocrypt.tar.gz</LibMongoCryptSourceUrl>
62+
<LibMongoCryptSourcePath>nocrypto/lib/libmongocrypt.so</LibMongoCryptSourcePath>
63+
<LibMongoCryptPackagePath>runtimes/linux-musl-x64/native/</LibMongoCryptPackagePath>
64+
</PropertyGroup>
65+
66+
<MSBuild Projects ="$(MSBuildProjectFullPath)"
67+
Properties="TargetFramework=once;LibMongoCryptSourceUrl=$(LibMongoCryptSourceUrl);LibMongoCryptSourcePath=$(LibMongoCryptSourcePath);LibMongoCryptPackagePath=$(LibMongoCryptPackagePath)"
68+
Targets="DownloadNativeBinary" />
69+
</Target>
70+
71+
<Target Name="DownloadNativeBinaries_AlpineARM64" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/linux-musl-arm64/native/libmongocrypt.so')">
5972
<PropertyGroup>
6073
<LibMongoCryptSourceUrl>https://mciuploads.s3.amazonaws.com/libmongocrypt-release/alpine-arm64-earthly/$(LibMongoCryptVersion)/$(LibMongoCryptCommit)/libmongocrypt.tar.gz</LibMongoCryptSourceUrl>
6174
<LibMongoCryptSourcePath>nocrypto/lib/libmongocrypt.so</LibMongoCryptSourcePath>
62-
<LibMongoCryptPackagePath>runtimes/linux/native/alpine</LibMongoCryptPackagePath>
75+
<LibMongoCryptPackagePath>runtimes/linux-musl-arm64/native/</LibMongoCryptPackagePath>
6376
</PropertyGroup>
6477

6578
<MSBuild Projects ="$(MSBuildProjectFullPath)"
6679
Properties="TargetFramework=once;LibMongoCryptSourceUrl=$(LibMongoCryptSourceUrl);LibMongoCryptSourcePath=$(LibMongoCryptSourcePath);LibMongoCryptPackagePath=$(LibMongoCryptPackagePath)"
6780
Targets="DownloadNativeBinary" />
6881
</Target>
6982

70-
<Target Name="DownloadNativeBinaries_Windows" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/win/native/mongocrypt.dll')">
83+
<Target Name="DownloadNativeBinaries_WindowsX64" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)/runtimes/win-x64/native/mongocrypt.dll')">
7184
<PropertyGroup>
7285
<LibMongoCryptSourceUrl>https://mciuploads.s3.amazonaws.com/libmongocrypt-release/windows-test/$(LibMongoCryptVersion)/$(LibMongoCryptCommit)/libmongocrypt.tar.gz</LibMongoCryptSourceUrl>
7386
<LibMongoCryptSourcePath>bin/mongocrypt.dll</LibMongoCryptSourcePath>
74-
<LibMongoCryptPackagePath>runtimes/win/native</LibMongoCryptPackagePath>
87+
<LibMongoCryptPackagePath>runtimes/win-x64/native</LibMongoCryptPackagePath>
7588
</PropertyGroup>
7689

7790
<MSBuild Projects ="$(MSBuildProjectFullPath)"
@@ -91,33 +104,39 @@
91104

92105
<ItemGroup>
93106
<Content Include="$(MSBuildProjectDirectory)/runtimes/osx/native/libmongocrypt.dylib">
94-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
107+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
95108
<Pack>true</Pack>
96109
<PackagePath>runtimes\osx\native</PackagePath>
97110
</Content>
98111

99-
<Content Include="$(MSBuildProjectDirectory)/runtimes/linux/native/x64/libmongocrypt.so">
100-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
112+
<Content Include="$(MSBuildProjectDirectory)/runtimes/linux-x64/native/libmongocrypt.so">
113+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
114+
<Pack>true</Pack>
115+
<PackagePath>runtimes\linux-x64\native</PackagePath>
116+
</Content>
117+
118+
<Content Include="$(MSBuildProjectDirectory)/runtimes/linux-arm64/native/libmongocrypt.so">
119+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
101120
<Pack>true</Pack>
102-
<PackagePath>runtimes\linux\native\x64</PackagePath>
121+
<PackagePath>runtimes\linux-arm64\native</PackagePath>
103122
</Content>
104123

105-
<Content Include="$(MSBuildProjectDirectory)/runtimes/linux/native/arm64/libmongocrypt.so">
106-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
124+
<Content Include="$(MSBuildProjectDirectory)/runtimes/linux-musl-arm64/native/libmongocrypt.so">
125+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
107126
<Pack>true</Pack>
108-
<PackagePath>runtimes\linux\native\arm64</PackagePath>
127+
<PackagePath>runtimes\linux-musl-arm64\native</PackagePath>
109128
</Content>
110129

111-
<Content Include="$(MSBuildProjectDirectory)/runtimes/linux/native/alpine/libmongocrypt.so">
112-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
130+
<Content Include="$(MSBuildProjectDirectory)/runtimes/linux-musl-x64/native/libmongocrypt.so">
131+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
113132
<Pack>true</Pack>
114-
<PackagePath>runtimes\linux\native\alpine</PackagePath>
133+
<PackagePath>runtimes\linux-musl-x64\native</PackagePath>
115134
</Content>
116135

117-
<Content Include="$(MSBuildProjectDirectory)/runtimes/win/native/mongocrypt.dll">
118-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
136+
<Content Include="$(MSBuildProjectDirectory)/runtimes/win-x64/native/mongocrypt.dll">
137+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
119138
<Pack>true</Pack>
120-
<PackagePath>runtimes\win\native</PackagePath>
139+
<PackagePath>runtimes\win-x64\native</PackagePath>
121140
</Content>
122141
</ItemGroup>
123142

src/MongoDB.Driver.Encryption/MongoDB.Driver.Encryption.targets

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<ItemGroup Condition="$([MSBuild]::IsOsPlatform('Windows'))">
4-
<Content Include="$(MSBuildThisFileDirectory)../runtimes/win/native/mongocrypt.dll">
5-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
3+
<ItemGroup Condition="'$(UsingMicrosoftNETSdk)' != 'true' AND $([MSBuild]::IsOsPlatform('Windows'))">
4+
<Content Include="$(MSBuildThisFileDirectory)../runtimes/win-x64/native/mongocrypt.dll">
5+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
66
<Link>mongocrypt.dll</Link>
77
</Content>
88
</ItemGroup>

0 commit comments

Comments
 (0)