apiVersion: tekton.dev/v1 kind: Task metadata: name: openapi-generate spec: params: - name: context type: string description: context directory default: "" - 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.4.0 workingDir: /workspace/base/$(params.context)/source env: - name: HOME value: /workspace/base/$(params.context)/home # command: # - openapi-generator-cli args: - generate - -i - specs/$(params.specDomain)/openapi.yaml - -g - $(params.generator) - -o - "/workspace/base/$(params.context)/output/$(params.packageNamePrefix)$(params.specDomain)-$(params.version)-$(params.generator)" - --additional-properties=packageName=$(params.packageNamePrefix)$(params.context) - --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)/output/$(params.packageNamePrefix)$(params.specDomain)-$(params.version)-$(params.generator)" echo -n "${OUTPUT}" > $(results.output.path)