mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
This is a massive overhaul that replaces System.Data.SQLite with Mono.Data.Sqlite. This should make it more compatible with Linux and Mac and has no known downsides for Windows.
25 lines
1.1 KiB
PowerShell
25 lines
1.1 KiB
PowerShell
param($installPath, $toolsPath, $package, $project)
|
|
|
|
# Need to load MSBuild assembly if it's not loaded yet.
|
|
Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
|
|
|
|
# Grab the loaded MSBuild project for the project
|
|
$msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
|
|
|
|
# Find all the imports and targets added by this package.
|
|
$itemsToRemove = @()
|
|
|
|
# Allow many in case a past package was incorrectly uninstalled
|
|
$itemsToRemove += $msbuild.Xml.Imports | Where-Object { $_.Project.EndsWith($package.Id + '.targets') }
|
|
$itemsToRemove += $msbuild.Xml.Targets | Where-Object { $_.Name -eq "EnsureMonoDataSqlitePortableImported" }
|
|
|
|
# Remove the elements and save the project
|
|
if ($itemsToRemove -and $itemsToRemove.length)
|
|
{
|
|
foreach ($itemToRemove in $itemsToRemove)
|
|
{
|
|
$msbuild.Xml.RemoveChild($itemToRemove) | out-null
|
|
}
|
|
$project.Save()
|
|
}
|
|
|