forked from StartAutomating/PSDevOps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PSDevOps.ezformat.ps1
52 lines (46 loc) · 1.88 KB
/
PSDevOps.ezformat.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#requires -Module EZOut
# Install-Module EZOut or https://github.com/StartAutomating/EZOut
[Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingWriteHost", "", Justification="This generates format files (where its ok to Write-Host)")]
param()
$myFile = $MyInvocation.MyCommand.ScriptBlock.File
$myModuleName = $($myFile | Split-Path -Leaf) -replace '\.ezformat\.ps1', ''
$myRoot = $myFile | Split-Path
$formatting = @(
Import-FormatView -FilePath (Join-Path $myRoot Formatting)
)
$myFormatFile = Join-Path $myRoot "$myModuleName.format.ps1xml"
$formatting | Out-FormatData -ModuleName PSDevOps | Set-Content $myFormatFile -Encoding UTF8
$types = @(
<#
Write-TypeView -TypeName PSDevOps.ArtifactFeed.View -AliasProperty @{
ViewID = 'id'
}
Write-TypeView -TypeName PSDevOps.ArtifactFeed -AliasProperty @{
FeedID = 'fullyQualifiedId'
} -HideProperty ViewID
Write-TypeView -TypeName PSDevOps.Build.Definition -AliasProperty @{
DefinitionID = 'ID'
}
Write-TypeView -TypeName PSDevOps.Repository -AliasProperty @{
RepositoryID = 'ID'
}
Write-TypeView -TypeName PSDevOps.ServiceEndpoint -AliasProperty @{
EndpointID = 'ID'
EndpointType = 'Type'
}
Write-TypeView -TypeName PSDevOps.Repository.SourceProvider -AliasProperty @{
ProviderName = 'Name'
}
Write-TypeView -TypeName PSDevOps.Project -AliasProperty @{
Project = 'Name'
ProjectID = 'ID'
} -ScriptProperty @{
LastUpdated = {[DateTime]$this.LastUpdateTime}
} -DefaultDisplay Organization, Project, LastUpdateTime, Description
#>
Join-Path $myRoot Types |
Get-Item -ea ignore |
Import-TypeView -Deserialized
)
$myTypesFile = Join-Path $myRoot "$myModuleName.types.ps1xml"
$types | Out-TypeData | Set-Content $myTypesFile -Encoding UTF8