parameters :
- name : LinuxImage
type : string
default : "ubuntu-latest"
- name : GeneratorVersion
type : string
default : "5.0.1"
jobs :
- job : GenerateApiClients
displayName : 'Generate Api Clients'
condition : startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
dependsOn : Test
pool :
vmImage : "${{ parameters.LinuxImage }}"
steps :
- task : DownloadPipelineArtifact@2
displayName : 'Download OpenAPI Spec Artifact'
inputs :
source : 'current'
artifact : "OpenAPI Spec"
path : "$(System.ArtifactsDirectory)/openapispec"
runVersion : "latest"
- task : CmdLine@2
displayName : 'Download OpenApi Generator'
inputs :
script : "wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/${{ parameters.GeneratorVersion }}/openapi-generator-cli-${{ parameters.GeneratorVersion }}.jar -O openapi-generator-cli.jar"
## Authenticate with npm registry
- task : npmAuthenticate@0
inputs :
workingFile : ./.npmrc
customEndpoint : 'jellyfin-bot for NPM'
## Generate npm api client
- task : CmdLine@2
displayName : 'Build stable typescript axios client'
inputs :
script : "bash ./apiclient/templates/typescript/axios/generate.sh $(System.ArtifactsDirectory)"
## Run npm install
- task : Npm@1
displayName : 'Install npm dependencies'
inputs :
command : install
workingDir : ./apiclient/generated/typescript/axios
## Publish npm packages
- task : Npm@1
displayName : 'Publish stable typescript axios client'
inputs :
command : custom
customCommand : publish --access public
publishRegistry : useExternalRegistry
publishEndpoint : 'jellyfin-bot for NPM'
workingDir : ./apiclient/generated/typescript/axios