🗜️ Hook the new build script into azure

This commit is contained in:
Odd Stråbø 2020-10-03 13:37:15 +02:00
commit 3da9de439a
2 changed files with 9 additions and 29 deletions

View file

@ -10,37 +10,15 @@ steps:
- checkout: self - checkout: self
clean: true clean: true
- script: python3 -m pip install --user pyyaml - script: python3 -m pip install --user -r jellyfin-kodi/requirements-dev.txt
displayName: 'Install PyYaml' displayName: 'Install dev dependencies'
- script: python3 jellyfin-kodi/.config/generate_xml.py ${{ py_version }} - script: python3 jellyfin-kodi/build.py --${{ py_version }} --source=jellyfin-kodi --output=$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin-${{ py_version }}.zip
displayName: 'Create ${{ py_version }} addon.xml' displayName: 'Build ${{ py_version }} addon zip'
- 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 - task: PublishPipelineArtifact@1
displayName: 'Publish ${{ py_version }} artifact' displayName: 'Publish ${{ py_version }} artifact'
inputs: inputs:
targetPath: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin' targetPath: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin-${{ py_version }}.zip'
artifactName: 'plugin.video.jellyfin-${{ py_version }}-$(Build.BuildNumber)' artifactName: 'plugin.video.jellyfin-${{ py_version }}-$(Build.BuildNumber)'

View file

@ -46,14 +46,16 @@ def create_addon_xml(config, py3=True, template='template.xml', output='addon.xm
with open(template) as fh: with open(template) as fh:
soup = BeautifulSoup(fh, features='xml') soup = BeautifulSoup(fh, features='xml')
pyversion = 'py3' if py3 else 'py2'
addon = soup.select_one('addon') addon = soup.select_one('addon')
addon['id'] = config.get('id') addon['id'] = config.get('id')
addon['name'] = config.get('name') addon['name'] = config.get('name')
addon['version'] = config.get('version') addon['version'] = "{}+{}".format(config.get('version'), pyversion)
addon['provider-name'] = config.get('provider') addon['provider-name'] = config.get('provider')
dependencies = config.get('dependencies', {}).get('py3' if py3 else 'py2') dependencies = config.get('dependencies', {}).get(pyversion, [])
xml_deps = addon.select_one('requires') # type: Tag xml_deps = addon.select_one('requires') # type: Tag
for dep in dependencies: for dep in dependencies: