@@ -14,16 +14,19 @@ If you have made changes to any files you may want to commit them before continu
1414
1515 [string ] $organizationName = Read-Host - Prompt " Enter your name, or the the name of your organization (e.g. 'My Company'). This will be used in the module manifest and repository license"
1616
17+ Write-Information " Copying template repository module files to a temporary location."
18+ [string ] $tempModuleDirectoryPath = CopyTemplateModuleFilesToTempDirectory - templateModuleDirectoryPath $TemplateModuleDirectoryPath
19+
1720 Write-Information " Removing all files from this repository so they can be replaced with template repository files."
18- RemoveAllRepositoryFilesExceptTemplateModuleFiles - repositoryDirectoryPath $RepositoryDirectoryPath
21+ RemoveAllUnnecessaryRepositoryFiles - repositoryDirectoryPath $RepositoryDirectoryPath
1922
2023 Write-Information " Creating the template repository files."
21- Import-Module - Name $TemplateModuleDirectoryPath - Force
24+ Import-Module - Name $tempModuleDirectoryPath - Force
2225 New-PowerShellScriptModuleRepository - RepositoryDirectoryPath $RepositoryDirectoryPath - ModuleName $moduleName - OrganizationName $organizationName
23- Remove-Module - Name ScriptModuleRepositoryTemplate - Force
26+ Remove-Module - Name $TemplateModuleName - Force
2427
25- Write-Information " Removing the template module files since we are done using it to create the template repository files."
26- RemoveTemplateModuleFiles - templateModuleDirectoryPath $TemplateModuleDirectoryPath
28+ Write-Information " Removing the temporary template module files since we are done using it to create the template repository files."
29+ RemoveTemporaryModuleDirectory - tempModuleDirectoryPath $tempModuleDirectoryPath
2730
2831 Write-Host - ForegroundColor Green " Repo initialization complete. You can now commit the changes to your repository."
2932}
@@ -32,16 +35,24 @@ Begin
3235{
3336 $InformationPreference = ' Continue'
3437 [string ] $RepositoryDirectoryPath = Resolve-Path - Path $PSScriptRoot
35- [string ] $TemplateModuleDirectoryPath = " $RepositoryDirectoryPath \src\ScriptModuleRepositoryTemplate"
38+ [string ] $TemplateModuleName = ' ScriptModuleRepositoryTemplate'
39+ [string ] $TemplateModuleDirectoryPath = " $RepositoryDirectoryPath \src\$TemplateModuleName "
40+
41+ function CopyTemplateModuleFilesToTempDirectory ([string ] $templateModuleDirectoryPath )
42+ {
43+ [string ] $templateModuleName = Split-Path - Path $templateModuleDirectoryPath - Leaf
44+ [string ] $tempModuleDirectoryPath = [System.IO.Path ]::Combine([System.IO.Path ]::GetTempPath(), (New-Guid ).Guid, $templateModuleName )
45+ Copy-Item - Path $templateModuleDirectoryPath - Destination $tempModuleDirectoryPath - Recurse - Force
46+ return $tempModuleDirectoryPath
47+ }
3648
37- function RemoveAllRepositoryFilesExceptTemplateModuleFiles ([string ] $repositoryDirectoryPath )
49+ function RemoveAllUnnecessaryRepositoryFiles ([string ] $repositoryDirectoryPath )
3850 {
3951 # Delete all files except the ones we want to keep.
4052 Get-ChildItem - Path $repositoryDirectoryPath - Recurse - File |
4153 Where-Object {
4254 $_.FullName -notlike " $repositoryDirectoryPath \.git\*" -and # Don't delete the .git directory.
43- $_.FullName -notlike " $repositoryDirectoryPath \_InitializeRepository.ps1" -and # Don't delete this script.
44- $_.FullName -notlike " $TemplateModuleDirectoryPath \*" # Don't delete the template module files.
55+ $_.FullName -notlike " $repositoryDirectoryPath \_InitializeRepository.ps1" # Don't delete this script.
4556 } |
4657 Remove-Item - Force
4758
@@ -52,11 +63,11 @@ Begin
5263 Remove-Item - Force
5364 }
5465
55- function RemoveTemplateModuleFiles ([string ] $templateModuleDirectoryPath )
66+ function RemoveTemporaryModuleDirectory ([string ] $tempModuleDirectoryPath )
5667 {
57- if (Test-Path - Path $templateModuleDirectoryPath - PathType Container)
68+ if (Test-Path - Path $tempModuleDirectoryPath - PathType Container)
5869 {
59- Remove-Item - Path $templateModuleDirectoryPath - Recurse - Force
70+ Remove-Item - Path $tempModuleDirectoryPath - Recurse - Force - ErrorAction SilentlyContinue
6071 }
6172 }
6273}
0 commit comments