Merge pull request #527 from Icinga:feature/dev_mode_include_components

Feature: Adds developer mode for components

Adds support for the developer mode to now include the modules as well and ensure, that available cache files are overwritten with the template again.

This ensures that we can develop new features and test them on the fly, without having to manipulate cache files manually.
This commit is contained in:
Lord Hepipud 2022-05-30 09:48:00 +02:00 committed by GitHub
commit 126ac28ea2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 1 deletions

View file

@ -133,7 +133,18 @@ function Write-IcingaFrameworkCodeCache()
function Copy-IcingaFrameworkCacheTemplate() function Copy-IcingaFrameworkCacheTemplate()
{ {
Copy-Item -Path (Join-Path -Path (Get-IcingaFrameworkRootPath) -ChildPath '\templates\framework_cache.psm1.template') -Destination (Get-IcingaFrameworkCodeCacheFile) -Force; Copy-ItemSecure -Path (Join-Path -Path (Get-IcingaFrameworkRootPath) -ChildPath '\templates\framework_cache.psm1.template') -Destination (Get-IcingaFrameworkCodeCacheFile) -Force | Out-Null;
$WindowsModules = Get-Module -Name 'icinga-powershell-*' -ListAvailable;
foreach ($entry in $WindowsModules) {
$ModulePath = $entry.Path.Replace([string]::Format('{0}.psd1', $entry.Name), '');
$CacheFile = Join-Path -Path $ModulePath -ChildPath ([string]::Format('\compiled\{0}.ifw_compilation.psm1', $entry.Name));
if (Test-Path $CacheFile) {
Copy-ItemSecure -Path (Join-Path -Path (Get-IcingaFrameworkRootPath) -ChildPath '\templates\compilation.psm1.template') -Destination $CacheFile -Force | Out-Null;
}
}
} }
function Publish-IcingaEventLogDocumentation() function Publish-IcingaEventLogDocumentation()

View file

@ -17,3 +17,7 @@ if ($null -eq (Get-Command -Name 'Write-IcingaForWindowsComponentCompilationFile
Write-IcingaForWindowsComponentCompilationFile ` Write-IcingaForWindowsComponentCompilationFile `
-ScriptRootPath $PSScriptRoot ` -ScriptRootPath $PSScriptRoot `
-CompiledFilePath ($MyInvocation.MyCommand.Path); -CompiledFilePath ($MyInvocation.MyCommand.Path);
if ($null -ne $env:TERM_PROGRAM -Or $Global:Icinga.Protected.DeveloperMode) {
Copy-IcingaFrameworkCacheTemplate;
}