76 lines
2.0 KiB
JSON
76 lines
2.0 KiB
JSON
{
|
|
// Paths and plugin name are configured in settings.json
|
|
"version": "2.0.0",
|
|
"tasks": [
|
|
{
|
|
// A chain task - build the plugin, then copy it to your
|
|
// jellyfin server's plugin directory
|
|
"label": "build-and-copy",
|
|
"dependsOrder": "sequence",
|
|
"dependsOn": [
|
|
"build",
|
|
"make-plugin-dir",
|
|
"copy-dll"
|
|
]
|
|
},
|
|
{
|
|
// Build the plugin
|
|
"label": "build",
|
|
"command": "dotnet",
|
|
"type": "shell",
|
|
"args": [
|
|
"publish",
|
|
"${workspaceFolder}/${config:pluginName}.sln",
|
|
"/property:GenerateFullPaths=true",
|
|
"/consoleloggerparameters:NoSummary"
|
|
],
|
|
"group": "build",
|
|
"presentation": {
|
|
"reveal": "silent"
|
|
},
|
|
"problemMatcher": "$msCompile"
|
|
},
|
|
{
|
|
// Ensure the plugin directory exists before trying to use it
|
|
"label": "make-plugin-dir",
|
|
"type": "shell",
|
|
"command": "mkdir",
|
|
"windows": {
|
|
"args": [
|
|
"-Force",
|
|
"-Path",
|
|
"${config:jellyfinWindowsDataDir}/plugins/${config:pluginName}/"
|
|
]
|
|
},
|
|
"linux": {
|
|
"args": [
|
|
"-p",
|
|
"${config:jellyfinLinuxDataDir}/plugins/${config:pluginName}/"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Copy the plugin dll to the jellyfin plugin install path
|
|
// This command copies every .dll from the build directory to the plugin dir
|
|
// Usually, you probablly only need ${config:pluginName}.dll
|
|
// But some plugins may bundle extra requirements
|
|
"label": "copy-dll",
|
|
"type": "shell",
|
|
"command": "cp",
|
|
"windows": {
|
|
"args": [
|
|
"./${config:pluginName}/bin/Debug/net8.0/publish/*",
|
|
"${config:jellyfinWindowsDataDir}/plugins/${config:pluginName}/"
|
|
]
|
|
},
|
|
"linux": {
|
|
"args": [
|
|
"-r",
|
|
"./${config:pluginName}/bin/Debug/net8.0/publish/*",
|
|
"${config:jellyfinLinuxDataDir}/plugins/${config:pluginName}/"
|
|
]
|
|
}
|
|
},
|
|
]
|
|
}
|