mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
* WIP * Gen * WIP * chi swagger * WIP * WIP * WIP * GetWorkspaces * GetWorkspaces * Markdown * Use widdershins * WIP * WIP * WIP * Markdown template * Fix: makefile * fmt * Fix: comment * Enable swagger conditionally * fix: site * Default false * Flag tests * fix * fix * template fixes * Fix * Fix * Fix * WIP * Formatted * Cleanup * Templates * BEGIN END SECTION * subshell exit code * Fix * Fix merge * WIP * Fix * Fix fmt * Fix * Generic api.md page * Fix merge * Link pages * Fix * Fix * Fix: links * Add icon * Write manifest file * Fix fmt * Fix: enterprise * Fix: Swagger.Enable * Fix: rename apidocs to apidoc * Fix: find -not -prune * Fix: json not available * Fix: rename Coderd API to Coder API * Fix: npm exec * Fix: api dir * Fix: by ID * Fix: string uuid * Fix: include deleted * Fix: indirect go.mod * Fix: source lib.sh * Fix: shellcheck * Fix: pushd popd * Fix: fmt * Fix: improve workspaces * Fix: swagger-enable * Fix * Fix: mention only HTTP 200 * Fix: IDs * Fix: https * Fix: icon * More APis * Fix: format swagger.json * Fix: SwaggerEndpoint * Fix: SCRIPT_DIR * Fix: PROJECT_ROOT * Fix: use code tags in schemas.md * Fix: examples * Fix: examples * Fix: improve format * Fix: date-time,enums * Fix: include_deleted * Fix: array of * Fix: parameter, response * Fix: string time or null * Workspaces: more docs * Workspaces: more docs * Fix: renderDisplayName * Fix: ActiveUserCount * Fix * Fix: typo * Templates: docs * Notice: incomplete
45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# This script generates swagger description file and required Go docs files
|
|
# from the coderd API.
|
|
|
|
set -euo pipefail
|
|
# shellcheck source=scripts/lib.sh
|
|
source "$(dirname "$(dirname "${BASH_SOURCE[0]}")")/lib.sh"
|
|
|
|
APIDOCGEN_DIR=$(dirname "${BASH_SOURCE[0]}")
|
|
API_MD_TMP_FILE=$(mktemp /tmp/coder-apidocgen.XXXXXX)
|
|
|
|
cleanup() {
|
|
rm -f "${API_MD_TMP_FILE}"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
log "Use temporary file: ${API_MD_TMP_FILE}"
|
|
|
|
pushd "${PROJECT_ROOT}"
|
|
go run github.com/swaggo/swag/cmd/swag@v1.8.6 init \
|
|
--generalInfo="coderd.go" \
|
|
--dir="./coderd,./codersdk" \
|
|
--output="./coderd/apidoc" \
|
|
--outputTypes="go,json" \
|
|
--parseDependency=true
|
|
popd
|
|
|
|
pushd "${APIDOCGEN_DIR}"
|
|
npm ci
|
|
|
|
# Make sure that widdershins is installed correctly.
|
|
npm exec -- widdershins --version
|
|
# Render the Markdown file.
|
|
npm exec -- widdershins \
|
|
--user_templates "./markdown-template" \
|
|
--search false \
|
|
--omitHeader true \
|
|
--language_tabs "shell:curl" \
|
|
--summary "../../coderd/apidoc/swagger.json" \
|
|
--outfile "${API_MD_TMP_FILE}"
|
|
# Perform the postprocessing
|
|
go run postprocess/main.go -in-md-file-single "${API_MD_TMP_FILE}"
|
|
popd
|