Files
duplicati/Duplicati/Library/Main/Duplicati.Library.Main.csproj
T
Kenneth SkovhedeandGitHub d99f74ed94 Rewrite the backend manager. (#5896)
* Rewrite the backend manager.

This creates a new more logic backend manager that handles all backend operations.

For each top-level operation, there is now a single backend manager instance that is passed to sub-commands.

The internals of the backend manager are now rewritten to use async logic instead of threading.

The design uses a single task runner that dispatches operations and honors concurrent settings and limits from one place.

The logic for each operation has been moved into a separate files/classes to make it easier to understand each operation.

This fixes #5804

* Fixed a few issues with not awaiting tasks

* Fixed not creating empty databases

* Fixed an issue with hashes not being recorded on download

* Reworked the download logic to avoid attempting to decrypt the file if it has been modified.

* Review fixes

* Renamed db collector to better reflect the purpose.

* Review fixes
2025-01-28 08:54:50 +01:00

54 lines
2.8 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Library</OutputType>
<Copyright>Copyright © 2025 Team Duplicati, MIT license</Copyright>
<RootNamespace>Duplicati.Library.Main</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\License\Duplicati.License.csproj" />
<ProjectReference Include="..\Compression\Duplicati.Library.Compression.csproj" />
<ProjectReference Include="..\Utility\Duplicati.Library.Utility.csproj" />
<ProjectReference Include="..\DynamicLoader\Duplicati.Library.DynamicLoader.csproj" />
<ProjectReference Include="..\Interface\Duplicati.Library.Interface.csproj" />
<ProjectReference Include="..\Logging\Duplicati.Library.Logging.csproj" />
<ProjectReference Include="..\Snapshots\Duplicati.Library.Snapshots.csproj" />
<ProjectReference Include="..\SQLiteHelper\Duplicati.Library.SQLiteHelper.csproj" />
<ProjectReference Include="..\Localization\Duplicati.Library.Localization.csproj" />
<ProjectReference Include="..\UsageReporter\Duplicati.Library.UsageReporter.csproj" />
<ProjectReference Include="..\Modules\Builtin\Duplicati.Library.Modules.Builtin.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Database\Database schema\Schema.sql" />
<EmbeddedResource Include="Database\Database schema\1. Add index.sql" />
<EmbeddedResource Include="Database\Database schema\2. Use Lastmodified.sql" />
<EmbeddedResource Include="Database\Database schema\3. Add grace delete period.sql" />
<EmbeddedResource Include="Database\Database schema\4. Add index.sql" />
<EmbeddedResource Include="Database\Database schema\5. Optimize BlockSet-Tables.sql" />
<EmbeddedResource Include="Database\Database schema\6. Optimize FileSetEntry-Table.sql" />
<EmbeddedResource Include="Database\Database schema\7. Add index.sql" />
<EmbeddedResource Include="Database\Database schema\8. Add volume USN.sql" />
<EmbeddedResource Include="Database\Database schema\9. Refactor Paths.sql" />
<EmbeddedResource Include="Database\Database schema\10. Add IsFullBackup to Fileset table.sql" />
<EmbeddedResource Include="Database\Database schema\11. Add Block indices.sql" />
<EmbeddedResource Include="Database\Database schema\12. Performance Indexes.sql" />
<EmbeddedResource Include="Database\Database schema\13. Unique index on DuplicateBlock.sql" />
</ItemGroup>
<ItemGroup>
<Content Include="default_compressed_extensions.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="CoCoL" Version="1.8.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
</Project>