Nuget Pack

net8
This commit is contained in:
Mike Phares 2025-02-08 17:03:02 -07:00
parent 0fa899f65d
commit 68dff9c24c
22 changed files with 381 additions and 232 deletions

4
.vscode/launch.json vendored
View File

@ -6,7 +6,7 @@
"type": "coreclr", "type": "coreclr",
"request": "launch", "request": "launch",
"preLaunchTask": "Build-Rename", "preLaunchTask": "Build-Rename",
"program": "${workspaceFolder}/Rename/bin/Debug/net9.0/win-x64/AA.Rename.dll", "program": "${workspaceFolder}/Rename/bin/Debug/net8.0/win-x64/AA.Rename.dll",
"args": [ "args": [
"s" "s"
], ],
@ -23,7 +23,7 @@
"type": "coreclr", "type": "coreclr",
"request": "launch", "request": "launch",
"preLaunchTask": "Build-Compare", "preLaunchTask": "Build-Compare",
"program": "${workspaceFolder}/Compare/bin/Debug/net9.0/win-x64/AA.Compare.dll", "program": "${workspaceFolder}/Compare/bin/Debug/net8.0/win-x64/AA.Compare.dll",
"args": [ "args": [
"s" "s"
], ],

1
.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -40,6 +40,7 @@
"Rects", "Rects",
"resnet", "resnet",
"Serilog", "Serilog",
"snupkg",
"Subfile", "Subfile",
"Subfiles", "Subfiles",
"Syncthing", "Syncthing",

96
.vscode/tasks.json vendored
View File

