-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathmake.ps1
More file actions
83 lines (68 loc) · 2.44 KB
/
make.ps1
File metadata and controls
83 lines (68 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<#
.SYNOPSIS
Project task runner for cookiecutter-spatial-data-science template development.
.DESCRIPTION
PowerShell equivalent of make.cmd / Makefile for the template project itself.
.EXAMPLE
.\make.ps1 docs
.\make.ps1 env
.NOTES
Copyright 2026 Esri
Licensed under the Apache License, Version 2.0 (the "License"); You
may not use this file except in compliance with the License. You may
obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.
A copy of the license is available in the repository's LICENSE file.
#>
param(
[Parameter(Position = 0)]
[string]$Target = "help"
)
$ErrorActionPreference = "Stop"
#-------------------------------------------------------------------------------
# Variables
#-------------------------------------------------------------------------------
$CondaDir = Join-Path $PSScriptRoot "env"
#-------------------------------------------------------------------------------
# Tasks
#-------------------------------------------------------------------------------
$Tasks = [ordered]@{
docs = @{
Desc = "Build documentation using MkDocs"
Action = {
conda run -p $CondaDir mkdocs build -f ./docsrc/mkdocs.yml
}
}
docserve = @{
Desc = "Start MkDocs live documentation server"
Action = {
conda run -p $CondaDir mkdocs serve -f ./docsrc/mkdocs.yml
}
}
env = @{
Desc = "Create and configure the local conda environment"
Action = {
conda env create -p $CondaDir -f environment.yml
}
}
}
#-------------------------------------------------------------------------------
# Dispatcher
#-------------------------------------------------------------------------------
if ($Target -eq "help") {
Write-Host "`nAvailable targets:`n" -ForegroundColor Cyan
$Tasks.GetEnumerator() | ForEach-Object {
Write-Host (" {0,-20} {1}" -f $_.Key, $_.Value.Desc)
}
Write-Host ""
} elseif ($Tasks.Contains($Target)) {
& $Tasks[$Target].Action
} else {
Write-Warning "Unknown target: $Target"
& $PSCommandPath help
}