refactor: make this a valid nuget package for Powershell gallery
feat: add build environment scripts
This commit is contained in:
parent
69c2684ee7
commit
46b1b7c83f
38 changed files with 200 additions and 42 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -1,6 +1,11 @@
|
|||
|
||||
.DS_Store
|
||||
/test-reports/
|
||||
/dist/
|
||||
|
||||
# FAT stuff (in a filesystem sense)
|
||||
/_*
|
||||
/._*
|
||||
.DS_Store
|
||||
|
||||
#vim cache
|
||||
*.swp
|
||||
|
|
|
|||
41
LICENSE
Executable file
41
LICENSE
Executable file
|
|
@ -0,0 +1,41 @@
|
|||
DL-DE->BY-2.0
|
||||
Datenlizenz Deutschland – Namensnennung – Version 2.0
|
||||
|
||||
(1) Jede Nutzung ist unter den Bedingungen dieser „Datenlizenz Deutschland – Namensnennung – Version 2.0" zulässig.
|
||||
|
||||
Die bereitgestellten Daten und Metadaten dürfen für die kommerzielle und nicht kommerzielle Nutzung insbesondere
|
||||
|
||||
vervielfältigt, ausgedruckt, präsentiert, verändert, bearbeitet sowie an Dritte übermittelt werden;
|
||||
mit eigenen Daten und Daten Anderer zusammengeführt und zu selbständigen neuen Datensätzen verbunden werden;
|
||||
in interne und externe Geschäftsprozesse, Produkte und Anwendungen in öffentlichen und nicht öffentlichen elektronischen Netzwerken eingebunden werden.
|
||||
|
||||
(2) Bei der Nutzung ist sicherzustellen, dass folgende Angaben als Quellenvermerk enthalten sind:
|
||||
|
||||
Bezeichnung des Bereitstellers nach dessen Maßgabe,
|
||||
der Vermerk „Datenlizenz Deutschland – Namensnennung – Version 2.0" oder „dl-de/by-2-0" mit Verweis auf den Lizenztext unter www.govdata.de/dl-de/by-2-0 sowie
|
||||
einen Verweis auf den Datensatz (URI).
|
||||
|
||||
Dies gilt nur soweit die datenhaltende Stelle die Angaben 1. bis 3. zum Quellenvermerk bereitstellt.
|
||||
|
||||
(3) Veränderungen, Bearbeitungen, neue Gestaltungen oder sonstige Abwandlungen sind im Quellenvermerk mit dem Hinweis zu versehen, dass die Daten geändert wurden.
|
||||
|
||||
|
||||
Data licence Germany – attribution – version 2.0
|
||||
|
||||
(1) Any use will be permitted provided it fulfils the requirements of this "Data licence Germany – attribution – Version 2.0".
|
||||
|
||||
The data and meta-data provided may, for commercial and non-commercial use, in particular
|
||||
|
||||
be copied, printed, presented, altered, processed and transmitted to third parties;
|
||||
be merged with own data and with the data of others and be combined to form new and independent datasets;
|
||||
be integrated in internal and external business processes, products and applications in public and non-public electronic networks.
|
||||
|
||||
(2) The user must ensure that the source note contains the following information:
|
||||
|
||||
the name of the provider,
|
||||
the annotation "Data licence Germany – attribution – Version 2.0" or "dl-de/by-2-0" referring to the licence text available at www.govdata.de/dl-de/by-2-0, and
|
||||
a reference to the dataset (URI).
|
||||
|
||||
This applies only if the entity keeping the data provides the pieces of information 1-3 for the source note.
|
||||
|
||||
(3) Changes, editing, new designs or other amendments must be marked as such in the source note.
|
||||
|
|
@ -1,14 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>PSConfluencePublisher</id>
|
||||
<id>victorykit.PSConfluencePublisher</id>
|
||||
<title>victorykit.PSConfluencePublisher</title>
|
||||
<version>1.1.0</version>
|
||||
<description>standalone publisher for xconfluencebuilder</description>
|
||||
<authors>theodor.rodweil@victory-k.it</authors>
|
||||
<authors>Victory Karma IT</authors>
|
||||
<owners>Theodor Rodweil</owners>
|
||||
<license type="expression">DL-DE-BY-2.0</license>
|
||||
<readme>README.md</readme>
|
||||
<readme>.\README.md</readme>
|
||||
<copyright>Victory Karma IT</copyright>
|
||||
<title>Powershell Confluence Publisher</title>
|
||||
<tags>PowerShell</tags>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="src\**\*" target="."/>
|
||||
<file src="README.md" target="." />
|
||||
</files>
|
||||
</package>
|
||||
|
|
|
|||
31
samples/default/README.md
Executable file
31
samples/default/README.md
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
# Default Sample
|
||||
|
||||
This is a sample/reference implementation for showing the usage of
|
||||
PSConfluencePublisher.
|
||||
|
||||
The sample provides sample data, which was generated by a sample of the
|
||||
[victorykit-xconfluencebuilder](https://bitbucket.org/victorykit/xconfluencebuilder).
|
||||
The data can be found inside the `data/` directory.
|
||||
|
||||
## Usage
|
||||
|
||||
To get started, first identify your Confluence instance and make sure you have
|
||||
the following data at hand:
|
||||
|
||||
* Hostname of Confluence instance
|
||||
* URL of parent/root page to publish to (you can copy it directly from your
|
||||
browser)
|
||||
* personal access token
|
||||
|
||||
Next, make sure you changed your working directory to this directory
|
||||
(`samples/default/`, navigating from the root of the repository).
|
||||
|
||||
Now, import the module by executing the following:
|
||||
|
||||
```
|
||||
Import-Module ../../tools/PSConfluencePublisher.psd1
|
||||
```
|
||||
|
||||
```
|
||||
$manifest = Get-Manifest -File data/manifest.json
|
||||
```
|
||||
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
BIN
scripts/._analyze.ps1
Executable file
BIN
scripts/._analyze.ps1
Executable file
Binary file not shown.
BIN
scripts/._clean.ps1
Executable file
BIN
scripts/._clean.ps1
Executable file
Binary file not shown.
BIN
scripts/._test.ps1
Executable file
BIN
scripts/._test.ps1
Executable file
Binary file not shown.
16
scripts/analyze.ps1
Executable file
16
scripts/analyze.ps1
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#! /usr/bin/pwsh
|
||||
|
||||
Set-StrictMode -Version Latest
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$ErrorView = "NormalView"
|
||||
|
||||
$basePath = Join-Path $PSScriptRoot '..'
|
||||
|
||||
Import-Module PSScriptAnalyzer -ErrorAction Stop -Force
|
||||
|
||||
Invoke-ScriptAnalyzer `
|
||||
-Path (Join-Path -Path $basePath 'src') `
|
||||
-Settings PSGallery `
|
||||
-Recurse
|
||||
22
scripts/clean.ps1
Executable file
22
scripts/clean.ps1
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#! /usr/bin/pwsh
|
||||
|
||||
Set-StrictMode -Version Latest
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$ErrorView = "NormalView"
|
||||
|
||||
$basePath = Join-Path $PSScriptRoot '..'
|
||||
|
||||
@(
|
||||
'dist',
|
||||
'test-reports'
|
||||
) | ForEach {
|
||||
$path = Join-Path $basePath $_
|
||||
|
||||
If (-Not (Test-Path $path)) {return}
|
||||
|
||||
Write-Host "rm: $(Resolve-Path $path)"
|
||||
|
||||
Remove-Item -Recurse -Force ($path)
|
||||
}
|
||||
12
scripts/pack.ps1
Executable file
12
scripts/pack.ps1
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
#! /usr/bin/pwsh
|
||||
|
||||
Set-StrictMode -Version Latest
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$ErrorView = "NormalView"
|
||||
|
||||
$basePath = Join-Path $PSScriptRoot '..'
|
||||
|
||||
nuget pack (Join-Path $basePath 'PSConfluencePublisher.nuspec') `
|
||||
-OutputDirectory (Join-Path $basePath 'dist')
|
||||
36
scripts/test.ps1
Executable file
36
scripts/test.ps1
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
#! /usr/bin/pwsh
|
||||
|
||||
Set-StrictMode -Version Latest
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$ErrorView = "NormalView"
|
||||
|
||||
Import-Module Pester -ErrorAction Stop -Force
|
||||
|
||||
Invoke-Pester -Configuration @{
|
||||
'Debug' = @{
|
||||
'ShowFullErrors' = $false
|
||||
'ShowNavigationMarkers' = $false
|
||||
'WriteDebugMessagesFrom' = 'CodeCoverage'
|
||||
}
|
||||
'Output' = @{
|
||||
'Verbosity' = 'Normal'
|
||||
}
|
||||
'Run' = @{
|
||||
'Path' = Join-Path $PSScriptRoot '..' 'tests' '*'
|
||||
'Exit' = $true
|
||||
'PassThru' = $true
|
||||
}
|
||||
'CodeCoverage' = @{
|
||||
'Enabled' = $true
|
||||
'Path' = Join-Path $PSScriptRoot '..' 'src' '*'
|
||||
'OutputPath' = Join-Path $PSScriptRoot '..' 'test-reports' `
|
||||
'coverage.xml'
|
||||
}
|
||||
'TestResult' = @{
|
||||
'Enabled' = $true
|
||||
'OutputPath' = Join-Path $PSScriptRoot '..' 'test-reports' 'testResults.xml'
|
||||
}
|
||||
}
|
||||
|
||||
BIN
src/._PSConfluencePublisher.psd1
Executable file
BIN
src/._PSConfluencePublisher.psd1
Executable file
Binary file not shown.
|
|
@ -3,7 +3,7 @@ $ErrorActionPreference = "Stop"
|
|||
|
||||
|
||||
$script:schema = Get-Content (
|
||||
Join-Path $PSScriptRoot 'manifest.schema.json'
|
||||
Join-Path -Path $PSScriptRoot 'schemas' 'manifest.schema.json'
|
||||
) | Out-String
|
||||
|
||||
|
||||
|
|
@ -32,12 +32,12 @@ function Get-Manifest
|
|||
{
|
||||
Write-Debug $_
|
||||
|
||||
$raw = '{"pages":{}, "attachments": {}}'
|
||||
$raw = '{"Pages":[], "attachments": []}'
|
||||
}
|
||||
|
||||
$raw | Test-JSON -Schema $script:schema | Out-Null
|
||||
|
||||
$data = $raw | ConvertFrom-JSON
|
||||
$raw | ConvertFrom-JSON
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -65,7 +65,7 @@ RootModule = 'PSConfluencePublisher.psm1'
|
|||
'Manifest.psm1',
|
||||
'Page.psm1',
|
||||
'PageMeta.psm1',
|
||||
'String.psm1'
|
||||
'StringHelper.psm1'
|
||||
)
|
||||
|
||||
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
|
||||
|
|
@ -122,7 +122,7 @@ function Get-PageMeta
|
|||
{
|
||||
Update-PageMeta `
|
||||
-Id $results[0].id `
|
||||
-Version ($results[0]._expandable | Select -ExpandProperty 'version') `
|
||||
-Version $results[0]._expandable.version `
|
||||
-Title $Title `
|
||||
-Manifest $Manifest
|
||||
}
|
||||
|
|
@ -2,7 +2,8 @@
|
|||
$ErrorActionPreference = "Stop"
|
||||
|
||||
BeforeAll {
|
||||
Import-Module (Join-Path $PSScriptRoot 'PSConfluencePublisher.psd1')
|
||||
Import-Module (Join-Path $PSScriptRoot '..' 'src' `
|
||||
'PSConfluencePublisher.psd1')
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
$ErrorActionPreference = "Stop"
|
||||
|
||||
BeforeAll {
|
||||
Import-Module (Join-Path $PSScriptRoot 'PSConfluencePublisher.psd1')
|
||||
Import-Module (Join-Path $PSScriptRoot '..' 'src' `
|
||||
'PSConfluencePublisher.psd1')
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -20,7 +22,7 @@ Describe 'Get-Manifest' `
|
|||
InModuleScope Manifest `
|
||||
{
|
||||
Mock Get-Content {
|
||||
return '{"pages":[], "attachments": []}'
|
||||
return '{"Pages":[], "Attachments": []}'
|
||||
}
|
||||
|
||||
#mocking Get-Content, therefore file name can be bogus
|
||||
|
|
@ -53,8 +55,8 @@ Describe 'Set-Manifest' `
|
|||
InModuleScope Manifest `
|
||||
{
|
||||
$mockManifest = @{
|
||||
'pages' = @()
|
||||
'attachments' = @()
|
||||
'Pages' = @()
|
||||
'Attachments' = @()
|
||||
}
|
||||
|
||||
Mock Set-Content {
|
||||
|
|
@ -98,8 +100,8 @@ Describe 'Set-Manifest' `
|
|||
InModuleScope Manifest `
|
||||
{
|
||||
$mockManifest = @{
|
||||
'pages' = @()
|
||||
'attachments' = @()
|
||||
'Pages' = @()
|
||||
'Attachments' = @()
|
||||
}
|
||||
|
||||
Mock Set-Content {
|
||||
|
|
@ -129,8 +131,8 @@ Describe 'Set-Manifest' `
|
|||
InModuleScope Manifest `
|
||||
{
|
||||
$mockManifest = @{
|
||||
'pages' = @()
|
||||
'attachments' = @()
|
||||
'Pages' = @()
|
||||
'Attachments' = @()
|
||||
}
|
||||
|
||||
Mock Set-Content {
|
||||
|
|
@ -3,7 +3,8 @@ $ErrorActionPreference = "Stop"
|
|||
|
||||
|
||||
BeforeAll {
|
||||
Import-Module (Join-Path $PSScriptRoot 'PSConfluencePublisher.psd1')
|
||||
Import-Module (Join-Path $PSScriptRoot '..' 'src' `
|
||||
'PSConfluencePublisher.psd1')
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
$ErrorActionPreference = "Stop"
|
||||
|
||||
BeforeAll {
|
||||
Import-Module (Join-Path $PSScriptRoot 'PSConfluencePublisher.psd1')
|
||||
Import-Module (Join-Path $PSScriptRoot '..' 'src' `
|
||||
'PSConfluencePublisher.psd1')
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -2,7 +2,8 @@
|
|||
$ErrorActionPreference = "Stop"
|
||||
|
||||
BeforeAll {
|
||||
Import-Module (Join-Path $PSScriptRoot 'PSConfluencePublisher.psd1')
|
||||
Import-Module (Join-Path $PSScriptRoot '..' 'src' `
|
||||
'PSConfluencePublisher.psd1')
|
||||
|
||||
$mockHost = 'confluence.contoso.com'
|
||||
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
$ErrorActionPreference = "Stop"
|
||||
|
||||
BeforeAll {
|
||||
Import-Module (Join-Path $PSScriptRoot 'PSConfluencePublisher.psd1')
|
||||
Import-Module (Join-Path $PSScriptRoot '..' 'src' `
|
||||
'PSConfluencePublisher.psd1')
|
||||
|
||||
}
|
||||
|
||||
Describe 'Get-StringHash' `
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETStandard,Version=v2.0/",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.0": {},
|
||||
".NETStandard,Version=v2.0/": {
|
||||
"PSConfluencePublisher/1.0.0": {
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "2.0.3"
|
||||
},
|
||||
"runtime": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue