59 lines
2.2 KiB
YAML

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