diff --git a/.ci/build.yml b/.ci/build.yml index 14865b1e..404b428e 100644 --- a/.ci/build.yml +++ b/.ci/build.yml @@ -10,37 +10,15 @@ steps: - checkout: self clean: true - - script: python3 -m pip install --user pyyaml - displayName: 'Install PyYaml' + - script: python3 -m pip install --user -r jellyfin-kodi/requirements-dev.txt + displayName: 'Install dev dependencies' - - 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' + - script: python3 jellyfin-kodi/build.py --${{ py_version }} --source=jellyfin-kodi --output=$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin-${{ py_version }}.zip + displayName: 'Build ${{ py_version }} addon zip' - task: PublishPipelineArtifact@1 displayName: 'Publish ${{ py_version }} artifact' inputs: - targetPath: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin' + targetPath: '$(Build.ArtifactStagingDirectory)/plugin.video.jellyfin-${{ py_version }}.zip' artifactName: 'plugin.video.jellyfin-${{ py_version }}-$(Build.BuildNumber)' diff --git a/build.py b/build.py index 860759fc..4b9a695b 100755 --- a/build.py +++ b/build.py @@ -46,14 +46,16 @@ def create_addon_xml(config, py3=True, template='template.xml', output='addon.xm with open(template) as fh: soup = BeautifulSoup(fh, features='xml') + pyversion = 'py3' if py3 else 'py2' + addon = soup.select_one('addon') addon['id'] = config.get('id') addon['name'] = config.get('name') - addon['version'] = config.get('version') + addon['version'] = "{}+{}".format(config.get('version'), pyversion) 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 for dep in dependencies: