From ec320636fe5747027a238d0462a746b9034b3d23 Mon Sep 17 00:00:00 2001 From: speakeasy-bot Date: Fri, 5 Jan 2024 19:36:36 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9D=20Write=20repo=20Makefile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 0629bad..08a649c 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,26 @@ -.PHONY: specs -specs: - git clone https://github.com/LukeHagar/plex-api-spec.git api-specs +.PHONY: * -.PHONY: clean-specs -clean-specs: - rm -rf ./api-specs +all: speakeasy -build: - java -jar openapi-generator-cli.jar generate -i api-specs/pms/pms-spec.yaml -g go -o pms --global-property skipFormModel=false --config sdk-resources/pms-config.yaml -p enumClassPrefix=true --git-repo-id plexgo --git-user-id lukehagar - node sdk-resources/postscript.js ./pms - java -jar openapi-generator-cli.jar generate -i api-specs/plextv/plextv-spec.yaml -g go -o plextv --global-property skipFormModel=false --config sdk-resources/plextv-config.yaml -p enumClassPrefix=true --git-repo-id plexgo --git-user-id lukehagar - node sdk-resources/postscript.js ./plextv - \ No newline at end of file + +speakeasy: check-speakeasy + speakeasy generate sdk --lang go -o . -s ./openapi.yaml + +speakeasy-validate: check-speakeasy + speakeasy validate openapi -s ./openapi.yaml + +openapi: + curl https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml > ./openapi.yaml + +# This will replace the generation source in your workflow file with your local schema path +generate-from-local: + @if ! which sed >/dev/null; then \ + echo "sed is not installed. Please install it using the following command:"; \ + echo "For Ubuntu/Debian: apt-get install sed"; \ + echo "For macOS: sed is pre-installed"; \ + exit 1; \ + fi + @sed -i '' '/openapi_docs: |/{n;s|-.*|- ./openapi.yaml|;}' ./.github/workflows/speakeasy_sdk_generation.yml + +check-speakeasy: + @command -v speakeasy >/dev/null 2>&1 || { echo >&2 "speakeasy CLI is not installed. Please install before continuing."; exit 1; }