updated build to not require main FF repo

This commit is contained in:
reven
2022-01-10 10:36:47 +13:00
parent bef561830e
commit f96566a6e9
41 changed files with 50786 additions and 60 deletions

1
.gitignore vendored
View File

@@ -8,3 +8,4 @@ TestStore/
.vs/FileFlowsPlugins/DesignTimeBuild/.dtbcache.v2
.vs/FileFlowsPlugins/project-colors.json
/Plugin.pdb
deploy/

Binary file not shown.

View File

@@ -28,12 +28,8 @@ namespace FileFlows.BasicNodes.Functions
public string Code { get; set; }
delegate void LogDelegate(params object[] values);
private NodeParameters NodeParameters;
public override int Execute(NodeParameters args)
{
NodeParameters = args;
if (string.IsNullOrEmpty(Code))
return -1; // no code, flow cannot continue doesnt know what to do
@@ -67,8 +63,7 @@ namespace FileFlows.BasicNodes.Functions
})
.SetValue("Logger", args.Logger)
.SetValue("Variables", args.Variables)
.SetValue("Flow", args)
.SetValue("Process", Process);
.SetValue("Flow", args);
try
{
@@ -82,13 +77,6 @@ namespace FileFlows.BasicNodes.Functions
}
}
public ProcessResult Process(ExecuteArgs args)
{
var result = NodeParameters.Process.ExecuteShellCommand(args).Result;
return result;
}
//private Dictionary<string, object> ExplodeVariables(Dictionary<string, object> input)
//{
// Dictionary<string, object> result = new();

Binary file not shown.

View File

