From a61f6e3308dfc9f84fe2bdfab0194b75c041d2aa Mon Sep 17 00:00:00 2001 From: David Date: Thu, 13 Aug 2020 15:22:12 +0200 Subject: [PATCH 1/5] Fix nuget ci --- .ci/azure-pipelines-package.yml | 6 ++--- Emby.Naming/Emby.Naming.csproj | 1 + Jellyfin.Data/Jellyfin.Data.csproj | 8 +++++++ .../MediaBrowser.Common.csproj | 1 + .../MediaBrowser.Controller.csproj | 1 + MediaBrowser.Model/MediaBrowser.Model.csproj | 1 + bump_version | 23 +++++++++++++++++++ 7 files changed, 38 insertions(+), 3 deletions(-) diff --git a/.ci/azure-pipelines-package.yml b/.ci/azure-pipelines-package.yml index 003d5baf04..c80ec7b0e0 100644 --- a/.ci/azure-pipelines-package.yml +++ b/.ci/azure-pipelines-package.yml @@ -153,11 +153,11 @@ jobs: vmImage: 'ubuntu-latest' steps: - - task: NuGetCommand@2 + - task: DotNetCoreCLI@2 inputs: command: 'pack' - packagesToPack: Jellyfin.Data/Jellyfin.Data.csproj;MediaBrowser.Common/MediaBrowser.Common.csproj;MediaBrowser.Controller/MediaBrowser.Controller.csproj;MediaBrowser.Model/MediaBrowser.Model.csproj;Emby.Naming/Emby.Naming.csproj - packDestination: '$(Build.ArtifactStagingDirectory)' + packagesToPack: 'Jellyfin.Data/Jellyfin.Data.csproj;MediaBrowser.Common/MediaBrowser.Common.csproj;MediaBrowser.Controller/MediaBrowser.Controller.csproj;MediaBrowser.Model/MediaBrowser.Model.csproj;Emby.Naming/Emby.Naming.csproj' + versioningScheme: 'off' - task: NuGetCommand@2 inputs: diff --git a/Emby.Naming/Emby.Naming.csproj b/Emby.Naming/Emby.Naming.csproj index c017e76c74..410492e671 100644 --- a/Emby.Naming/Emby.Naming.csproj +++ b/Emby.Naming/Emby.Naming.csproj @@ -23,6 +23,7 @@ Jellyfin Contributors Jellyfin.Naming + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/Jellyfin.Data/Jellyfin.Data.csproj b/Jellyfin.Data/Jellyfin.Data.csproj index 8ce0f3848c..9791983539 100644 --- a/Jellyfin.Data/Jellyfin.Data.csproj +++ b/Jellyfin.Data/Jellyfin.Data.csproj @@ -6,6 +6,14 @@ true + + Jellyfin Contributors + Jellyfin.Data + 10.7.0 + https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt + https://github.com/jellyfin/jellyfin + + ../jellyfin.ruleset diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj index 7380f39fda..e7f9a56430 100644 --- a/MediaBrowser.Common/MediaBrowser.Common.csproj +++ b/MediaBrowser.Common/MediaBrowser.Common.csproj @@ -8,6 +8,7 @@ Jellyfin Contributors Jellyfin.Common + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 67f17f7a52..9686b4a726 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -8,6 +8,7 @@ Jellyfin Contributors Jellyfin.Controller + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 902e29b20b..229a75a462 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -8,6 +8,7 @@ Jellyfin Contributors Jellyfin.Model + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/bump_version b/bump_version index 1c943f691d..1db1f44996 100755 --- a/bump_version +++ b/bump_version @@ -20,6 +20,12 @@ fi shared_version_file="./SharedVersion.cs" build_file="./build.yaml" +# csproj files for nuget packages +mediabrowser_common="MediaBrowser.Common/MediaBrowser.Common.csproj" +jellyfin_data="Jellyfin.Data/Jellyfin.Data.csproj" +mediabrowser_controller="MediaBrowser.Controller/MediaBrowser.Controller.csproj" +mediabrowser_model="MediaBrowser.Model/MediaBrowser.Model.csproj" +emby_naming="Emby.Naming/Emby.Naming.csproj" new_version="$1" @@ -45,6 +51,23 @@ echo $old_version old_version_sed="$( sed 's/\./\\./g' <<<"${old_version}" )" # Escape the '.' chars sed -i "s/${old_version_sed}/${new_version}/g" ${build_file} +# update nuget package version +for f in ${mediabrowser_common} ${jellyfin_data} ${mediabrowser_controller} ${mediabrowser_model} ${emby_naming} +do + code ${f} + echo ${f} + # Parse the version from the *.csproj file + old_version="$( + grep "PackageVersion" ${f} \ + | awk '{$1=$1};1' \ + | sed -E 's/([0-9\.]+[-a-z0-9]*)<\/PackageVersion>/\1/' + )" + echo old nuget version: $old_version + + # Set the nuget version to the specified new_version + sed -i "s|${old_version}|${new_version}|g" ${f} +done + if [[ ${new_version} == *"-"* ]]; then new_version_deb="$( sed 's/-/~/g' <<<"${new_version}" )" else From f92efc7f9bf1ba74f6983102f73efb0418cb7b72 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 13 Aug 2020 15:35:56 +0200 Subject: [PATCH 2/5] Add Publish Artifacts task --- .ci/azure-pipelines-package.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.ci/azure-pipelines-package.yml b/.ci/azure-pipelines-package.yml index c80ec7b0e0..4b2d68025e 100644 --- a/.ci/azure-pipelines-package.yml +++ b/.ci/azure-pipelines-package.yml @@ -159,6 +159,11 @@ jobs: packagesToPack: 'Jellyfin.Data/Jellyfin.Data.csproj;MediaBrowser.Common/MediaBrowser.Common.csproj;MediaBrowser.Controller/MediaBrowser.Controller.csproj;MediaBrowser.Model/MediaBrowser.Model.csproj;Emby.Naming/Emby.Naming.csproj' versioningScheme: 'off' + - task: PublishBuildArtifacts@1 + inputs: + pathToPublish: $(Build.ArtifactStagingDirectory) + artifactName: Jellyfin Nuget Packages + - task: NuGetCommand@2 inputs: command: 'push' From b92fbe4d69975d077737042d13d4fd935bc3e3c7 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 13 Aug 2020 19:03:24 +0200 Subject: [PATCH 3/5] Use VersionPrefix --- Emby.Naming/Emby.Naming.csproj | 2 +- Jellyfin.Data/Jellyfin.Data.csproj | 2 +- MediaBrowser.Common/MediaBrowser.Common.csproj | 2 +- MediaBrowser.Controller/MediaBrowser.Controller.csproj | 2 +- MediaBrowser.Model/MediaBrowser.Model.csproj | 2 +- bump_version | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Emby.Naming/Emby.Naming.csproj b/Emby.Naming/Emby.Naming.csproj index 410492e671..14aac1a4ab 100644 --- a/Emby.Naming/Emby.Naming.csproj +++ b/Emby.Naming/Emby.Naming.csproj @@ -23,7 +23,7 @@ Jellyfin Contributors Jellyfin.Naming - 10.7.0 + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/Jellyfin.Data/Jellyfin.Data.csproj b/Jellyfin.Data/Jellyfin.Data.csproj index 9791983539..cef75f8909 100644 --- a/Jellyfin.Data/Jellyfin.Data.csproj +++ b/Jellyfin.Data/Jellyfin.Data.csproj @@ -9,7 +9,7 @@ Jellyfin Contributors Jellyfin.Data - 10.7.0 + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj index e7f9a56430..04100eba45 100644 --- a/MediaBrowser.Common/MediaBrowser.Common.csproj +++ b/MediaBrowser.Common/MediaBrowser.Common.csproj @@ -8,7 +8,7 @@ Jellyfin Contributors Jellyfin.Common - 10.7.0 + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 9686b4a726..6bfe4e403c 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -8,7 +8,7 @@ Jellyfin Contributors Jellyfin.Controller - 10.7.0 + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 229a75a462..2cb89f77f2 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -8,7 +8,7 @@ Jellyfin Contributors Jellyfin.Model - 10.7.0 + 10.7.0 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt https://github.com/jellyfin/jellyfin diff --git a/bump_version b/bump_version index 1db1f44996..226e37eec9 100755 --- a/bump_version +++ b/bump_version @@ -58,9 +58,9 @@ do echo ${f} # Parse the version from the *.csproj file old_version="$( - grep "PackageVersion" ${f} \ + grep "VersionPrefix" ${f} \ | awk '{$1=$1};1' \ - | sed -E 's/([0-9\.]+[-a-z0-9]*)<\/PackageVersion>/\1/' + | sed -E 's/([0-9\.]+[-a-z0-9]*)<\/VersionPrefix>/\1/' )" echo old nuget version: $old_version From 2b32ebb3ccc1ca38dd5570862b3a1a01d0d868eb Mon Sep 17 00:00:00 2001 From: David Date: Thu, 13 Aug 2020 19:03:47 +0200 Subject: [PATCH 4/5] Build Unstable Nuget packages --- .ci/azure-pipelines-package.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.ci/azure-pipelines-package.yml b/.ci/azure-pipelines-package.yml index 4b2d68025e..4631badaed 100644 --- a/.ci/azure-pipelines-package.yml +++ b/.ci/azure-pipelines-package.yml @@ -147,24 +147,42 @@ jobs: displayName: 'Publish NuGet packages' dependsOn: - BuildPackage - condition: and(succeeded('BuildPackage'), startsWith(variables['Build.SourceBranch'], 'refs/tags')) + condition: succeeded('BuildPackage') pool: vmImage: 'ubuntu-latest' steps: - task: DotNetCoreCLI@2 + displayName: 'Build Stable Nuget packages' + condition: startsWith(variables['Build.SourceBranch'], 'refs/tags') inputs: command: 'pack' packagesToPack: 'Jellyfin.Data/Jellyfin.Data.csproj;MediaBrowser.Common/MediaBrowser.Common.csproj;MediaBrowser.Controller/MediaBrowser.Controller.csproj;MediaBrowser.Model/MediaBrowser.Model.csproj;Emby.Naming/Emby.Naming.csproj' versioningScheme: 'off' + - task: DotNetCoreCLI@2 + displayName: 'Build Unstable Nuget packages' + inputs: + command: 'custom' + projects: | + Jellyfin.Data/Jellyfin.Data.csproj + MediaBrowser.Common/MediaBrowser.Common.csproj + MediaBrowser.Controller/MediaBrowser.Controller.csproj + MediaBrowser.Model/MediaBrowser.Model.csproj + Emby.Naming/Emby.Naming.csproj + custom: 'pack' + arguments: '--version-suffix $(Build.BuildNumber) -o $(Build.ArtifactStagingDirectory)' + - task: PublishBuildArtifacts@1 + displayName: 'Publish Nuget packages' inputs: pathToPublish: $(Build.ArtifactStagingDirectory) artifactName: Jellyfin Nuget Packages - task: NuGetCommand@2 + displayName: 'Push Nuget packages to feed' + condition: startsWith(variables['Build.SourceBranch'], 'refs/tags') inputs: command: 'push' packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg' From bcdae0c5a737a9be96ce0742cd1a917945d0ae9d Mon Sep 17 00:00:00 2001 From: David Date: Tue, 25 Aug 2020 10:08:05 +0200 Subject: [PATCH 5/5] Use array, remove VS code line --- bump_version | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/bump_version b/bump_version index 226e37eec9..d2de5a0bdc 100755 --- a/bump_version +++ b/bump_version @@ -21,11 +21,7 @@ fi shared_version_file="./SharedVersion.cs" build_file="./build.yaml" # csproj files for nuget packages -mediabrowser_common="MediaBrowser.Common/MediaBrowser.Common.csproj" -jellyfin_data="Jellyfin.Data/Jellyfin.Data.csproj" -mediabrowser_controller="MediaBrowser.Controller/MediaBrowser.Controller.csproj" -mediabrowser_model="MediaBrowser.Model/MediaBrowser.Model.csproj" -emby_naming="Emby.Naming/Emby.Naming.csproj" +jellyfin_subprojects=( MediaBrowser.Common/MediaBrowser.Common.csproj Jellyfin.Data/Jellyfin.Data.csproj MediaBrowser.Controller/MediaBrowser.Controller.csproj MediaBrowser.Model/MediaBrowser.Model.csproj Emby.Naming/Emby.Naming.csproj ) new_version="$1" @@ -52,20 +48,19 @@ old_version_sed="$( sed 's/\./\\./g' <<<"${old_version}" )" # Escape the '.' cha sed -i "s/${old_version_sed}/${new_version}/g" ${build_file} # update nuget package version -for f in ${mediabrowser_common} ${jellyfin_data} ${mediabrowser_controller} ${mediabrowser_model} ${emby_naming} +for subproject in ${jellyfin_subprojects[@]}; do do - code ${f} - echo ${f} + echo ${subproject} # Parse the version from the *.csproj file old_version="$( - grep "VersionPrefix" ${f} \ + grep "VersionPrefix" ${subproject} \ | awk '{$1=$1};1' \ | sed -E 's/([0-9\.]+[-a-z0-9]*)<\/VersionPrefix>/\1/' )" echo old nuget version: $old_version # Set the nuget version to the specified new_version - sed -i "s|${old_version}|${new_version}|g" ${f} + sed -i "s|${old_version}|${new_version}|g" ${subproject} done if [[ ${new_version} == *"-"* ]]; then