@ -123,6 +123,102 @@
], ],
"problemMatcher": "$msCompile" "problemMatcher": "$msCompile"
}, },
{
"label": "Pack-Compare",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/Compare/AA.Compare.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "Pack-Distance",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/Distance/AA.Distance.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "Pack-Face",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/Face/AA.Face.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "Pack-Face-Recognition-DotNet",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/FaceRecognitionDotNet/AA.FaceRecognitionDotNet.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "Pack-Metadata",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/Metadata/AA.Metadata.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "Pack-People",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/People/AA.People.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "Pack-Rename",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/Rename/AA.Rename.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "Pack-Shared",
"command": "dotnet",
"type": "process",
"args": [
"pack",
"${workspaceFolder}/Shared/AA.Shared.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{ {
"label": "Format-Compare-Whitespaces", "label": "Format-Compare-Whitespaces",
"command": "dotnet", "command": "dotnet",

1
Compare/.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -1,20 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<UserSecretsId>770b6ae3-266e-4d5f-970a-173709b064de</UserSecretsId> <UserSecretsId>770b6ae3-266e-4d5f-970a-173709b064de</UserSecretsId>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.View.by.Distance.Compare</PackageId> <PackageId>Phares.View.by.Distance.Compare</PackageId>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <Version>8.0.112.0</Version>
<Version>9.0.100.0</Version>
<Authors>Mike Phares</Authors>
<Company>Phares</Company> <Company>Phares</Company>
<Authors>Mike Phares</Authors>
<IncludeSymbols>true</IncludeSymbols> <IncludeSymbols>true</IncludeSymbols>
<PackageReadmeFile>read-me.md</PackageReadmeFile>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows> <IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
@ -34,10 +36,13 @@
<SupportedPlatform Include="browser" /> <SupportedPlatform Include="browser" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="runtime.win-x64.Microsoft.DotNet.ILCompiler" Version="9.0.0" /> <None Include=".vscode\read-me.md" Pack="true" PackagePath="\"/>
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" /> </ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.0" /> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" /> <PackageReference Include="runtime.win-x64.Microsoft.DotNet.ILCompiler" Version="8.0.12" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
<PackageReference Include="ShellProgressBar" Version="5.2.0" /> <PackageReference Include="ShellProgressBar" Version="5.2.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

1
Distance/.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -1,46 +1,51 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<OutputType>library</OutputType> <OutputType>library</OutputType>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.AA.Distance</PackageId> <PackageId>Phares.AA.Distance</PackageId>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <Version>8.0.112.0</Version>
<Version>9.0.100.0</Version> <Company>Phares</Company>
<Authors>Mike Phares</Authors> <Authors>Mike Phares</Authors>
<Company>Phares</Company> <IncludeSymbols>true</IncludeSymbols>
<IncludeSymbols>true</IncludeSymbols> <PackageReadmeFile>read-me.md</PackageReadmeFile>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PropertyGroup> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows> </PropertyGroup>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX> <PropertyGroup>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux> <IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
</PropertyGroup> <IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<PropertyGroup Condition="'$(IsWindows)'=='true'"> <IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
<DefineConstants>Windows</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsWindows)'=='true'">
<PropertyGroup Condition="'$(IsOSX)'=='true'"> <DefineConstants>Windows</DefineConstants>
<DefineConstants>OSX</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsOSX)'=='true'">
<PropertyGroup Condition="'$(IsLinux)'=='true'"> <DefineConstants>OSX</DefineConstants>
<DefineConstants>Linux</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsLinux)'=='true'">
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'"> <DefineConstants>Linux</DefineConstants>
<SupportedPlatform Include="browser" /> </PropertyGroup>
</ItemGroup> <ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<ItemGroup> <SupportedPlatform Include="browser" />
<PackageReference Include="Humanizer.Core" Version="2.14.1" /> </ItemGroup>
<PackageReference Include="MetadataExtractor" Version="2.8.1" /> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" /> <None Include=".vscode\read-me.md" Pack="true" PackagePath="\"/>
<PackageReference Include="WindowsShortcutFactory" Version="1.2.0" /> </ItemGroup>
</ItemGroup> <ItemGroup>
<ItemGroup> <PackageReference Include="Humanizer.Core" Version="2.14.1" />
<ProjectReference Include="..\FaceRecognitionDotNet\AA.FaceRecognitionDotNet.csproj" /> <PackageReference Include="MetadataExtractor" Version="2.8.1" />
<ProjectReference Include="..\Metadata\AA.Metadata.csproj" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
<ProjectReference Include="..\Shared\AA.Shared.csproj" /> <PackageReference Include="WindowsShortcutFactory" Version="1.2.0" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FaceRecognitionDotNet\AA.FaceRecognitionDotNet.csproj" />
<ProjectReference Include="..\Metadata\AA.Metadata.csproj" />
<ProjectReference Include="..\Shared\AA.Shared.csproj" />
</ItemGroup>
</Project> </Project>

1
Face/.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -1,44 +1,49 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<OutputType>library</OutputType> <OutputType>library</OutputType>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.AA.Face</PackageId> <PackageId>Phares.AA.Face</PackageId>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <Version>8.0.112.0</Version>
<Version>9.0.100.0</Version> <Company>Phares</Company>
<Authors>Mike Phares</Authors> <Authors>Mike Phares</Authors>
<Company>Phares</Company> <IncludeSymbols>true</IncludeSymbols>
<IncludeSymbols>true</IncludeSymbols> <PackageReadmeFile>read-me.md</PackageReadmeFile>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PropertyGroup> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows> </PropertyGroup>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX> <PropertyGroup>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux> <IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
</PropertyGroup> <IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<PropertyGroup Condition="'$(IsWindows)'=='true'"> <IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
<DefineConstants>Windows</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsWindows)'=='true'">
<PropertyGroup Condition="'$(IsOSX)'=='true'"> <DefineConstants>Windows</DefineConstants>
<DefineConstants>OSX</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsOSX)'=='true'">
<PropertyGroup Condition="'$(IsLinux)'=='true'"> <DefineConstants>OSX</DefineConstants>
<DefineConstants>Linux</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsLinux)'=='true'">
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'"> <DefineConstants>Linux</DefineConstants>
<SupportedPlatform Include="browser" /> </PropertyGroup>
</ItemGroup> <ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<ItemGroup> <SupportedPlatform Include="browser" />
<PackageReference Include="Humanizer.Core" Version="2.14.1" /> </ItemGroup>
<PackageReference Include="MetadataExtractor" Version="2.8.1" /> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" /> <None Include=".vscode\read-me.md" Pack="true" PackagePath="\"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Metadata\AA.Metadata.csproj" /> <PackageReference Include="Humanizer.Core" Version="2.14.1" />
<ProjectReference Include="..\Shared\AA.Shared.csproj" /> <PackageReference Include="MetadataExtractor" Version="2.8.1" />
</ItemGroup> <PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Metadata\AA.Metadata.csproj" />
<ProjectReference Include="..\Shared\AA.Shared.csproj" />
</ItemGroup>
</Project> </Project>

