From bf93cba905a1b9b479e2474a579aa168745c2ff6 Mon Sep 17 00:00:00 2001 From: Sam Harwell Date: Tue, 9 Sep 2014 10:44:24 -0500 Subject: [PATCH] Use a build properties file instead of custom build actions to copy native binaries --- .gitignore | 1 + UpdateLibgit2ToSha.ps1 | 26 +++++++++++++++++++ nuget.package/LibGit2Sharp.nuspec | 2 +- .../Tools/GetLibGit2SharpPostBuildCmd.ps1 | 13 ---------- nuget.package/Tools/install.ps1 | 11 -------- nuget.package/Tools/uninstall.ps1 | 9 ------- nuget.package/build/LibGit2Sharp.props | 21 +++++++++++++++ 7 files changed, 49 insertions(+), 34 deletions(-) delete mode 100644 nuget.package/Tools/GetLibGit2SharpPostBuildCmd.ps1 delete mode 100644 nuget.package/Tools/install.ps1 delete mode 100644 nuget.package/Tools/uninstall.ps1 create mode 100644 nuget.package/build/LibGit2Sharp.props diff --git a/.gitignore b/.gitignore index a8e1b75aa..842317924 100644 --- a/.gitignore +++ b/.gitignore @@ -39,4 +39,5 @@ _ReSharper*/ LibGit2Sharp/Core/UniqueIdentifier.cs !Lib/NativeBinaries/*/*.pdb +!nuget.package/build/ _NCrunch_LibGit2Sharp/ diff --git a/UpdateLibgit2ToSha.ps1 b/UpdateLibgit2ToSha.ps1 index e86e2f74d..adbd14c20 100644 --- a/UpdateLibgit2ToSha.ps1 +++ b/UpdateLibgit2ToSha.ps1 @@ -181,6 +181,32 @@ namespace LibGit2Sharp.Core sc -Encoding ASCII (Join-Path $libgit2sharpDirectory "Libgit2sharp\Core\NativeDllName.cs") $dllNameClass sc -Encoding ASCII (Join-Path $libgit2sharpDirectory "Libgit2sharp\libgit2_hash.txt") $sha + $buildProperties = @" + + + + + NativeBinaries\amd64\$binaryFilename.dll + PreserveNewest + + + NativeBinaries\amd64\$binaryFilename.pdb + PreserveNewest + + + NativeBinaries\x86\$binaryFilename.dll + PreserveNewest + + + NativeBinaries\x86\$binaryFilename.pdb + PreserveNewest + + + +"@ + + sc -Encoding UTF8 (Join-Path $libgit2sharpDirectory "nuget.package\build\LibGit2Sharp.props") $buildProperties + Write-Output "Done!" } exit diff --git a/nuget.package/LibGit2Sharp.nuspec b/nuget.package/LibGit2Sharp.nuspec index 99c326536..c13128255 100644 --- a/nuget.package/LibGit2Sharp.nuspec +++ b/nuget.package/LibGit2Sharp.nuspec @@ -22,7 +22,7 @@ - + diff --git a/nuget.package/Tools/GetLibGit2SharpPostBuildCmd.ps1 b/nuget.package/Tools/GetLibGit2SharpPostBuildCmd.ps1 deleted file mode 100644 index e1847e610..000000000 --- a/nuget.package/Tools/GetLibGit2SharpPostBuildCmd.ps1 +++ /dev/null @@ -1,13 +0,0 @@ -$solutionDir = [System.IO.Path]::GetDirectoryName($dte.Solution.FullName) + "\" -$path = $installPath.Replace($solutionDir, "`$(SolutionDir)") - -$NativeAssembliesDir = Join-Path $path "lib\net40\NativeBinaries" -$x86 = $(Join-Path $NativeAssembliesDir "x86\*.*") -$x64 = $(Join-Path $NativeAssembliesDir "amd64\*.*") - -$LibGit2SharpPostBuildCmd = " -if not exist `"`$(TargetDir)NativeBinaries`" md `"`$(TargetDir)NativeBinaries`" -if not exist `"`$(TargetDir)NativeBinaries\x86`" md `"`$(TargetDir)NativeBinaries\x86`" -xcopy /s /y /d `"$x86`" `"`$(TargetDir)NativeBinaries\x86`" -if not exist `"`$(TargetDir)NativeBinaries\amd64`" md `"`$(TargetDir)NativeBinaries\amd64`" -xcopy /s /y /d `"$x64`" `"`$(TargetDir)NativeBinaries\amd64`"" diff --git a/nuget.package/Tools/install.ps1 b/nuget.package/Tools/install.ps1 deleted file mode 100644 index bc403c27b..000000000 --- a/nuget.package/Tools/install.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -param($installPath, $toolsPath, $package, $project) - -. (Join-Path $toolsPath "GetLibGit2SharpPostBuildCmd.ps1") - -# Get the current Post Build Event cmd -$currentPostBuildCmd = $project.Properties.Item("PostBuildEvent").Value - -# Append our post build command if it's not already there -if (!$currentPostBuildCmd.Contains($LibGit2SharpPostBuildCmd)) { - $project.Properties.Item("PostBuildEvent").Value += $LibGit2SharpPostBuildCmd -} \ No newline at end of file diff --git a/nuget.package/Tools/uninstall.ps1 b/nuget.package/Tools/uninstall.ps1 deleted file mode 100644 index a1854cb32..000000000 --- a/nuget.package/Tools/uninstall.ps1 +++ /dev/null @@ -1,9 +0,0 @@ -param($installPath, $toolsPath, $package, $project) - -. (Join-Path $toolsPath "GetLibGit2SharpPostBuildCmd.ps1") - -# Get the current Post Build Event cmd -$currentPostBuildCmd = $project.Properties.Item("PostBuildEvent").Value - -# Remove our post build command from it (if it's there) -$project.Properties.Item("PostBuildEvent").Value = $currentPostBuildCmd.Replace($LibGit2SharpPostBuildCmd, "") \ No newline at end of file diff --git a/nuget.package/build/LibGit2Sharp.props b/nuget.package/build/LibGit2Sharp.props new file mode 100644 index 000000000..df46c9a81 --- /dev/null +++ b/nuget.package/build/LibGit2Sharp.props @@ -0,0 +1,21 @@ + + + + + NativeBinaries\amd64\git2-69db893.dll + PreserveNewest + + + NativeBinaries\amd64\git2-69db893.pdb + PreserveNewest + + + NativeBinaries\x86\git2-69db893.dll + PreserveNewest + + + NativeBinaries\x86\git2-69db893.pdb + PreserveNewest + + +