Restructure solution layout by module
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Docs CI / lint-and-preview (push) Has been cancelled
				
			This commit is contained in:
		| @@ -1,57 +1,57 @@ | ||||
| Set-StrictMode -Version Latest | ||||
| $ErrorActionPreference = 'Stop' | ||||
|  | ||||
| $repoRoot = Split-Path -Parent $PSScriptRoot | ||||
| $pluginsDir = Join-Path $repoRoot 'plugins\notify' | ||||
|  | ||||
| $assemblies = @{ | ||||
|     slack  = 'StellaOps.Notify.Connectors.Slack.dll' | ||||
|     teams  = 'StellaOps.Notify.Connectors.Teams.dll' | ||||
|     email  = 'StellaOps.Notify.Connectors.Email.dll' | ||||
|     webhook = 'StellaOps.Notify.Connectors.Webhook.dll' | ||||
| } | ||||
|  | ||||
| $hasFailures = $false | ||||
|  | ||||
| foreach ($channel in $assemblies.Keys) { | ||||
|     $dir = Join-Path $pluginsDir $channel | ||||
|     if (-not (Test-Path -LiteralPath $dir -PathType Container)) { | ||||
|         Write-Host "ERROR: Missing plug-in directory '$dir'." | ||||
|         $hasFailures = $true | ||||
|         continue | ||||
|     } | ||||
|  | ||||
|     $manifest = Join-Path $dir 'notify-plugin.json' | ||||
|     $assembly = Join-Path $dir $assemblies[$channel] | ||||
|     $baseName = [System.IO.Path]::GetFileNameWithoutExtension($assemblies[$channel]) | ||||
|     $pdb = Join-Path $dir "$baseName.pdb" | ||||
|     $deps = Join-Path $dir "$baseName.deps.json" | ||||
|  | ||||
|     if (-not (Test-Path -LiteralPath $manifest -PathType Leaf)) { | ||||
|         Write-Host "ERROR: Missing manifest for '$channel' connector ($manifest)." | ||||
|         $hasFailures = $true | ||||
|     } | ||||
|  | ||||
|     if (-not (Test-Path -LiteralPath $assembly -PathType Leaf)) { | ||||
|         Write-Host "ERROR: Missing assembly for '$channel' connector ($assembly)." | ||||
|         $hasFailures = $true | ||||
|     } | ||||
|  | ||||
|     Get-ChildItem -LiteralPath $dir -File | ForEach-Object { | ||||
|         switch ($_.Name) { | ||||
|             'notify-plugin.json' { return } | ||||
|             { $_.Name -eq $assemblies[$channel] } { return } | ||||
|             { $_.Name -eq "$baseName.pdb" } { return } | ||||
|             { $_.Name -eq "$baseName.deps.json" } { return } | ||||
|             default { | ||||
|                 Write-Host "ERROR: Unexpected file '$($_.Name)' in '$dir'." | ||||
|                 $hasFailures = $true | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| if ($hasFailures) { | ||||
|     exit 1 | ||||
| } | ||||
| exit 0 | ||||
| Set-StrictMode -Version Latest | ||||
| $ErrorActionPreference = 'Stop' | ||||
|  | ||||
| $repoRoot = Split-Path -Parent $PSScriptRoot | ||||
| $pluginsDir = Join-Path $repoRoot 'plugins\notify' | ||||
|  | ||||
| $assemblies = @{ | ||||
|     slack  = 'StellaOps.Notify.Connectors.Slack.dll' | ||||
|     teams  = 'StellaOps.Notify.Connectors.Teams.dll' | ||||
|     email  = 'StellaOps.Notify.Connectors.Email.dll' | ||||
|     webhook = 'StellaOps.Notify.Connectors.Webhook.dll' | ||||
| } | ||||
|  | ||||
| $hasFailures = $false | ||||
|  | ||||
| foreach ($channel in $assemblies.Keys) { | ||||
|     $dir = Join-Path $pluginsDir $channel | ||||
|     if (-not (Test-Path -LiteralPath $dir -PathType Container)) { | ||||
|         Write-Host "ERROR: Missing plug-in directory '$dir'." | ||||
|         $hasFailures = $true | ||||
|         continue | ||||
|     } | ||||
|  | ||||
|     $manifest = Join-Path $dir 'notify-plugin.json' | ||||
|     $assembly = Join-Path $dir $assemblies[$channel] | ||||
|     $baseName = [System.IO.Path]::GetFileNameWithoutExtension($assemblies[$channel]) | ||||
|     $pdb = Join-Path $dir "$baseName.pdb" | ||||
|     $deps = Join-Path $dir "$baseName.deps.json" | ||||
|  | ||||
|     if (-not (Test-Path -LiteralPath $manifest -PathType Leaf)) { | ||||
|         Write-Host "ERROR: Missing manifest for '$channel' connector ($manifest)." | ||||
|         $hasFailures = $true | ||||
|     } | ||||
|  | ||||
|     if (-not (Test-Path -LiteralPath $assembly -PathType Leaf)) { | ||||
|         Write-Host "ERROR: Missing assembly for '$channel' connector ($assembly)." | ||||
|         $hasFailures = $true | ||||
|     } | ||||
|  | ||||
|     Get-ChildItem -LiteralPath $dir -File | ForEach-Object { | ||||
|         switch ($_.Name) { | ||||
|             'notify-plugin.json' { return } | ||||
|             { $_.Name -eq $assemblies[$channel] } { return } | ||||
|             { $_.Name -eq "$baseName.pdb" } { return } | ||||
|             { $_.Name -eq "$baseName.deps.json" } { return } | ||||
|             default { | ||||
|                 Write-Host "ERROR: Unexpected file '$($_.Name)' in '$dir'." | ||||
|                 $hasFailures = $true | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| if ($hasFailures) { | ||||
|     exit 1 | ||||
| } | ||||
| exit 0 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user