View File

@ -0,0 +1 @@
# Read Me

View File

@ -4,7 +4,7 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<OutputType>library</OutputType> <OutputType>library</OutputType>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.AA.FaceRecognitionDotNet</PackageId> <PackageId>Phares.AA.FaceRecognitionDotNet</PackageId>

1
Metadata/.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -1,43 +1,48 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<OutputType>library</OutputType> <OutputType>library</OutputType>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.AA.Metadata</PackageId> <PackageId>Phares.AA.Metadata</PackageId>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <Version>8.0.112.0</Version>
<Version>9.0.100.0</Version> <Company>Phares</Company>
<Authors>Mike Phares</Authors> <Authors>Mike Phares</Authors>
<Company>Phares</Company> <IncludeSymbols>true</IncludeSymbols>
<IncludeSymbols>true</IncludeSymbols> <PackageReadmeFile>read-me.md</PackageReadmeFile>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PropertyGroup> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows> </PropertyGroup>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX> <PropertyGroup>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux> <IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
</PropertyGroup> <IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<PropertyGroup Condition="'$(IsWindows)'=='true'"> <IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
<DefineConstants>Windows</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsWindows)'=='true'">
<PropertyGroup Condition="'$(IsOSX)'=='true'"> <DefineConstants>Windows</DefineConstants>
<DefineConstants>OSX</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsOSX)'=='true'">
<PropertyGroup Condition="'$(IsLinux)'=='true'"> <DefineConstants>OSX</DefineConstants>
<DefineConstants>Linux</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsLinux)'=='true'">
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'"> <DefineConstants>Linux</DefineConstants>
<SupportedPlatform Include="browser" /> </PropertyGroup>
</ItemGroup> <ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<ItemGroup> <SupportedPlatform Include="browser" />
<PackageReference Include="MetadataExtractor" Version="2.8.1" /> </ItemGroup>
<PackageReference Include="System.Text.Json" Version="9.0.0" /> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" /> <None Include=".vscode\read-me.md" Pack="true" PackagePath="\"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Shared\AA.Shared.csproj" /> <PackageReference Include="MetadataExtractor" Version="2.8.1" />
</ItemGroup> <PackageReference Include="System.Text.Json" Version="8.0.5" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Shared\AA.Shared.csproj" />
</ItemGroup>
</Project> </Project>

