Skip to content

Commit 9e0a822

Browse files
author
James Brundage
committed
Adding [Management.Automation.Language.ScriptRequirements] Adding .Script property (Fixes #234)
1 parent 4a42912 commit 9e0a822

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed
Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1 @@
1-
$requirement = $this
2-
if ($requirement.RequirementPSVersion) {
3-
"#requires -Version $($requirement.RequirementPSVersion)"
4-
}
5-
if ($requirement.IsElevationRequired) {
6-
"#requires -RunAsAdministrator"
7-
}
8-
if ($requirement.RequiredModules) {
9-
"#requires -Module $(@(foreach ($reqModule in $requirement.RequiredModules) {
10-
if ($reqModule.Version -or $req.RequiredVersion -or $req.MaximumVersion) {
11-
'@{' + $(@(foreach ($prop in $reqModule.PSObject.Properties) {
12-
if (-not $prop.Value) { continue }
13-
if ($prop.Name -in 'Name', 'Version') {
14-
"Module$($prop.Name)='$($prop.Value.ToString().Replace("'","''"))'"
15-
} elseif ($prop.Name -eq 'RequiredVersion') {
16-
"MinimumVersion='$($prop.Value)'"
17-
} else {
18-
"$($prop.Name)='$($prop.Value)'"
19-
}
20-
}) -join ';') + '}'
21-
} else {
22-
$reqModule.Name
23-
}
24-
}) -join ',')"
25-
}
26-
if ($requirement.RequiredAssemblies) {
27-
"#requires -Assembly $($requirement.RequiredAssemblies -join ',')"
28-
}
1+
$this.Script.ToString()
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
$requirement = $this
2+
[ScriptBlock]::create(
3+
@(if ($requirement.RequirementPSVersion) {
4+
"#requires -Version $($requirement.RequirementPSVersion)"
5+
}
6+
if ($requirement.IsElevationRequired) {
7+
"#requires -RunAsAdministrator"
8+
}
9+
if ($requirement.RequiredModules) {
10+
"#requires -Module $(@(foreach ($reqModule in $requirement.RequiredModules) {
11+
if ($reqModule.Version -or $req.RequiredVersion -or $req.MaximumVersion) {
12+
'@{' + $(@(foreach ($prop in $reqModule.PSObject.Properties) {
13+
if (-not $prop.Value) { continue }
14+
if ($prop.Name -in 'Name', 'Version') {
15+
"Module$($prop.Name)='$($prop.Value.ToString().Replace("'","''"))'"
16+
} elseif ($prop.Name -eq 'RequiredVersion') {
17+
"MinimumVersion='$($prop.Value)'"
18+
} else {
19+
"$($prop.Name)='$($prop.Value)'"
20+
}
21+
}) -join ';') + '}'
22+
} else {
23+
$reqModule.Name
24+
}
25+
}) -join ',')"
26+
}
27+
if ($requirement.RequiredAssemblies) {
28+
"#requires -Assembly $($requirement.RequiredAssemblies -join ',')"
29+
}) -join [Environment]::NewLine
30+
)

0 commit comments

Comments
 (0)