Closed Legogris closed 3 years ago
Building the plugin with the version as this works fine for me on both Linux and Windows.
Building the plugin with the version as this works fine for me on both Linux and Windows.
Huh, odd. And there's no additional dependencies or setup? I'm using dotnet-sdk from arch repos.
-*
is used explicitly to allow compiling against prerelease NuGet packages, and I've never seen that compile error myself on Ubuntu 18.04.
Possibly a bug in that particular version of the SDK?
I find it happens sometimes when my IDE doesn't properly run dotnet restore
Is there some misisng step that needs to be done to make it work? This is with pure CLI and no configuration changed from the default. What's an SDK version I can try with that works for you?
I use this script when building the plugins, and the CI pipeline doing the automated build and publish uses a derivative of it; https://github.com/oddstr13/jellyfin-plugin-repository-manager/blob/master/build_plugin.sh
This is the build log from when I tested before pushing v8 earlier today, it shows the dotnet commands ran by the scripts;
jellyfin-plugin-playbackreporting$ ../build_plugin.sh
removed './Jellyfin.Plugin.PlaybackReporting/obj/project.assets.json'
warning: `framework` is not specified in build manifest, defaulting to `netstandard2.1`.
warning: The default target framework may change in the future.
Setting project version to 8.2020.1118.247
debug: Old file version: 8.2020.1118.246
debug: Old assembly version: 8.2020.1118.246
Setting project framework to netstandard2.1
debug: Old framework: netstandard2.1
debug: ['run_os_command', ['dotnet', 'clean', '--configuration=Release', '--framework=netstandard2.1'], None, False, '.']
debug: ['run_os_command', ['dotnet', 'restore', '--no-cache'], None, False, '.']
debug: ['run_os_command', ['dotnet', 'publish', '--nologo', '--configuration=Release', '--framework=netstandard2.1', '--output=/tmp/tmp90ft6pac', '/p:Version=8.2020.1118.0247'], None, False, '.']
Determining projects to restore...
Restored /mnt/software/Projects/Jellyfin/Plugins/jellyfin-plugin-playbackreporting/Jellyfin.Plugin.PlaybackReporting/Jellyfin.Plugin.PlaybackReporting.csproj (in 489 ms).
Jellyfin.Plugin.PlaybackReporting -> /mnt/software/Projects/Jellyfin/Plugins/jellyfin-plugin-playbackreporting/Jellyfin.Plugin.PlaybackReporting/bin/Release/netstandard2.1/Jellyfin.Plugin.PlaybackReporting.dll
Jellyfin.Plugin.PlaybackReporting -> /tmp/tmp90ft6pac/
debug: Reading repo manifest from /mnt/software/Projects/Jellyfin/Plugins/test_repo/manifest.json
Processing /mnt/software/Projects/Jellyfin/Plugins/artifacts/playback-reporting_8.2020.1118.0247.zip
Read meta from `/mnt/software/Projects/Jellyfin/Plugins/artifacts/playback-reporting_8.2020.1118.0247.zip.meta.json`
debug: {'category': 'General', 'changelog': 'Add authentication to plugin endpoints\n', 'description': 'Collect and show user play statistics', 'guid': '5c534381-91a3-43cb-907a-35aa02eb9d2c', 'name': 'Playback Reporting', 'overview': 'Collect and show user play statistics', 'owner': 'jellyfin', 'targetAbi': '10.6.0.0', 'timestamp': '2020-11-18T02:47:19Z', 'version': '8.2020.1118.0247'}
debug: {'guid': '5c534381-91a3-43cb-907a-35aa02eb9d2c', 'name': 'Playback Reporting', 'description': 'Collect and show user play statistics', 'overview': 'Collect and show user play statistics', 'owner': 'jellyfin', 'category': 'General', 'versions': [{'version': '8.2020.1118.0247', 'changelog': 'Add authentication to plugin endpoints\n', 'targetAbi': '10.6.0.0', 'sourceUrl': 'http://localhost:8080/playback-reporting/playback-reporting_8.2020.1118.0247.zip', 'checksum': '4a6e40d46f74987360bf170cb1de9d38', 'timestamp': '2020-11-18T02:47:19Z'}]}
Adding Playback Reporting version 8.2020.1118.0247 to /mnt/software/Projects/Jellyfin/Plugins/test_repo/manifest.json
10.*-*
is a requirement for building against the unstable NuGet packages (done extensively just before a new release is cut, to get plugins up to date and ready to go asap after a server release).
10.*
does NOT match pre-release packages.
netstandard2.1
is what the plugins have been built with so far, but will be updated to net5.0
for the 10.7 release.
$ dotnet --info
.NET SDK (reflecting any global.json):
Version: 5.0.100
Commit: 5044b93829
Runtime Environment:
OS Name: linuxmint
OS Version: 19.3
OS Platform: Linux
RID: linux-x64
Base Path: /usr/share/dotnet/sdk/5.0.100/
Host (useful for support):
Version: 5.0.0
Commit: cf258a14b7
.NET SDKs installed:
2.2.402 [/usr/share/dotnet/sdk]
3.0.103 [/usr/share/dotnet/sdk]
3.1.404 [/usr/share/dotnet/sdk]
5.0.100 [/usr/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.All 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.10 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.10 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Without this change, building/restoring on Linux with dotnet-sdk 3.1.107 fails with the following:
This fixes that.