Skip to content

Commit 6659541

Browse files
author
James Brundage
committed
feat: JSON-LD module scaffolding and build ( Fixes #1, Fixes #3, Fixes #4 )
1 parent 706f24b commit 6659541

File tree

4 files changed

+80
-0
lines changed

4 files changed

+80
-0
lines changed

Build/GitHub/Jobs/JsonLD.psd1

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@{
2+
"runs-on" = "ubuntu-latest"
3+
if = '${{ success() }}'
4+
steps = @(
5+
@{
6+
name = 'Check out repository'
7+
uses = 'actions/checkout@v2'
8+
},
9+
@{
10+
name = 'GitLogger'
11+
uses = 'GitLogging/GitLoggerAction@main'
12+
id = 'GitLogger'
13+
},
14+
@{
15+
name = 'Use PSSVG Action'
16+
uses = 'StartAutomating/PSSVG@main'
17+
id = 'PSSVG'
18+
},
19+
@{
20+
name = 'Use PipeScript Action'
21+
uses = 'StartAutomating/PipeScript@main'
22+
id = 'PipeScript'
23+
},
24+
'RunEZOut',
25+
'RunHelpOut',
26+
@{
27+
name = 'Use PSJekyll Action'
28+
uses = 'PowerShellWeb/PSJekyll@main'
29+
id = 'PSJekyll'
30+
}
31+
)
32+
}
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
@{
2+
name = 'PublishTestResults'
3+
uses = 'actions/upload-artifact@main'
4+
with = @{
5+
name = 'PesterResults'
6+
path = '**.TestResults.xml'
7+
}
8+
if = '${{always()}}'
9+
}
10+
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#requires -Module PSDevOps
2+
Import-BuildStep -SourcePath (
3+
Join-Path $PSScriptRoot 'GitHub'
4+
) -BuildSystem GitHubWorkflow
5+
6+
Push-Location ($PSScriptRoot | Split-Path)
7+
New-GitHubWorkflow -Name "oEmbed Module Build" -On Push,
8+
PullRequest,
9+
Demand -Job TestPowerShellOnLinux,
10+
TagReleaseAndPublish, JsonLD -OutputPath .\.github\workflows\oEmbed-Build.yml
11+
12+
Pop-Location

JSON-LD.ps.psm1

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
$commandsPath = Join-Path $PSScriptRoot Commands
2+
[include('*-*')]$commandsPath
3+
4+
$myModule = $MyInvocation.MyCommand.ScriptBlock.Module
5+
$ExecutionContext.SessionState.PSVariable.Set($myModule.Name, $myModule)
6+
$myModule.pstypenames.insert(0, $myModule.Name)
7+
8+
New-PSDrive -Name $MyModule.Name -PSProvider FileSystem -Scope Global -Root $PSScriptRoot -ErrorAction Ignore
9+
10+
if ($home) {
11+
$MyModuleProfileDirectory = Join-Path ([Environment]::GetFolderPath("LocalApplicationData")) $MyModule.Name
12+
if (-not (Test-Path $MyModuleProfileDirectory)) {
13+
$null = New-Item -ItemType Directory -Path $MyModuleProfileDirectory -Force
14+
}
15+
New-PSDrive -Name "My$($MyModule.Name)" -PSProvider FileSystem -Scope Global -Root $MyModuleProfileDirectory -ErrorAction Ignore
16+
}
17+
18+
# Set a script variable of this, set to the module
19+
# (so all scripts in this scope default to the correct `$this`)
20+
$script:this = $myModule
21+
22+
#region Custom
23+
#endregion Custom
24+
25+
Export-ModuleMember -Alias * -Function * -Variable $myModule.Name
26+

0 commit comments

Comments
 (0)