forked from loafle/openapi-generator-original
76 lines
2.1 KiB
PowerShell
76 lines
2.1 KiB
PowerShell
#
|
|
# Echo Server API
|
|
# Echo Server API
|
|
# Version: 0.1.0
|
|
# Contact: team@openapitools.org
|
|
# Generated by OpenAPI Generator: https://openapi-generator.tech
|
|
#
|
|
|
|
function Get-FunctionsToExport {
|
|
[CmdletBinding()]
|
|
Param (
|
|
[Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)]
|
|
[ValidateNotNullOrEmpty()]
|
|
[Alias('FullName')]
|
|
$Path
|
|
)
|
|
|
|
Process {
|
|
$Token = $null
|
|
$ParserErr = $null
|
|
|
|
$Ast = [System.Management.Automation.Language.Parser]::ParseFile(
|
|
$Path,
|
|
[ref]$Token,
|
|
[ref]$ParserErr
|
|
)
|
|
|
|
if ($ParserErr) {
|
|
throw $ParserErr
|
|
} else {
|
|
foreach ($name in 'Begin', 'Process', 'End') {
|
|
foreach ($Statement in $Ast."${name}Block".Statements) {
|
|
if (
|
|
[String]::IsNullOrWhiteSpace($Statement.Name) -or
|
|
$Statement.Extent.ToString() -notmatch
|
|
('function\W+{0}' -f $Statement.Name)
|
|
) {
|
|
continue
|
|
}
|
|
|
|
$Statement.Name
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$ScriptDir = Split-Path $script:MyInvocation.MyCommand.Path
|
|
$FunctionPath = 'Api', 'Model', 'Client' | Where-Object {
|
|
Join-Path "$ScriptDir\src\PSOpenAPITools\" $_ | Test-Path
|
|
} | ForEach-Object { Join-Path "$ScriptDir\src\PSOpenAPITools\" $_ }
|
|
|
|
$Manifest = @{
|
|
Path = "$ScriptDir\src\PSOpenAPITools\PSOpenAPITools.psd1"
|
|
|
|
Author = 'OpenAPI Generator Team'
|
|
CompanyName = 'openapitools.org'
|
|
Description = 'PSOpenAPITools - the PowerShell module for Echo Server API'
|
|
|
|
ModuleVersion = '0.1.2'
|
|
|
|
RootModule = 'PSOpenAPITools.psm1'
|
|
Guid = 'a27b908d-2a20-467f-bc32-af6f3a654ac5' # Has to be static, otherwise each new build will be considered different module
|
|
|
|
PowerShellVersion = '6.2'
|
|
|
|
FunctionsToExport = $FunctionPath | Get-ChildItem -Filter *.ps1 | Get-FunctionsToExport
|
|
|
|
VariablesToExport = @()
|
|
AliasesToExport = @()
|
|
CmdletsToExport = @()
|
|
|
|
}
|
|
|
|
New-ModuleManifest @Manifest
|