2025-04-28 08:38:30 +00:00

78 lines
2.1 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: packageNamePrefix
description: Rust crate name prefix
type: string
default: ""
- name: specDomain
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.source)/specs/$(params.specDomain)/openapi.yaml
- -g
- $(params.generator)
- -o
- "/workspace/base/$(params.context)/$(params.output)"
- --additional-properties=packageName=$(params.packageNamePrefix)$(params.specDomain)
- --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)