Skip to content

Commit 6367383

Browse files
Symbolic links are not deployed to proper output directory for Windows (#164)
1 parent 1323264 commit 6367383

File tree

1 file changed

+31
-19
lines changed

1 file changed

+31
-19
lines changed

nuget/TestPackage.ps1

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -77,25 +77,25 @@ function RunTest($BuildTargets, $DependencyHash)
7777
New-Item "$TestDir" -ItemType Directory > $null
7878
}
7979

80-
$NativeTestDir = Join-Path $FaceRecognitionDotNetRoot test | `
80+
$UnitTestDir = Join-Path $FaceRecognitionDotNetRoot test | `
8181
Join-Path -ChildPath FaceRecognitionDotNet.Tests
8282

8383
$TargetDir = Join-Path $WorkDir FaceRecognitionDotNet.Tests
8484
if (Test-Path "$TargetDir") {
85-
Remove-Item -Path "$TargetDir" -Recurse -Force
85+
Remove-Item -Path "$TargetDir" -Recurse -Force 2> $null
8686
}
8787

8888
$TargetDirTestImages = Join-Path $TargetDir TestImages
8989
if (Test-Path "$TargetDirTestImages") {
9090
Remove-Item -Path "$TargetDirTestImages" -Recurse -Force
9191
}
9292

93-
$NativeTestDirTestImages = Join-Path $NativeTestDir TestImages
94-
$NativeTestDirSources = Join-Path $NativeTestDir "*.cs"
95-
$NativeTestDirProject = Join-Path $NativeTestDir "FaceRecognitionDotNet.Tests.csproj"
96-
Copy-Item "$NativeTestDirTestImages" "$TargetDirTestImages" -Recurse
97-
Copy-Item "$NativeTestDirSources" "$TargetDir" -Recurse
98-
Copy-Item "$NativeTestDirProject" "$TargetDir" -Recurse
93+
$UnitTestDirTestImages = Join-Path $UnitTestDir TestImages
94+
$UnitTestDirSources = Join-Path $UnitTestDir "*.cs"
95+
$UnitTestDirProject = Join-Path $UnitTestDir "FaceRecognitionDotNet.Tests.csproj"
96+
Copy-Item "$UnitTestDirTestImages" "$TargetDirTestImages" -Recurse
97+
Copy-Item "$UnitTestDirSources" "$TargetDir" -Recurse
98+
Copy-Item "$UnitTestDirProject" "$TargetDir" -Recurse
9999

100100

101101
Set-Location -Path "$TargetDir"
@@ -114,19 +114,31 @@ function RunTest($BuildTargets, $DependencyHash)
114114
# Copy Dependencies
115115
if ($global:IsWindows)
116116
{
117-
$OutDir = Join-Path $TargetDir bin | `
118-
Join-Path -ChildPath Release | `
119-
Join-Path -ChildPath netcoreapp2.0
120-
if (!(Test-Path "$OutDir")) {
121-
New-Item "$OutDir" -ItemType Directory > $null
122-
}
123-
124-
if ($DependencyHash.Contains($package))
117+
# Get framework version
118+
$re = New-Object regex("<TargetFramework>(?<version>[^<]+)</TargetFramework>")
119+
$match = $re.Matches((Get-Content "${UnitTestDirProject}"))
120+
$version = $match[0].Groups["version"]
121+
122+
# Just in case, deploy symbolic link to possbile output directory
123+
$OutDirs = @((Join-Path $TargetDir bin | Join-Path -ChildPath Release | Join-Path -ChildPath $version),
124+
(Join-Path $TargetDir bin | Join-Path -ChildPath x64 | Join-Path -ChildPath Release | Join-Path -ChildPath $version),
125+
(Join-Path $TargetDir bin | Join-Path -ChildPath x86 | Join-Path -ChildPath Release | Join-Path -ChildPath $version)
126+
)
127+
128+
foreach ($OutDir in $OutDirs)
125129
{
126-
foreach($Dependency in $DependencyHash[$package])
130+
if (!(Test-Path "$OutDir"))
131+
{
132+
New-Item "$OutDir" -ItemType Directory > $null
133+
}
134+
135+
if ($DependencyHash.Contains($package))
127136
{
128-
$FileName = [System.IO.Path]::GetFileName("$Dependency")
129-
New-Item -Value "$Dependency" -Path "$OutDir" -Name "$FileName" -ItemType SymbolicLink > $null
137+
foreach($Dependency in $DependencyHash[$package])
138+
{
139+
$FileName = [System.IO.Path]::GetFileName("$Dependency")
140+
New-Item -Value "$Dependency" -Path "$OutDir" -Name "$FileName" -ItemType SymbolicLink > $null
141+
}
130142
}
131143
}
132144
}

0 commit comments

Comments
 (0)