Skip to content

Commit edf2347

Browse files
author
Edward Thomson
committed
Support package.json magic
Apparently .NET Core type builds will a) eschew msbuild magic, and b) place native binaries according to some directory hierarchy conventions. Let's try it.
1 parent b059d8b commit edf2347

File tree

6 files changed

+27
-23
lines changed

6 files changed

+27
-23
lines changed

UpdateLibgit2ToSha.ps1

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,27 +99,27 @@ Push-Location $libgit2Directory
9999
<EmbeddedResource Include="`$(MSBuildThisFileDirectory)\..\libgit2\libgit2_filename.txt" />
100100
</ItemGroup>
101101
<ItemGroup>
102-
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.dll">
102+
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\$binaryFilename.dll">
103103
<Link>lib\win32\x64\$binaryFilename.dll</Link>
104104
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
105105
</None>
106-
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.pdb">
106+
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\$binaryFilename.pdb">
107107
<Link>lib\win32\x64\$binaryFilename.pdb</Link>
108108
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
109109
</None>
110-
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.dll">
110+
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\$binaryFilename.dll">
111111
<Link>lib\win32\x86\$binaryFilename.dll</Link>
112112
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
113113
</None>
114-
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.pdb">
114+
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\$binaryFilename.pdb">
115115
<Link>lib\win32\x86\$binaryFilename.pdb</Link>
116116
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
117117
</None>
118-
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\osx\lib$binaryFilename.dylib')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\osx\lib$binaryFilename.dylib">
118+
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\osx\lib$binaryFilename.dylib')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\osx\lib$binaryFilename.dylib">
119119
<Link>lib\osx\lib$binaryFilename.dylib</Link>
120120
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
121121
</None>
122-
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\lib$binaryFilename.so')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\lib$binaryFilename.so">
122+
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\lib$binaryFilename.so')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\lib$binaryFilename.so">
123123
<Link>lib\linux\x86_64\lib$binaryFilename.so</Link>
124124
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
125125
</None>

build.libgit2.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ Set-StrictMode -Version Latest
2020

2121
$projectDirectory = Split-Path $MyInvocation.MyCommand.Path
2222
$libgit2Directory = Join-Path $projectDirectory "libgit2"
23-
$x86Directory = Join-Path $projectDirectory "nuget.package\libgit2\win32\x86"
24-
$x64Directory = Join-Path $projectDirectory "nuget.package\libgit2\win32\x64"
23+
$x86Directory = Join-Path $projectDirectory "nuget.package\runtimes\win-x86"
24+
$x64Directory = Join-Path $projectDirectory "nuget.package\runtimes\win-x64"
2525
$hashFile = Join-Path $projectDirectory "nuget.package\libgit2\libgit2_hash.txt"
2626
$sha = Get-Content $hashFile
2727

build.libgit2.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ PACKAGEPATH="nuget.package/libgit2"
2727
LIBEXT="so"
2828

2929
if [ $OS == "Linux" ]; then
30+
if [ "$ARCH" == "x86_64" ]; then
31+
ARCH="x64"
32+
fi
33+
3034
OSPATH="/linux"
31-
ARCHPATH="/${ARCH}"
35+
ARCHPATH="-$ARCH"
3236
elif [ $OS == "Darwin" ]; then
3337
OSPATH="/osx"
3438
LIBEXT="dylib"

buildpackage.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ $versionSuffix = ""
99
if ($pre.IsPresent) { $versionSuffix = "-pre$BuildDate" }
1010

