78 lines
2.0 KiB
YAML
78 lines
2.0 KiB
YAML
apiVersion: tekton.dev/v1
|
|
kind: Task
|
|
metadata:
|
|
name: openapi-generate
|
|
spec:
|
|
params:
|
|
- name: context
|
|
type: string
|
|
description: context directory
|
|
default: ""
|
|
- name: source
|
|
type: string
|
|
default: "source"
|
|
description: |
|
|
source directory (sub directory of context)
|
|
- name: output
|
|
type: string
|
|
default: "output"
|
|
description: |
|
|
output directory (sub directory of context)
|
|
|
|
- name: specPath
|
|
type: string
|
|
default: ""
|
|
- name: packageName
|
|
description: Rust crate name
|
|
type: string
|
|
default: ""
|
|
- name: version
|
|
description: Rust crate version
|
|
type: string
|
|
default: "0.0.0"
|
|
- name: generator
|
|
description: specify the generator
|
|
type: string
|
|
default: ""
|
|
|
|
- name: generatorOptions
|
|
type: array
|
|
description: |
|
|
openapi-generator-cli options
|
|
ex) ['--additional-properties=key=value', '--enable-post-process-file']
|
|
default: []
|
|
|
|
workspaces:
|
|
- name: base
|
|
description: Git-cloned source code
|
|
|
|
results:
|
|
- name: output
|
|
|
|
steps:
|
|
- name: generate-code
|
|
image: openapitools/openapi-generator-cli:v7.12.0
|
|
workingDir: /workspace/base/$(params.context)
|
|
env:
|
|
- name: HOME
|
|
value: /workspace/base/$(params.context)/home
|
|
args:
|
|
- generate
|
|
- -i
|
|
- $(params.specPath)
|
|
- -g
|
|
- $(params.generator)
|
|
- -o
|
|
- "$(params.output)"
|
|
- --additional-properties=packageName=$(params.packageName)
|
|
- --additional-properties=packageVersion=$(params.version)
|
|
- --additional-properties=publish=true
|
|
- --additional-properties=disableValidator=false
|
|
- $(params.generatorOptions[*]) # 배열 확장
|
|
|
|
- name: write-output-result
|
|
image: alpine:latest
|
|
script: |
|
|
#!/bin/sh
|
|
OUTPUT="/workspace/base/$(params.context)/$(params.output)"
|
|
echo -n "${OUTPUT}" > $(results.output.path) |