Skip to content

Commit 6f62aae

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 6f62aae

6 files changed

+29
-25
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\native"
24+
$x64Directory = Join-Path $projectDirectory "nuget.package\runtimes\win-x64\native"
2525
$hashFile = Join-Path $projectDirectory "nuget.package\libgit2\libgit2_hash.txt"
2626
$sha = Get-Content $hashFile
2727

build.libgit2.sh

Lines changed: 7 additions & 3 deletions
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"
@@ -37,8 +41,8 @@ else
3741
fi
3842

3943
rm -rf $PACKAGEPATH$OSPATH
40-
mkdir -p $PACKAGEPATH$OSPATH$ARCHPATH
44+
mkdir -p $PACKAGEPATH$OSPATH$ARCHPATH/native
4145

42-
cp libgit2/build/libgit2-$SHORTSHA.$LIBEXT $PACKAGEPATH$OSPATH$ARCHPATH
46+
cp libgit2/build/libgit2-$SHORTSHA.$LIBEXT $PACKAGEPATH$OSPATH$ARCHPATH/native
4347

4448
exit $?

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)