1111
$projectDirectory = Split-Path $MyInvocation.MyCommand.Path
12-
$x86Directory = Join-Path $projectDirectory "nuget.package\libgit2\win32\x86"
13-
$x64Directory = Join-Path $projectDirectory "nuget.package\libgit2\win32\x64"
14-
$osxDirectory = Join-Path $projectDirectory "nuget.package\libgit2\osx"
15-
$linuxDirectory = Join-Path $projectDirectory "nuget.package\libgit2\linux\x86_64"
12+
$x86Directory = Join-Path $projectDirectory "nuget.package\runtimes\win-x86\native"
13+
$x64Directory = Join-Path $projectDirectory "nuget.package\runtimes\win-x64\native"
14+
$osxDirectory = Join-Path $projectDirectory "nuget.package\runtimes\osx\native"
15+
$linuxDirectory = Join-Path $projectDirectory "nuget.package\runtimes\linux-x64\native"
1616

1717
if ( -Not (Test-Path $x86Directory\*.dll) )
1818
{

download.build.artifacts.and.package.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,10 @@ Add-Type -assembly "System.Io.Compression.Filesystem"
116116
[Io.Compression.ZipFile]::ExtractToDirectory("$($osxBins.FullName)", "$($osxBins.FullName).ext")
117117

118118
Write-Host -ForegroundColor "Yellow" "Including non Windows build artifacts"
119-
Move-Item "$($linuxBins.FullName).ext\libgit2\linux\x86_64\*.so" "$($package.FullName).ext\libgit2\linux\x86_64"
120-
Remove-Item "$($package.FullName).ext\libgit2\linux\x86_64\addbinaries.here"
121-
Move-Item "$($osxBins.FullName).ext\libgit2\osx\*.dylib" "$($package.FullName).ext\libgit2\osx"
122-
Remove-Item "$($package.FullName).ext\libgit2\osx\addbinaries.here"
119+
Move-Item "$($linuxBins.FullName).ext\runtimes\linux-x64\*.so" "$($package.FullName).ext\runtimes\linux-x64"
120+
Remove-Item "$($package.FullName).ext\runtimes\linux-x64\addbinaries.here"
121+
Move-Item "$($osxBins.FullName).ext\runtimes\osx\*.dylib" "$($package.FullName).ext\runtimes\osx"
122+
Remove-Item "$($package.FullName).ext\runtimes\osx\addbinaries.here"
123123

124124
Write-Host -ForegroundColor "Yellow" "Building final NuGet package"
125125
Push-location "$($package.FullName).ext"

nuget.package/build/LibGit2Sharp.NativeBinaries.props

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@
55
<EmbeddedResource Include="$(MSBuildThisFileDirectory)\..\libgit2\libgit2_filename.txt" />
66
</ItemGroup>
77
<ItemGroup>
8-
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.dll">
8+
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x64\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\git2-381caf5.dll">
99
<Link>lib\win32\x64\git2-381caf5.dll</Link>
1010
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1111
</None>
12-
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.pdb">
12+
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x64\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\git2-381caf5.pdb">
1313
<Link>lib\win32\x64\git2-381caf5.pdb</Link>
1414
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1515
</None>
16-
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.dll">
16+
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x86\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\git2-381caf5.dll">
1717
<Link>lib\win32\x86\git2-381caf5.dll</Link>
1818
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1919
</None>
20-
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.pdb">
20+
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x86\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\git2-381caf5.pdb">
2121
<Link>lib\win32\x86\git2-381caf5.pdb</Link>
2222
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2323
</None>
24-
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\osx\libgit2-381caf5.dylib')" Include="$(MSBuildThisFileDirectory)\..\libgit2\osx\libgit2-381caf5.dylib">
24+
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\osx\libgit2-381caf5.dylib')" Include="$(MSBuildThisFileDirectory)\..\runtimes\osx\libgit2-381caf5.dylib">
2525
<Link>lib\osx\libgit2-381caf5.dylib</Link>
2626
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2727
</None>
28-
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\libgit2-381caf5.so')" Include="$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\libgit2-381caf5.so">
28+
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\libgit2-381caf5.so')" Include="$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\libgit2-381caf5.so">
2929
<Link>lib\linux\x86_64\libgit2-381caf5.so</Link>
3030
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
3131
</None>

0 commit comments

Comments
 (0)