@@ -144,10 +144,15 @@ task clean "engine/clean", "rules/clean"
144144$projects | % {Add-ProjectTask $_ test (Get-TestTaskParam $_ ) " $BuildRoot /tests" }
145145task test " engine/test" , " rules/test"
146146
147- task makeModule {
147+ task createModule {
148+ Function CopyToDestinationDir ($itemsToCopy , $destination ) {
149+ CreateIfNotExists($destination )
150+ foreach ($file in $itemsToCopy ) {
151+ Copy-Item - Path $file - Destination (Join-Path $destination (Split-Path $file - Leaf)) - Force
152+ }
153+ }
154+
148155 $solutionDir = $BuildRoot
149- $itemsToCopyBinaries = @ (" $solutionDir \Engine\bin\$Configuration \$Framework \Microsoft.Windows.PowerShell.ScriptAnalyzer.dll" ,
150- " $solutionDir \Rules\bin\$Configuration \$Framework \Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll" )
151156
152157 $itemsToCopyCommon = @ (" $solutionDir \Engine\PSScriptAnalyzer.psd1" ,
153158 " $solutionDir \Engine\PSScriptAnalyzer.psm1" ,
@@ -156,30 +161,32 @@ task makeModule {
156161
157162 $destinationDir = " $solutionDir \out\PSScriptAnalyzer"
158163 $destinationDirBinaries = $destinationDir
159- if ($Framework -eq " netstandard1.6" ) {
160- $destinationDirBinaries = " $destinationDir \coreclr"
161- }
162- elseif ($Configuration -match ' PSv3' ) {
163- $destinationDirBinaries = " $destinationDir \PSv3"
164- }
165164
166- Function CopyToDestinationDir ($itemsToCopy , $destination ) {
167- CreateIfNotExists($destination )
168- foreach ($file in $itemsToCopy ) {
169- Copy-Item - Path $file - Destination (Join-Path $destination (Split-Path $file - Leaf)) - Force
165+ foreach ($Framework in $buildData.Frameworks.Keys ) {
166+ foreach ($Configuration in $buildData.Frameworks [$Framework ]) {
167+ $itemsToCopyBinaries = @ (" $solutionDir \Engine\bin\$Configuration \$Framework \Microsoft.Windows.PowerShell.ScriptAnalyzer.dll" ,
168+ " $solutionDir \Rules\bin\$Configuration \$Framework \Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll" )
169+
170+ if ($Framework -eq " netstandard1.6" ) {
171+ $destinationDirBinaries = " $destinationDir \coreclr"
172+ }
173+ elseif ($Configuration -match ' PSv3' ) {
174+ $destinationDirBinaries = " $destinationDir \PSv3"
175+ }
176+ }
177+
178+ CopyToDestinationDir $itemsToCopyBinaries $destinationDirBinaries
179+
180+ # copy newtonsoft dll if net451 framework
181+ if ($Framework -eq " net451" ) {
182+ copy-item - path " $solutionDir \Rules\bin\$Configuration \$Framework \Newtonsoft.Json.dll" - Destination $destinationDirBinaries
170183 }
171184 }
172185
173186 CopyToDestinationDir $itemsToCopyCommon $destinationDir
174- CopyToDestinationDir $itemsToCopyBinaries $destinationDirBinaries
175187
176188 # Copy Settings File
177189 Copy-Item - Path " $solutionDir \Engine\Settings" - Destination $destinationDir - Force - Recurse
178-
179- # copy newtonsoft dll if net451 framework
180- if ($Framework -eq " net451" ) {
181- copy-item - path " $solutionDir \Rules\bin\$Configuration \$Framework \Newtonsoft.Json.dll" - Destination $destinationDirBinaries
182- }
183190}
184191
185192task cleanModule {
0 commit comments