@@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"FileFlows.Plugin/0.0.1.0": {
"runtime": {
"FileFlows.Plugin.dll": {}
}
}
}
},
"libraries": {
"FileFlows.Plugin/0.0.1.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -53,15 +53,15 @@
"ComskipChapters": {
"Description": "Uses a comskip EDL file and will create chapters given that EDL comskip file.",
"Outputs": {
"1": "Commericals chapters created, saved to temporary file",
"2": "No commericals detected"
"1": "Commercials chapters created, saved to temporary file",
"2": "No commercials detected"
}
},
"ComskipRemoveAds": {
"Description": "Uses a comskip EDL file and will remove commericals using that file.",
"Description": "Uses a comskip EDL file and will remove commercials using that file.",
"Outputs": {
"1": "Commericals removed, saved to temporary file",
"2": "No commericals detected"
"1": "Commercials removed, saved to temporary file",
"2": "No commercials detected"
}
},
"VideoFile": {

94
build/buildplugins.ps1 Normal file
View File

@@ -0,0 +1,94 @@
Write-Output "##################################"
Write-Output "### Building Plugins ###"
Write-Output "##################################"
& dotnet utils/spellcheck/spellcheck.dll .
if ($LASTEXITCODE -ne 0 ) {
Write-Error "Spellcheck failed"
exit
}
$output = $args[0]
if ([String]::IsNullOrEmpty($output)) {
$output = '../deploy';
}
$output = $output | Resolve-Path
$year = (Get-Date).year
$copyright = "Copyright $year - John Andrews"
Remove-Item Builds -Recurse -ErrorAction SilentlyContinue
$revision = (git rev-list --count --first-parent HEAD) -join "`n"
$json = "[`n"
Get-ChildItem -Path ..\ -Filter *.csproj -Recurse -File -Name | ForEach-Object {
$csproj = '../' + $_
# update version number of builds
(Get-Content $csproj) `
-replace '(?<=(Version>([\d]+\.){3}))([\d]+)(?=<)', $revision |
Out-File $csproj
$package = [System.IO.Path]::GetFileNameWithoutExtension($_)
Write-Output "Building Plugin $package"
# build an instance for FileFlow local code
dotnet build $csproj /p:WarningLevel=1 --configuration Release /property:GenerateFullPaths=true /consoleloggerparameters:NoSummary --output:$output/$package/
Remove-Item $output/$package/FileFlows.Plugin.dll -ErrorAction SilentlyContinue
Remove-Item $output/$package/FileFlows.Plugin.pdb -ErrorAction SilentlyContinue
Remove-Item $output/$package/*.deps.json -ErrorAction SilentlyContinue
Remove-Item $output/$package/ref -Recurse -ErrorAction SilentlyContinue
& dotnet utils/PluginInfoGenerator/PluginInfoGenerator.dll $output/$package/$package.dll $csproj
Move-Item $output/$package/*.plugininfo $output/$package/.plugininfo -Force
Move-Item $output/$package/*.nfo $output/$package/.nfo -Force
if ( (Test-Path -Path $output/$package/.plugininfo -PathType Leaf) -and (Test-Path -Path $output/$package/.nfo -PathType Leaf)) {
# only actually create the plugin if plugins were found in it
#read nfo file
# build server needs ../, locally we cant have it
if ([System.IO.File]::Exists("$output/$package/.nfo") -eq $false){
Write-Error "Failed to locate nfo file $output/$package/.nfo"
}
$pluginNfo = [System.IO.File]::ReadAllText("$output/$package/.nfo");
Write-Output "Plugin NFO: $pluginNfo"
$json += $pluginNfo + ",`n"
[System.IO.File]::Delete("$output/$package/.nfo")
Move-Item $output/$package/*.en.json $output/$package/en.json -Force
# construct .ffplugin file
$compress = @{
Path = "$output/$package/*"
CompressionLevel = "Optimal"
DestinationPath = "$output/$package.zip"
}
Write-Output "Creating zip file $output/$package.zip"
Compress-Archive @compress
Write-Output "Creating plugin file $output/$package.ffplugin"
Move-Item "$output/$package.zip" "$output/$package.ffplugin" -Force
if ([String]::IsNullOrEmpty($output2) -eq $false) {
Write-Output "Moving file to $output2"
Copy-Item "$output/$package.ffplugin" "$output2/" -Force
}
}
else {
Write-Warning "WARNING: Failed to generate plugin info files for: $package"
}
Remove-Item $output/$package -Recurse -ErrorAction SilentlyContinue
}
$json = $json.Substring(0, $json.lastIndexOf(',')) + "`n"
$json += ']';
Set-Content -Path "$output/plugins.json" -Value $json

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,28 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>FileFlows.ServerShared</name>
</assembly>
<members>
<member name="M:FileFlows.ServerShared.Helpers.FileHelper.RemoveIllegalCharacters(System.String)">
<summary>
Removes illegal file/path characters from a string
</summary>
<param name="input">the string to clean</param>
<returns>the original string with all illegal characters removed</returns>
</member>
<member name="T:FileFlows.ServerShared.Helpers.PluginHelper">
<summary>
This class will allow hot reloading of an plugin assembly so they can be update
This class should return nothing from a Plugin assembly and just common C# objects
</summary>
</member>
<member name="M:FileFlows.ServerShared.Helpers.PluginHelper.LoadNode(FileFlows.Shared.Models.FlowPart)">
<summary>
This needs to return an instance so the FlowExecutor can use it...
</summary>
<param name="part">The flow part</param>
<returns>an insstance of the plugin node</returns>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,48 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>FileFlows.Shared</name>
</assembly>
<members>
<member name="P:FileFlows.Shared.Models.ElementField.Placeholder">
<summary>
Gets or sets optional place holder text, this can be a translation key
</summary>
</member>
<member name="P:FileFlows.Shared.Models.Library.Folders">
<summary>
If this library monitors for folders or files
</summary>
</member>
<member name="P:FileFlows.Shared.Models.Library.LastScanned">
<summary>
When the library was last scanned
</summary>
</member>
<member name="P:FileFlows.Shared.Models.Library.LastScannedAgo">
<summary>
The timespan of when this was last scanned
</summary>
</member>
<member name="P:FileFlows.Shared.Models.Library.ScanInterval">
<summary>
Gets or sets the number of seconds to scan files
</summary>
</member>
<member name="P:FileFlows.Shared.Models.Library.FileSizeDetectionInterval">
<summary>
Gets or sets the number of seconds to wait before checking for file size changes when scanning the library
</summary>
</member>
<member name="P:FileFlows.Shared.Models.Library.Priority">
<summary>
Gets or sets the processing priority of this library
</summary>
</member>
<member name="T:FileFlows.Shared.Validators.DefaultValidator">
<summary>
Used instead of null
</summary>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,126 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"PluginInfoGenerator/1.0.0": {
"dependencies": {
"FileFlows.Plugin": "1.0.0",
"FileFlows.ServerShared": "1.0.0",
"FileFlows.Shared": "1.0.0"
},
"runtime": {
"PluginInfoGenerator.dll": {}
}
},
"MessageFormat/5.0.1": {
"dependencies": {
"Microsoft.Extensions.ObjectPool": "5.0.5"
},
"runtime": {
"lib/net5.0/Jeffijoe.MessageFormat.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.1.0"
}
}
},
"Microsoft.Extensions.ObjectPool/5.0.5": {
"runtime": {
"lib/net5.0/Microsoft.Extensions.ObjectPool.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.521.16708"
}
}
},
"NodaTime/3.0.9": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "4.7.1"
},
"runtime": {
"lib/netstandard2.0/NodaTime.dll": {
"assemblyVersion": "3.0.9.0",
"fileVersion": "3.0.9.0"
}
}
},
"System.Runtime.CompilerServices.Unsafe/4.7.1": {},
"FileFlows.Plugin/1.0.0": {
"runtime": {
"FileFlows.Plugin.dll": {}
}
},
"FileFlows.ServerShared/1.0.0": {
"dependencies": {
"FileFlows.Plugin": "1.0.0",
"FileFlows.Shared": "1.0.0",
"NodaTime": "3.0.9"
},
"runtime": {
"FileFlows.ServerShared.dll": {}
}
},
"FileFlows.Shared/1.0.0": {
"dependencies": {
"FileFlows.Plugin": "1.0.0",
"MessageFormat": "5.0.1"
},
"runtime": {
"FileFlows.Shared.dll": {}
}
}
}
},
"libraries": {
"PluginInfoGenerator/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"MessageFormat/5.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HB/uL1wkpcDsRnl2N1V6svFjrVLBdsAnFSegGCIkbCACS2nzI/KN0JNnIJtxu79o31Mpcge7bqFjk1I2INehHw==",
"path": "messageformat/5.0.1",
"hashPath": "messageformat.5.0.1.nupkg.sha512"
},
"Microsoft.Extensions.ObjectPool/5.0.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ZfM20uUR0tf50Av8blG6hgdsveRKDiY3nd/1itwfFfXVw7GmO/DxhU1wZzt/TTk1+S6XTf56dTSgeOP9V/qwBA==",
"path": "microsoft.extensions.objectpool/5.0.5",
"hashPath": "microsoft.extensions.objectpool.5.0.5.nupkg.sha512"
},
"NodaTime/3.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7KzJBkgSzLLyBXNYafDlnzlji3aB/8myvt5RJu5aaTFq6puVCq2WDJY9v9yDMg22+5or5IaKNItQ1jNA8nzQNA==",
"path": "nodatime/3.0.9",
"hashPath": "nodatime.3.0.9.nupkg.sha512"
},
"System.Runtime.CompilerServices.Unsafe/4.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==",
"path": "system.runtime.compilerservices.unsafe/4.7.1",
"hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512"
},
"FileFlows.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"FileFlows.ServerShared/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"FileFlows.Shared/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}

Binary file not shown.

View File

@@ -0,0 +1,205 @@
SET UTF-8
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
ICONV 1
ICONV '
NOSUGGEST !
# ordinal numbers
COMPOUNDMIN 1
# only in compounds: 1th, 2th, 3th
ONLYINCOMPOUND c
# compound rules:
# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
COMPOUNDRULE 2
COMPOUNDRULE n*1t
COMPOUNDRULE n*mp
WORDCHARS 0123456789
PFX A Y 1
PFX A 0 re .
PFX I Y 1
PFX I 0 in .
PFX U Y 1
PFX U 0 un .
PFX C Y 1
PFX C 0 de .
PFX E Y 1
PFX E 0 dis .
PFX F Y 1
PFX F 0 con .
PFX K Y 1
PFX K 0 pro .
SFX V N 2
SFX V e ive e
SFX V 0 ive [^e]
SFX N Y 3
SFX N e ion e
SFX N y ication y
SFX N 0 en [^ey]
SFX X Y 3
SFX X e ions e
SFX X y ications y
SFX X 0 ens [^ey]
SFX H N 2
SFX H y ieth y
SFX H 0 th [^y]
SFX Y Y 1
SFX Y 0 ly .
SFX G Y 2
SFX G e ing e
SFX G 0 ing [^e]
SFX J Y 2
SFX J e ings e
SFX J 0 ings [^e]
SFX D Y 4
SFX D 0 d e
SFX D y ied [^aeiou]y
SFX D 0 ed [^ey]
SFX D 0 ed [aeiou]y
SFX T N 4
SFX T 0 st e
SFX T y iest [^aeiou]y
SFX T 0 est [aeiou]y
SFX T 0 est [^ey]
SFX R Y 4
SFX R 0 r e
SFX R y ier [^aeiou]y
SFX R 0 er [aeiou]y
SFX R 0 er [^ey]
SFX Z Y 4
SFX Z 0 rs e
SFX Z y iers [^aeiou]y
SFX Z 0 ers [aeiou]y
SFX Z 0 ers [^ey]
SFX S Y 4
SFX S y ies [^aeiou]y
SFX S 0 s [aeiou]y
SFX S 0 es [sxzh]
SFX S 0 s [^sxzhy]
SFX P Y 3
SFX P y iness [^aeiou]y
SFX P 0 ness [aeiou]y
SFX P 0 ness [^y]
SFX M Y 1
SFX M 0 's .
SFX B Y 3
SFX B 0 able [^aeiou]
SFX B 0 able ee
SFX B e able [^aeiou]e
SFX L Y 1
SFX L 0 ment .
REP 90
REP a ei
REP ei a
REP a ey
REP ey a
REP ai ie
REP ie ai
REP alot a_lot
REP are air
REP are ear
REP are eir
REP air are
REP air ere
REP ere air
REP ere ear
REP ere eir
REP ear are
REP ear air
REP ear ere
REP eir are
REP eir ere
REP ch te
REP te ch
REP ch ti
REP ti ch
REP ch tu
REP tu ch
REP ch s
REP s ch
REP ch k
REP k ch
REP f ph
REP ph f
REP gh f
REP f gh
REP i igh
REP igh i
REP i uy
REP uy i
REP i ee
REP ee i
REP j di
REP di j
REP j gg
REP gg j
REP j ge
REP ge j
REP s ti
REP ti s
REP s ci
REP ci s
REP k cc
REP cc k
REP k qu
REP qu k
REP kw qu
REP o eau
REP eau o
REP o ew
REP ew o
REP oo ew
REP ew oo
REP ew ui
REP ui ew
REP oo ui
REP ui oo
REP ew u
REP u ew
REP oo u
REP u oo
REP u oe
REP oe u
REP u ieu
REP ieu u
REP ue ew
REP ew ue
REP uff ough
REP oo ieu
REP ieu oo
REP ier ear
REP ear ier
REP ear air
REP air ear
REP w qu
REP qu w
REP z ss
REP ss z
REP shun tion
REP shun sion
REP shun cion
REP size cise

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,207 @@
SET UTF-8
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
ICONV 1
ICONV '
NOSUGGEST !
# ordinal numbers
COMPOUNDMIN 1
# only in compounds: 1th, 2th, 3th
ONLYINCOMPOUND c
# compound rules:
# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
COMPOUNDRULE 2
COMPOUNDRULE n*1t
COMPOUNDRULE n*mp
# Jeroen: removed numbers from WORDCHARS for R
WORDCHARS
PFX A Y 1
PFX A 0 re .
PFX I Y 1
PFX I 0 in .
PFX U Y 1
PFX U 0 un .
PFX C Y 1
PFX C 0 de .
PFX E Y 1
PFX E 0 dis .
PFX F Y 1
PFX F 0 con .
PFX K Y 1
PFX K 0 pro .
SFX V N 2
SFX V e ive e
SFX V 0 ive [^e]
SFX N Y 3
SFX N e ion e
SFX N y ication y
SFX N 0 en [^ey]
SFX X Y 3
SFX X e ions e
SFX X y ications y
SFX X 0 ens [^ey]
SFX H N 2
SFX H y ieth y
SFX H 0 th [^y]
SFX Y Y 1
SFX Y 0 ly .
SFX G Y 2
SFX G e ing e
SFX G 0 ing [^e]
SFX J Y 2
SFX J e ings e
SFX J 0 ings [^e]
SFX D Y 4
SFX D 0 d e
SFX D y ied [^aeiou]y
SFX D 0 ed [^ey]
SFX D 0 ed [aeiou]y
SFX T N 4
SFX T 0 st e
SFX T y iest [^aeiou]y
SFX T 0 est [aeiou]y
SFX T 0 est [^ey]
SFX R Y 4
SFX R 0 r e
SFX R y ier [^aeiou]y
SFX R 0 er [aeiou]y
SFX R 0 er [^ey]
SFX Z Y 4
SFX Z 0 rs e
SFX Z y iers [^aeiou]y
SFX Z 0 ers [aeiou]y
SFX Z 0 ers [^ey]
SFX S Y 4
SFX S y ies [^aeiou]y
SFX S 0 s [aeiou]y
SFX S 0 es [sxzh]
SFX S 0 s [^sxzhy]
SFX P Y 3
SFX P y iness [^aeiou]y
SFX P 0 ness [aeiou]y
SFX P 0 ness [^y]
SFX M Y 1
SFX M 0 's .
SFX B Y 3
SFX B 0 able [^aeiou]
SFX B 0 able ee
SFX B e able [^aeiou]e
SFX L Y 1
SFX L 0 ment .
REP 90
REP a ei
REP ei a
REP a ey
REP ey a
REP ai ie
REP ie ai
REP alot a_lot
REP are air
REP are ear
REP are eir
REP air are
REP air ere
REP ere air
REP ere ear
REP ere eir
REP ear are
REP ear air
REP ear ere
REP eir are
REP eir ere
REP ch te
REP te ch
REP ch ti
REP ti ch
REP ch tu
REP tu ch
REP ch s
REP s ch
REP ch k
REP k ch
REP f ph
REP ph f
REP gh f
REP f gh
REP i igh
REP igh i
REP i uy
REP uy i
REP i ee
REP ee i
REP j di
REP di j
REP j gg
REP gg j
REP j ge
REP ge j
REP s ti
REP ti s
REP s ci
REP ci s
REP k cc
REP cc k
REP k qu
REP qu k
REP kw qu
REP o eau
REP eau o
REP o ew
REP ew o
REP oo ew
REP ew oo
REP ew ui
REP ui ew
REP oo ui
REP ui oo
REP ew u
REP u ew
REP oo u
REP u oo
REP u oe
REP oe u
REP u ieu
REP ieu u
REP ue ew
REP ew ue
REP uff ough
REP oo ieu
REP ieu oo
REP ier ear
REP ear ier
REP ear air
REP air ear
REP w qu
REP qu w
REP z ss
REP ss z
REP shun tion
REP shun sion
REP shun cion
REP size cise

View File

@@ -0,0 +1,49 @@
PVR
handbrakecli.exe
ffprobe.exe
ffprobe
uid
exe
CLI
FileFlows
handbrakecli
handbrake
eg
reencoding
ffmpeg
FFMpegs
normalize
normalized
reencoded
-crf
hevc
codec
codecs
C#
csv
renamer
themoviedb
movielookup
movieinformation
movieinfo
org
wiki
videoinformation
videocrop
customize
nvenc
wikipedia
hq
avi
mkv
movielookup
rescan
EDL
comskip
loudnorm
Normalizes
Remuxes
remuxed
srt
ssa
rescaled

View File

@@ -0,0 +1,52 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"spellcheck/1.0.0": {
"dependencies": {
"WeCantSpell.Hunspell": "3.0.1"
},
"runtime": {
"spellcheck.dll": {}
}
},
"System.Memory/4.5.1": {},
"WeCantSpell.Hunspell/3.0.1": {
"dependencies": {
"System.Memory": "4.5.1"
},
"runtime": {
"lib/netstandard2.0/WeCantSpell.Hunspell.dll": {
"assemblyVersion": "3.0.1.0",
"fileVersion": "3.0.1.0"
}
}
}
}
},
"libraries": {
"spellcheck/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"System.Memory/4.5.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-sDJYJpGtTgx+23Ayu5euxG5mAXWdkDb4+b0rD0Cab0M1oQS9H0HXGPriKcqpXuiJDTV7fTp/d+fMDJmnr6sNvA==",
"path": "system.memory/4.5.1",
"hashPath": "system.memory.4.5.1.nupkg.sha512"
},
"WeCantSpell.Hunspell/3.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-guVwsDstyatfSrF3pcRvBecKAOAHg2/V/kpQlzUEa/09xgsfyMeDzV/W8iFHR5HpzPCOEYsHtRtpWLP+OZAiiw==",
"path": "wecantspell.hunspell/3.0.1",
"hashPath": "wecantspell.hunspell.3.0.1.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}

View File

@@ -1,42 +0,0 @@
Remove-Item Builds -Recurse -ErrorAction SilentlyContinue
$revision = (git rev-list --count --first-parent HEAD) -join "`n"
$json = "[`n"
Get-ChildItem -Path .\ -Filter *.csproj -Recurse -File -Name | ForEach-Object {
# update version number of builds
(Get-Content $_) `
-replace '(?<=(Version>([\d]+\.){3}))([\d]+)(?=<)', $revision |
Out-File $_
$name = [System.IO.Path]::GetFileNameWithoutExtension($_)
$version = [Regex]::Match((Get-Content $_), "(?<=(Version>))([\d]+\.){3}[\d]+(?=<)").Value
$json += "`t{`n"
$json += "`t`t""Name"": ""$name"",`n"
$json += "`t`t""Version"": ""$version"",`n"
$json += "`t`t""Package"": ""https://github.com/revenz/FileFlowsPlugins/blob/master/Builds/" + $name + ".zip?raw=true""`n"
$json += "`t},`n"
# build an instance for FileFlow local code
dotnet build $_ --configuration Release /property:GenerateFullPaths=true /consoleloggerparameters:NoSummary --output:../FileFlows/Server/Plugins/$name/$version
Remove-Item ../FileFlows/Server/Plugins/$name/$version/Plugin.dll -ErrorAction SilentlyContinue
Remove-Item ../FileFlows/Server/Plugins/$name/$version/*.deps.json -ErrorAction SilentlyContinue
Remove-Item ../FileFlows/Server/Plugins/$name/$version/ref -Recurse -ErrorAction SilentlyContinue
# build instance to be published to repo
dotnet build $_ --configuration Release /property:GenerateFullPaths=true /consoleloggerparameters:NoSummary --output:Builds/$name
Remove-Item Builds/$name/Plugin.dll -ErrorAction SilentlyContinue
Remove-Item Builds/$name/*.deps.json -ErrorAction SilentlyContinue
Remove-Item Builds/$name/ref -Recurse -ErrorAction SilentlyContinue
# zip build
Compress-Archive -Path Builds/$name/* -DestinationPath Builds/$name.zip
Remove-Item Builds/$name -Recurse -ErrorAction SilentlyContinue
}
$json = $json.Substring(0, $json.lastIndexOf(',')) + "`n"
$json += ']';
Set-Content -Path 'plugins.json' -Value $json

BIN
deploy/VideoNodes.ffplugin Normal file

Binary file not shown.

99
deploy/plugins.json Normal file
View File

@@ -0,0 +1,99 @@
[
{
"Name": "Basic Nodes",
"Version": "0.0.1.80",
"MinimumVersion": "0.2.1.349",
"Authors": "John Andrews",
"Url": "https://fileflows.com/",
"Description": "Basic nodes for FileFlows. This plugin contains basic and common nodes to process files. \r\nThis plugin is required for FileFlows to work.",
"Package": "BasicNodes",
"Elements": [
"InputFile",
"InputFolder",
"CopyFile",
"Delete",
"DeleteSourceDirectory",
"Executor",
"MoveFile",
"Renamer",
"ReplaceOriginal",
"Zip",
"FileExists",
"FileExtension",
"FileSize",
"Function",
"GotoFlow",
"Log",
"PatternMatch",
"PatternReplacer"
]
},
{
"Name": "Checksum Nodes",
"Version": "0.0.1.80",
"MinimumVersion": "",
"Authors": "John Andrews",
"Url": "https://fileflows.com/",
"Description": "Nodes that provide the ability to run a checksum against a file.",
"Package": "ChecksumNodes",
"Elements": [
"MD5",
"SHA1",
"SHA256",
"SHA512"
]
},
{
"Name": "Collection Nodes",
"Version": "0.0.1.80",
"MinimumVersion": "0.2.0.310",
"Authors": "John Andrews",
"Url": "https://fileflows.com/",
"Description": "Nodes that provide the ability to read and write from collections.\r\n\r\nAllows storing of data to database that persists between flow executions.",
"Package": "CollectionNodes",
"Elements": [
"DataCollection"
]
},
{
"Name": "Meta Nodes",
"Version": "0.0.1.80",
"MinimumVersion": "",
"Authors": "John Andrews",
"Url": "https://fileflows.com/",
"Description": "A plugin that contains Meta information nodes used to lookup meta information on files.\r\n\r\nContains nodes to lookup movie information from TheMovieDB, and music information from ID3 tags inside the file.",
"Package": "MetaNodes",
"Elements": [
"MusicMeta",
"MovieLookup"
]
},
{
"Name": "Video Nodes",
"Version": "0.0.1.80",
"MinimumVersion": "",
"Authors": "John Andrews",
"Url": "https://fileflows.com/",
"Description": "Nodes for processing video files. This plugin contains nodes to convert video files to different formats. Node to parse the video information from a file.",
"Package": "VideoNodes",
"Elements": [
"VideoFile",
"AudioAdjustVolume",
"AudioNormalization",
"AudioTrackReorder",
"AudioTrackSetLanguage",
"ComskipChapters",
"ComskipRemoveAds",
"FFMPEG",
"RemuxToMKV",
"RemuxToMP4",
"SubtitleExtractor",
"SubtitleRemover",
"Video_H265_AC3",
"VideoEncode",
"VideoScaler",
"DetectBlackBars",
"VideoCodec"
]
}
]

Binary file not shown.