parameters:
  python_versions : []

steps:
  - ${{ each py_version in parameters.py_versions }}:
    - task: usePythonVersion@0
      inputs:
        versionSpec: '3.6'

    - checkout: self
      clean: true

    - script: python3 -m pip install --user pyyaml
      displayName: 'Install PyYaml'

    - script: python3 jellyfin-kodi/.config/generate_xml.py ${{ py_version }}
      displayName: 'Create ${{ py_version }} addon.xml'

    - task: CopyFiles@2
      displayName: 'Create clean addon directory'
      inputs:
        sourceFolder: 'jellyfin-kodi'
        cleanTargetFolder: true
        contents: |
          **/*
          !.ci/*
          !.config/*
          !.git/**/*
          !.github/*
        TargetFolder: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin'

    - task: ArchiveFiles@2
      displayName: 'Create ${{ py_version }} zip file'
      inputs:
        rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin'
        includeRootFolder: True
        archiveType: 'zip'
        tarCompression: 'none'
        archiveFile: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin-${{ py_version }}.zip'

    - task: PublishPipelineArtifact@1
      displayName: 'Publish ${{ py_version }} artifact'
      inputs:
        targetPath: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin'
        artifactName: 'plugin.video.jellyfin-${{ py_version }}-$(Build.BuildNumber)'