1
People/.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -1,44 +1,49 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<OutputType>library</OutputType> <OutputType>library</OutputType>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.AA.People</PackageId> <PackageId>Phares.AA.People</PackageId>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <Version>8.0.112.0</Version>
<Version>9.0.100.0</Version> <Company>Phares</Company>
<Authors>Mike Phares</Authors> <Authors>Mike Phares</Authors>
<Company>Phares</Company> <IncludeSymbols>true</IncludeSymbols>
<IncludeSymbols>true</IncludeSymbols> <PackageReadmeFile>read-me.md</PackageReadmeFile>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PropertyGroup> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows> </PropertyGroup>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX> <PropertyGroup>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux> <IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
</PropertyGroup> <IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<PropertyGroup Condition="'$(IsWindows)'=='true'"> <IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
<DefineConstants>Windows</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsWindows)'=='true'">
<PropertyGroup Condition="'$(IsOSX)'=='true'"> <DefineConstants>Windows</DefineConstants>
<DefineConstants>OSX</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsOSX)'=='true'">
<PropertyGroup Condition="'$(IsLinux)'=='true'"> <DefineConstants>OSX</DefineConstants>
<DefineConstants>Linux</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsLinux)'=='true'">
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'"> <DefineConstants>Linux</DefineConstants>
<SupportedPlatform Include="browser" /> </PropertyGroup>
</ItemGroup> <ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<ItemGroup> <SupportedPlatform Include="browser" />
<PackageReference Include="MetadataExtractor" Version="2.8.1" /> </ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" /> <ItemGroup>
<PackageReference Include="WindowsShortcutFactory" Version="1.2.0" /> <None Include=".vscode\read-me.md" Pack="true" PackagePath="\"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Metadata\AA.Metadata.csproj" /> <PackageReference Include="MetadataExtractor" Version="2.8.1" />
<ProjectReference Include="..\Shared\AA.Shared.csproj" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
</ItemGroup> <PackageReference Include="WindowsShortcutFactory" Version="1.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Metadata\AA.Metadata.csproj" />
<ProjectReference Include="..\Shared\AA.Shared.csproj" />
</ItemGroup>
</Project> </Project>

1
Rename/.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -1,21 +1,23 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<UserSecretsIdOld>fa0fa59b-afe4-4960-9afc-18fcbc7fb41b</UserSecretsIdOld> <UserSecretsIdOld>fa0fa59b-afe4-4960-9afc-18fcbc7fb41b</UserSecretsIdOld>
<UserSecretsId>843db3e1-e18f-4cba-8b00-967529a32635</UserSecretsId> <UserSecretsId>843db3e1-e18f-4cba-8b00-967529a32635</UserSecretsId>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.View.by.Distance.Rename</PackageId> <PackageId>Phares.View.by.Distance.Rename</PackageId>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <Version>8.0.112.0</Version>
<Version>9.0.100.0</Version>
<Authors>Mike Phares</Authors>
<Company>Phares</Company> <Company>Phares</Company>
<Authors>Mike Phares</Authors>
<IncludeSymbols>true</IncludeSymbols> <IncludeSymbols>true</IncludeSymbols>
<PackageReadmeFile>read-me.md</PackageReadmeFile>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows> <IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
@ -35,12 +37,19 @@
<SupportedPlatform Include="browser" /> <SupportedPlatform Include="browser" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CliWrap" Version="3.6.7" /> <None Include=".vscode\read-me.md" Pack="true" PackagePath="\"/>
<PackageReference Include="runtime.win-x64.Microsoft.DotNet.ILCompiler" Version="9.0.0" /> </ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" /> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.0" /> <PackageReference Include="CliWrap" Version="3.7.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" /> <PackageReference Include="runtime.win-x64.Microsoft.DotNet.ILCompiler" Version="8.0.12" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
<PackageReference Include="ShellProgressBar" Version="5.2.0" /> <PackageReference Include="ShellProgressBar" Version="5.2.0" />
<PackageReference Include="System.Drawing.Common" Version="8.0.12" />
</ItemGroup>
<ItemGroup>
<RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Metadata\AA.Metadata.csproj" /> <ProjectReference Include="..\Metadata\AA.Metadata.csproj" />

View File

