@@ -14,16 +14,19 @@ If you have made changes to any files you may want to commit them before continu
14
14
15
15
[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"
16
16
17
+ Write-Information " Copying template repository module files to a temporary location."
18
+ [string ] $tempModuleDirectoryPath = CopyTemplateModuleFilesToTempDirectory - templateModuleDirectoryPath $TemplateModuleDirectoryPath
19
+
17
20
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
19
22
20
23
Write-Information " Creating the template repository files."
21
- Import-Module - Name $TemplateModuleDirectoryPath - Force
24
+ Import-Module - Name $tempModuleDirectoryPath - Force
22
25
New-PowerShellScriptModuleRepository - RepositoryDirectoryPath $RepositoryDirectoryPath - ModuleName $moduleName - OrganizationName $organizationName
23
- Remove-Module - Name ScriptModuleRepositoryTemplate - Force
26
+ Remove-Module - Name $TemplateModuleName - Force
24
27
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
27
30
28
31
Write-Host - ForegroundColor Green " Repo initialization complete. You can now commit the changes to your repository."
29
32
}
@@ -32,16 +35,24 @@ Begin
32
35
{
33
36
$InformationPreference = ' Continue'
34
37
[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
+ }
36
48
37
- function RemoveAllRepositoryFilesExceptTemplateModuleFiles ([string ] $repositoryDirectoryPath )
49
+ function RemoveAllUnnecessaryRepositoryFiles ([string ] $repositoryDirectoryPath )
38
50
{
39
51
# Delete all files except the ones we want to keep.
40
52
Get-ChildItem - Path $repositoryDirectoryPath - Recurse - File |
41
53
Where-Object {
42
54
$_.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.
45
56
} |
46
57
Remove-Item - Force
47
58
@@ -52,11 +63,11 @@ Begin
52
63
Remove-Item - Force
53
64
}
54
65
55
- function RemoveTemplateModuleFiles ([string ] $templateModuleDirectoryPath )
66
+ function RemoveTemporaryModuleDirectory ([string ] $tempModuleDirectoryPath )
56
67
{
57
- if (Test-Path - Path $templateModuleDirectoryPath - PathType Container)
68
+ if (Test-Path - Path $tempModuleDirectoryPath - PathType Container)
58
69
{
59
- Remove-Item - Path $templateModuleDirectoryPath - Recurse - Force
70
+ Remove-Item - Path $tempModuleDirectoryPath - Recurse - Force - ErrorAction SilentlyContinue
60
71
}
61
72
}
62
73
}
0 commit comments