Ndimensions.Automation.NafSetup.psm1
<#
.SYNOPSIS Ndimensions Automation Framework Setup .DESCRIPTION Ndimensions Automation Framework Setup - Prepare machine for downloading git repositories. Installs git related client software - Downloads the NAF repositories .NOTES Author : hillesheim@n-dimensions.de Version : 2.8 DateLastChanged : 2024-01-06 #> Write-Host "Load module 'Ndimensions.Automation.NafSetup' ... " #region DECLARATION #region USER_VARIABLES # ******************************************************************************************** # Artifact settings [ArtifactSettings] $artifactSettings = [ArtifactSettings]::new(); $artifactSettings.DevopsUrl = "https://pkgs.dev.azure.com"; $artifactSettings.OrganizationName = "n-dimensions-dev"; $artifactSettings.ProjectName = "NAF"; $artifactSettings.CredProviderInstallUrl = "https://aka.ms/install-artifacts-credprovider.ps1"; # ******************************************************************************** # Nuget default settings [NugetSettings] $nugetSettings = [NugetSettings]::new(); $nugetSettings.NugetExeDownloadUrl = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"; $nugetSettings.NuGetSourceName = "Ndimensions AzArtifacts"; $nugetSettings.NugetProgramFolder = "C:\Program Files\Nuget"; $nugetSettings.NugetPackagesInstallFolder = "C:\Program Files\Nuget\Packages"; # ******************************************************************************************** # ******************************************************************************************** # Nuget packages [NugetPackage[]] $nugetPackages = @(); # ******************************************************************************************** # ... Package "Ndimensions Automation Modules" [NugetPackage] $packageNafAutomation = [NugetPackage]::new(); $packageNafAutomation.Name = "Ndimensions Automation Modules"; $packageNafAutomation.BaseName = "Ndimensions.Automation.Modules"; $packageNafAutomation.Description = "Ndimensions Automation Modules: Contains common PowerShell modules for the 'Ndimensions Automation Framework' (NAF)"; $packageNafAutomation.DownloadFolder = "C:\_NAF\Modules"; $packageNafAutomation.ArtifactFeedId = "NdimensionsAutomationModules"; $packageNafAutomation.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageNafAutomation ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageNafAutomation; # ******************************************************************************************** # ... Package "Ndimensions Deployment Modules" [NugetPackage] $packageNafDeployment = [NugetPackage]::new(); $packageNafDeployment.Name = "Ndimensions Deployment Modules"; $packageNafDeployment.BaseName = "Ndimensions.Deployment.Modules"; $packageNafDeployment.Description = "Ndimensions Deployment Modules"; $packageNafDeployment.DownloadFolder = "C:\_NAF\Modules"; $packageNafDeployment.ArtifactFeedId = "NdimensionsDeploymentModules"; $packageNafDeployment.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageNafDeployment ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageNafDeployment; # ******************************************************************************************** # ... Package "Ndimensions.Automation.NafSetup" [NugetPackage] $packageNafSetup = [NugetPackage]::new(); $packageNafSetup.Name = "Ndimensions Automation NAF Setup"; $packageNafSetup.BaseName = "Ndimensions.Automation.NafSetup" $packageNafSetup.Description = "Bootstrap Module for NAF framework. Hosted on PowerShell Gallery"; $packageNafSetup.DownloadFolder = "C:\_NAF\Application\Ndimensions.Automation.NafSetup\Module"; $packageNafSetup.ArtifactFeedId = "NdimensionsAutomationNafSetup"; $packageNafSetup.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageNafSetup ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageNafSetup; # ******************************************************************************************** # ... Package "Ndimensions.Automation.ClassroomSetup" [NugetPackage] $packageClassroomSetup = [NugetPackage]::new(); $packageClassroomSetup.Name = "Ndimensions Automation Classroom Setup"; $packageClassroomSetup.BaseName = "Ndimensions.Automation.ClassroomSetup" $packageClassroomSetup.Description = "PowerShell scripts to run the classroom setup on master and satellite. Hosted on Azure Artifacts"; $packageClassroomSetup.DownloadFolder = "C:\_NAF\Application\Ndimensions.Automation.ClassroomSetup\Module"; $packageClassroomSetup.ArtifactFeedId = "NdimensionsAutomationClassroomSetup"; $packageClassroomSetup.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageClassroomSetup ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageClassroomSetup; # ******************************************************************************************** # ... Package "Ndimensions ClassroomServer" [NugetPackage] $packageClassroomServer = [NugetPackage]::new(); $packageClassroomServer.Name = "Ndimensions ClassroomServer"; $packageClassroomServer.BaseName = "Ndimensions.ClassroomServer"; $packageClassroomServer.Description = "Ndimensions ClassroomServer"; $packageClassroomServer.DownloadFolder = "C:\_NAF\Application\Ndimensions.ClassroomServer\Application"; $packageClassroomServer.ArtifactFeedId = "NdimensionsClassroomServer"; $packageClassroomServer.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageClassroomServer ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageClassroomServer; # ******************************************************************************************** # ... Package "Ndimensions SQLIO Helper" [NugetPackage] $packageSqlioHelper = [NugetPackage]::new(); $packageSqlioHelper.Name = "Ndimensions SQLIO Helper"; $packageSqlioHelper.BaseName = "Ndimensions.SQLIO"; $packageSqlioHelper.Description = "Ndimensions PowerShell Modules for SQLIO.EXE"; $packageSqlioHelper.DownloadFolder = "C:\_NAF\Application\Ndimensions.Sqlio"; $packageSqlioHelper.ArtifactFeedId = "NdimensionsApplicationSqlioHelper"; $packageSqlioHelper.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageSqlioHelper ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageSqlioHelper; # ******************************************************************************************** # ... Package "Ndimensions Mouse Context Items Helper" [NugetPackage] $packageMouseContext = [NugetPackage]::new(); $packageMouseContext.Name = "Ndimensions Mouse Context Items Helper"; $packageMouseContext.BaseName = "Ndimensions.Helper.MouseContextItems"; $packageMouseContext.Description = "Ndimensions PowerShell Application for Mouse Context Items"; $packageMouseContext.DownloadFolder = "C:\_NAF\Application\Ndimensions.Helper.MouseContextItems\Module"; $packageMouseContext.ArtifactFeedId = "NdimensionsHelperMouseContextItems"; $packageMouseContext.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageMouseContext ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageMouseContext; # ******************************************************************************************** # ... Package "Ndimensions.Helper.TextToTable" [NugetPackage] $packageTextToTable = [NugetPackage]::new(); $packageTextToTable.Name = "Ndimensions Text-to-Table Helper"; $packageTextToTable.BaseName = "Ndimensions.Helper.TextToTable"; $packageTextToTable.Description = "Ndimensions PowerShell Application for Mouse Context Items"; $packageTextToTable.DownloadFolder = "C:\_NAF\Application\Ndimensions.Helper.TextToTable\Module"; $packageTextToTable.ArtifactFeedId = "NdimensionsHelperTextToTable"; $packageTextToTable.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageTextToTable ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageTextToTable; # ******************************************************************************************** # ... Package "Ndimensions.Helper.Qa" [NugetPackage] $packageQa = [NugetPackage]::new(); $packageQa.Name = "Ndimensions QA Helper"; $packageQa.BaseName = "Ndimensions.Helper.Qa"; $packageQa.Description = "Ndimensions QA Helper"; $packageQa.DownloadFolder = "C:\_NAF\Application\Ndimensions.Helper.Qa\Module"; $packageQa.ArtifactFeedId = "NdimensionsHelperQa"; $packageQa.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageQa ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageQa; # ******************************************************************************************** # ... Package "Ndimensions.Helper.HtmlSlides" [NugetPackage] $packageHtmlSlides = [NugetPackage]::new(); $packageHtmlSlides.Name = "Ndimensions Html Slides Helper"; $packageHtmlSlides.BaseName = "Ndimensions.Helper.HtmlSlides"; $packageHtmlSlides.Description = "Ndimensions Html Slides Helper"; $packageHtmlSlides.DownloadFolder = "C:\_NAF\Application\Ndimensions.Helper.HtmlSlides\Module"; $packageHtmlSlides.ArtifactFeedId = "NdimensionsHelperHtmlSlides"; $packageHtmlSlides.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageHtmlSlides ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageHtmlSlides; # ******************************************************************************************** # ... Package "Ndimensions.Automation.FlaskApp" [NugetPackage] $packageFlaskApp = [NugetPackage]::new(); $packageHtmlSlides.Name = "Ndimensions Flask App"; $packageHtmlSlides.BaseName = "Ndimensions.Automation.FlaskApp"; $packageHtmlSlides.Description = "Ndimensions Flask App"; $packageHtmlSlides.DownloadFolder = "C:\_NAF\Application\Ndimensions.Automation.FlaskApp\Module"; $packageHtmlSlides.ArtifactFeedId = "NdimensionsAutomationFlaskApp"; $packageHtmlSlides.ArtifactFeedUrl = ` Get-ArtifactFeedUrl ` -NugetPackage $packageFlaskApp ` -ArtifactSettings $artifactSettings; $nugetPackages += $packageFlaskApp; # ******************************************************************************************** #endregion #endregion #region EXPORT Export-ModuleMember -Variable nugetSettings; Export-ModuleMember -Variable artifactSettings; Export-ModuleMember -Variable nugetPackages; #endregion |