@ -12,6 +12,7 @@ public record RenameSettings(string Company,
bool InPlaceMoveDirectory, bool InPlaceMoveDirectory,
bool InPlaceWithOriginalName, bool InPlaceWithOriginalName,
int MaxDegreeOfParallelism, int MaxDegreeOfParallelism,
int MaxMilliSecondsPerCall,
bool OnlySaveIdentifiersToDisk, bool OnlySaveIdentifiersToDisk,
string RelativePropertyCollectionFile, string RelativePropertyCollectionFile,
bool RequireRootDirectoryExists, bool RequireRootDirectoryExists,

View File

@ -59,7 +59,7 @@ public partial class Rename : IRename, IDisposable
try try
{ {
CommandTask<CommandResult> commandTask = Cli.Wrap("L:/Git/ffmpeg-2024-10-02-git-358fdf3083-full_build/bin/ffmpeg.exe") CommandTask<CommandResult> commandTask = Cli.Wrap("L:/Git/ffmpeg-2024-10-02-git-358fdf3083-full_build/bin/ffmpeg.exe")
.WithArguments(new[] { "-i", filePath.FullName, "-vf", "select=eq(n\\,0)", "-q:v", "1", $"{filePath.Name}-%4d.jpg" }) .WithArguments(["-i", filePath.FullName, "-vf", "select=eq(n\\,0)", "-q:v", "1", $"{filePath.Name}-%4d.jpg"])
.WithWorkingDirectory(filePath.DirectoryFullPath) .WithWorkingDirectory(filePath.DirectoryFullPath)
.ExecuteAsync(); .ExecuteAsync();
commandTask.Task.Wait(); commandTask.Task.Wait();
@ -165,13 +165,14 @@ public partial class Rename : IRename, IDisposable
} }
} }
private List<RecordA> GetRecordACollection(ILogger<Program>? logger, AppSettings appSettings, IRename rename, ReadOnlyCollection<int> ids, IEnumerable<string> files, A_Metadata metadata) private List<RecordA> GetRecordACollection(ILogger<Program>? logger, AppSettings appSettings, IRename rename, long ticks, ReadOnlyCollection<int> ids, IEnumerable<string> files, A_Metadata metadata)
{ {
List<RecordA> results = []; List<RecordA> results = [];
int index = -1; int index = -1;
RecordA recordA; RecordA recordA;
FileInfo fileInfo; FileInfo fileInfo;
FilePath filePath; FilePath filePath;
TimeSpan timeSpan;
string directoryName; string directoryName;
ExifDirectory exifDirectory; ExifDirectory exifDirectory;
List<FileHolder> sidecarFiles; List<FileHolder> sidecarFiles;
@ -243,6 +244,9 @@ public partial class Rename : IRename, IDisposable
recordA = new(exifDirectory, fastForwardMovingPictureExpertsGroupUsed, fileInfo, filePath, new(sidecarFiles)); recordA = new(exifDirectory, fastForwardMovingPictureExpertsGroupUsed, fileInfo, filePath, new(sidecarFiles));
results.Add(recordA); results.Add(recordA);
} }
timeSpan = new(DateTime.Now.Ticks - ticks);
if (timeSpan.TotalMilliseconds > appSettings.RenameSettings.MaxMilliSecondsPerCall)
break;
} }
return results; return results;
} }
@ -268,7 +272,7 @@ public partial class Rename : IRename, IDisposable
return results.AsReadOnly(); return results.AsReadOnly();
} }
private ReadOnlyCollection<RecordB> GetRecordBCollection(ILogger<Program>? logger, AppSettings appSettings, IRename rename, ReadOnlyCollection<int> ids, DirectoryInfo directoryInfo) private ReadOnlyCollection<RecordB> GetRecordBCollection(ILogger<Program>? logger, AppSettings appSettings, IRename rename, long ticks, ReadOnlyCollection<int> ids, DirectoryInfo directoryInfo)
{ {
ReadOnlyCollection<RecordB> results; ReadOnlyCollection<RecordB> results;
RecordA recordA; RecordA recordA;
@ -279,7 +283,7 @@ public partial class Rename : IRename, IDisposable
int filesCount = appSettingsMaxDegreeOfParallelism == 1 ? files.Count() : 123000; int filesCount = appSettingsMaxDegreeOfParallelism == 1 ? files.Count() : 123000;
_ProgressBar = new(filesCount, "EnumerateFiles load", new ProgressBarOptions() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true }); _ProgressBar = new(filesCount, "EnumerateFiles load", new ProgressBarOptions() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true });
if (appSettingsMaxDegreeOfParallelism == 1) if (appSettingsMaxDegreeOfParallelism == 1)
recordACollection.AddRange(GetRecordACollection(logger, appSettings, rename, ids, files, metadata)); recordACollection.AddRange(GetRecordACollection(logger, appSettings, rename, ticks, ids, files, metadata));
else else
{ {
List<string> distinct = []; List<string> distinct = [];
@ -548,7 +552,7 @@ public partial class Rename : IRename, IDisposable
_ = IPath.DeleteEmptyDirectories(appSettings.ResultSettings.RootDirectory); _ = IPath.DeleteEmptyDirectories(appSettings.ResultSettings.RootDirectory);
DirectoryInfo directoryInfo = new(Path.GetFullPath(appSettings.ResultSettings.RootDirectory)); DirectoryInfo directoryInfo = new(Path.GetFullPath(appSettings.ResultSettings.RootDirectory));
logger?.LogInformation("{Ticks} {RootDirectory}", ticks, directoryInfo.FullName); logger?.LogInformation("{Ticks} {RootDirectory}", ticks, directoryInfo.FullName);
ReadOnlyCollection<RecordB> recordBCollection = GetRecordBCollection(logger, appSettings, rename, ids, directoryInfo); ReadOnlyCollection<RecordB> recordBCollection = GetRecordBCollection(logger, appSettings, rename, ticks, ids, directoryInfo);
SaveIdentifiersToDisk(ticks, appSettings, recordBCollection); SaveIdentifiersToDisk(ticks, appSettings, recordBCollection);
if (appSettings.RenameSettings.InPlace || appSettings.RenameSettings.InPlaceWithOriginalName) if (appSettings.RenameSettings.InPlace || appSettings.RenameSettings.InPlaceWithOriginalName)
{ {

1
Shared/.vscode/read-me.md vendored Normal file
View File

@ -0,0 +1 @@
# Read Me

View File

@ -1,38 +1,42 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers> <RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers>
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageId>Phares.AA.Shared</PackageId> <PackageId>Phares.AA.Shared</PackageId>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <Version>8.1.112.0</Version>
<Version>9.0.100.0</Version> <Company>Phares</Company>
<Authors>Mike Phares</Authors> <Authors>Mike Phares</Authors>
<Company>Phares</Company> <IncludeSymbols>true</IncludeSymbols>
<IncludeSymbols>true</IncludeSymbols> <PackageReadmeFile>read-me.md</PackageReadmeFile>
<SymbolPackageFormat>snupkg</SymbolPackageFormat> <SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PropertyGroup> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows> </PropertyGroup>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX> <PropertyGroup>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux> <IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
</PropertyGroup> <IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<PropertyGroup Condition="'$(IsWindows)'=='true'"> <IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
<DefineConstants>Windows</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsWindows)'=='true'">
<PropertyGroup Condition="'$(IsOSX)'=='true'"> <DefineConstants>Windows</DefineConstants>
<DefineConstants>OSX</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsOSX)'=='true'">
<PropertyGroup Condition="'$(IsLinux)'=='true'"> <DefineConstants>OSX</DefineConstants>
<DefineConstants>Linux</DefineConstants> </PropertyGroup>
</PropertyGroup> <PropertyGroup Condition="'$(IsLinux)'=='true'">
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'"> <DefineConstants>Linux</DefineConstants>
<SupportedPlatform Include="browser" /> </PropertyGroup>
</ItemGroup> <ItemGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<ItemGroup> <SupportedPlatform Include="browser" />
<PackageReference Include="System.Drawing.Common" Version="9.0.0" /> </ItemGroup>
<PackageReference Include="System.Text.Json" Version="9.0.0" /> <ItemGroup>
</ItemGroup> <None Include=".vscode\read-me.md" Pack="true" PackagePath="\"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="System.Text.Json" Version="8.0.5" />
</ItemGroup>
</Project> </Project>