Skip to content

Support package.json magic #40

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 3, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions UpdateLibgit2ToSha.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -99,27 +99,27 @@ Push-Location $libgit2Directory
<EmbeddedResource Include="`$(MSBuildThisFileDirectory)\..\libgit2\libgit2_filename.txt" />
</ItemGroup>
<ItemGroup>
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.dll">
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\$binaryFilename.dll">
<Link>lib\win32\x64\$binaryFilename.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\$binaryFilename.pdb">
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\$binaryFilename.pdb">
<Link>lib\win32\x64\$binaryFilename.pdb</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.dll">
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\$binaryFilename.dll')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\$binaryFilename.dll">
<Link>lib\win32\x86\$binaryFilename.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\$binaryFilename.pdb">
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\$binaryFilename.pdb')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\$binaryFilename.pdb">
<Link>lib\win32\x86\$binaryFilename.pdb</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\osx\lib$binaryFilename.dylib')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\osx\lib$binaryFilename.dylib">
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\osx\native\lib$binaryFilename.dylib')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\osx\native\lib$binaryFilename.dylib">
<Link>lib\osx\lib$binaryFilename.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\lib$binaryFilename.so')" Include="`$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\lib$binaryFilename.so">
<None Condition="Exists('`$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\native\lib$binaryFilename.so')" Include="`$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\native\lib$binaryFilename.so">
<Link>lib\linux\x86_64\lib$binaryFilename.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Expand Down
4 changes: 2 additions & 2 deletions build.libgit2.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ Set-StrictMode -Version Latest

$projectDirectory = Split-Path $MyInvocation.MyCommand.Path
$libgit2Directory = Join-Path $projectDirectory "libgit2"
$x86Directory = Join-Path $projectDirectory "nuget.package\libgit2\win32\x86"
$x64Directory = Join-Path $projectDirectory "nuget.package\libgit2\win32\x64"
$x86Directory = Join-Path $projectDirectory "nuget.package\runtimes\win-x86\native"
$x64Directory = Join-Path $projectDirectory "nuget.package\runtimes\win-x64\native"
$hashFile = Join-Path $projectDirectory "nuget.package\libgit2\libgit2_hash.txt"
$sha = Get-Content $hashFile

Expand Down
10 changes: 7 additions & 3 deletions build.libgit2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,12 @@ PACKAGEPATH="nuget.package/libgit2"
LIBEXT="so"

if [ $OS == "Linux" ]; then
if [ "$ARCH" == "x86_64" ]; then
ARCH="x64"
fi

OSPATH="/linux"
ARCHPATH="/${ARCH}"
ARCHPATH="-$ARCH"
elif [ $OS == "Darwin" ]; then
OSPATH="/osx"
LIBEXT="dylib"
Expand All @@ -37,8 +41,8 @@ else
fi

rm -rf $PACKAGEPATH$OSPATH
mkdir -p $PACKAGEPATH$OSPATH$ARCHPATH
mkdir -p $PACKAGEPATH$OSPATH$ARCHPATH/native

cp libgit2/build/libgit2-$SHORTSHA.$LIBEXT $PACKAGEPATH$OSPATH$ARCHPATH
cp libgit2/build/libgit2-$SHORTSHA.$LIBEXT $PACKAGEPATH$OSPATH$ARCHPATH/native

exit $?
8 changes: 4 additions & 4 deletions buildpackage.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ $versionSuffix = ""
if ($pre.IsPresent) { $versionSuffix = "-pre$BuildDate" }

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

