version: '3' vars: PROXY: package://pkg.pkl-lang.org/pkl-pantry NAME: org.json_schema.contrib VERSION: 1.1.3 PKG: "{{.PROXY}}/{{.NAME}}@{{.VERSION}}#" ROOT_DIR: sh: git rev-parse --show-toplevel tasks: jsonpkl-*: dir: '{{.ROOT_DIR}}' vars: FILE: '{{index .MATCH 0}}' cmds: - task: schemagen-{{.FILE}} - task: gojson-{{.FILE}} pkljson-*: dir: '{{.ROOT_DIR}}' vars: INPUT: '{{index .MATCH 0}}' cmds: - pkl eval {{.PKG}}/generate.pkl -m . -p source=types/schemas/{{.INPUT}} - mv *.pkl pkl/ gojson-*: dir: '{{.ROOT_DIR}}' vars: INPUT: '{{index .MATCH 0}}' GOOUT: sh: echo {{.INPUT}} | sed 's/\.json//' FLAGS: --schema-output=http://json-schema.org/draft-04/schema#=internal/models/{{.GOOUT}}.go --schema-package=http://json-schema.org/draft-04/schema#=github.com/prnk28/gh-pm cmds: - go-jsonschema {{.FLAGS}} -p models types/schemas/{{.INPUT}} > internal/models/{{.GOOUT}}.go schemagen-*: dir: '{{.ROOT_DIR}}' vars: INPUT: '{{index .MATCH 0}}' OUTPUT: sh: basename {{.INPUT}} cmds: - mkdir -p types/schemas - json-schema-generator -f types/base/{{.INPUT}} -o types/schemas/{{.OUTPUT}} fetch-data: dir: '{{.ROOT_DIR}}' cmds: - mkdir -p types/base - gh project item-list 4 --owner coindotfi --format json --jq .items > types/base/cards.json - gh issue ls --repo=coindotfi/coind --json author,assignees,body,id,labels,milestone,number,projectCards,projectItems,state,stateReason,title,url > types/base/issues.json - gh project ls --owner=coindotfi --format json --jq .projects > types/base/projects.json - gh api user > types/base/user.json - gh pr ls --json "id" --json "title" --json "headRefName" --json "createdAt" --json "author" --json "number" > types/base/prs.json - gh release list --repo onsonr/sonr --json "name" --json "tagName" --json "publishedAt" --json "isDraft" --json "isLatest" > types/base/releases.json - gh milestone ls --repo onsonr/sonr --state all --json title,number,url,id,progressPercentage,state | sed 's/\[onsonr\/sonr onsonr sonr\]//' | tee types/base/milestones.json