2025-04-28 15:38:48 +00:00

87 lines
2.3 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)
- name: debug
image: alpine:latest
workingDir: /workspace/base/$(params.context)
script: |
#!/bin/sh
if [ -f "/workspace/base/$(params.context)/$(params.output)/Cargo.toml" ]; then
cat /workspace/base/$(params.context)/$(params.output)/Cargo.toml
fi