if ( -Not (Test-Path $x86Directory\*.dll) )
{
Expand Down
36 changes: 28 additions & 8 deletions download.build.artifacts.and.package.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Param(
[string]$ref = "master",
[switch]$verbose = $False
)

Expand Down Expand Up @@ -50,8 +51,13 @@ function Extract-BuildIdentifier($statuses, $forContext) {
}

function Download-AppVeyor-Artifacts($statuses, $downloadLocation) {
$prOrBranch = "branch"

$buildIdentifier = Extract-BuildIdentifier $statuses "continuous-integration/appveyor/branch"
if ($ref.StartsWith("pull/")) {
$prOrBranch = "pr"
}

$buildIdentifier = Extract-BuildIdentifier $statuses "continuous-integration/appveyor/$prOrBranch"

Write-Host -ForegroundColor "Yellow" "Retrieving AppVeyor build `"$buildIdentifier`""
$build = Invoke-RestMethod-Ex "https://ci.appveyor.com/api/projects/libgit2/libgit2sharp-nativebinaries/build/$buildIdentifier"
Expand All @@ -71,8 +77,13 @@ function Download-AppVeyor-Artifacts($statuses, $downloadLocation) {
}

function Download-Travis-Artifacts($statuses, $downloadLocation) {
$prOrBranch = "push"

if ($ref.StartsWith("pull/")) {
$prOrBranch = "pr"
}

$buildIdentifier = Extract-BuildIdentifier $statuses "continuous-integration/travis-ci/push"
$buildIdentifier = Extract-BuildIdentifier $statuses "continuous-integration/travis-ci/$prOrBranch"

Write-Host -ForegroundColor "Yellow" "Retrieving Travis build `"$buildIdentifier`""
$build = Invoke-RestMethod-Ex "https://api.travis-ci.org/builds/$buildIdentifier"
Expand All @@ -96,9 +107,18 @@ $path = [System.IO.Path]::Combine($env:Temp, [System.IO.Path]::GetRandomFileName
Write-Host -ForegroundColor "Yellow" "Creating temporary folder at `"$path`""
New-Item "$path" -type Directory > $null

$ref = "master"
if ($ref.StartsWith("pull/")) {
$pr = $ref.Replace("pull/", "")
Write-Host -ForegroundColor "Yellow" "Retrieving pull request information for pull request $pr"

$prData = Invoke-RestMethod-Ex "https://api.github.com/repos/libgit2/libgit2sharp.nativebinaries/pulls/$pr"
$statusesUrl = $prData.statuses_url
} else {
$statusesUrl = "https://api.github.com/repos/libgit2/libgit2sharp.nativebinaries/commits/$ref/statuses"
}

Write-Host -ForegroundColor "Yellow" "Retrieving LibGit2Sharp.NativeBinaries latest CI statuses of `"$ref`""
$statuses = Invoke-RestMethod-Ex "https://api.github.com/repos/libgit2/libgit2sharp.nativebinaries/commits/$ref/statuses"
$statuses = Invoke-RestMethod-Ex $statusesUrl

Download-AppVeyor-Artifacts $statuses $path
Download-Travis-Artifacts $statuses $path
Expand All @@ -116,10 +136,10 @@ Add-Type -assembly "System.Io.Compression.Filesystem"
[Io.Compression.ZipFile]::ExtractToDirectory("$($osxBins.FullName)", "$($osxBins.FullName).ext")

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

Write-Host -ForegroundColor "Yellow" "Building final NuGet package"
Push-location "$($package.FullName).ext"
Expand Down
12 changes: 6 additions & 6 deletions nuget.package/build/LibGit2Sharp.NativeBinaries.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@
<EmbeddedResource Include="$(MSBuildThisFileDirectory)\..\libgit2\libgit2_filename.txt" />
</ItemGroup>
<ItemGroup>
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.dll">
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\git2-381caf5.dll">
<Link>lib\win32\x64\git2-381caf5.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x64\git2-381caf5.pdb">
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x64\native\git2-381caf5.pdb">
<Link>lib\win32\x64\git2-381caf5.pdb</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.dll">
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\git2-381caf5.dll')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\git2-381caf5.dll">
<Link>lib\win32\x86\git2-381caf5.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\libgit2\win32\x86\git2-381caf5.pdb">
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\git2-381caf5.pdb')" Include="$(MSBuildThisFileDirectory)\..\runtimes\win-x86\native\git2-381caf5.pdb">
<Link>lib\win32\x86\git2-381caf5.pdb</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\osx\libgit2-381caf5.dylib')" Include="$(MSBuildThisFileDirectory)\..\libgit2\osx\libgit2-381caf5.dylib">
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\osx\native\libgit2-381caf5.dylib')" Include="$(MSBuildThisFileDirectory)\..\runtimes\osx\native\libgit2-381caf5.dylib">
<Link>lib\osx\libgit2-381caf5.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\libgit2-381caf5.so')" Include="$(MSBuildThisFileDirectory)\..\libgit2\linux\x86_64\libgit2-381caf5.so">
<None Condition="Exists('$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\native\libgit2-381caf5.so')" Include="$(MSBuildThisFileDirectory)\..\runtimes\linux-x64\native\libgit2-381caf5.so">
<Link>lib\linux\x86_64\libgit2-381caf5.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Expand Down
2 changes: 1 addition & 1 deletion uploadbinaries.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

if [ $TRAVIS_SECURE_ENV_VARS == "true" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then
if [ $TRAVIS_SECURE_ENV_VARS == "true" ]; then

pushd nuget.package

Expand Down