diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b2f7e3876d..48644c1667 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -179,14 +179,14 @@ jobs: - name: Temporary Bundle of ddls for auto-updater shell: bash run: | - cp -r Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/runtimes ./PublishWinForms - cp -r Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/x64 ./PublishWinForms - cp Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/D3DCompiler_47_cor3.dll ./PublishWinForms - cp Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/PenImc_cor3.dll ./PublishWinForms - cp Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/PresentationNative_cor3.dll ./PublishWinForms - cp Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/vcruntime140_cor3.dll ./PublishWinForms - cp Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/WebView2Loader.dll ./PublishWinForms - cp Application/ResearchDataManagementPlatform/bin/Release/net9.0-windows/win-x64/wpfgfx_cor3.dll ./PublishWinForms + cp -r Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/runtimes ./PublishWinForms + cp -r Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/x64 ./PublishWinForms + cp Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/D3DCompiler_47_cor3.dll ./PublishWinForms + cp Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/PenImc_cor3.dll ./PublishWinForms + cp Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/PresentationNative_cor3.dll ./PublishWinForms + cp Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/vcruntime140_cor3.dll ./PublishWinForms + cp Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/WebView2Loader.dll ./PublishWinForms + cp Application/ResearchDataManagementPlatform/bin/Release/net10.0-windows/win-x64/wpfgfx_cor3.dll ./PublishWinForms - name: Install Plugins shell: bash run: | diff --git a/Application/ResearchDataManagementPlatform/RDMPMainForm.cs b/Application/ResearchDataManagementPlatform/RDMPMainForm.cs index a018340aab..11ba3c14b6 100644 --- a/Application/ResearchDataManagementPlatform/RDMPMainForm.cs +++ b/Application/ResearchDataManagementPlatform/RDMPMainForm.cs @@ -4,13 +4,7 @@ // RDMP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. // You should have received a copy of the GNU General Public License along with RDMP. If not, see . -using System; -using System.ComponentModel; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Text; -using System.Windows.Forms; +using NPOI.OpenXmlFormats.Wordprocessing; using Rdmp.Core.Curation.Data; using Rdmp.Core.MapsDirectlyToDatabaseTable; using Rdmp.Core.Repositories; @@ -27,6 +21,13 @@ using ResearchDataManagementPlatform.WindowManagement.ContentWindowTracking.Persistence; using ResearchDataManagementPlatform.WindowManagement.ExtenderFunctionality; using ResearchDataManagementPlatform.WindowManagement.Licenses; +using System; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Windows.Forms; using WeifenLuo.WinFormsUI.Docking; namespace ResearchDataManagementPlatform; @@ -52,7 +53,6 @@ public RDMPMainForm() InitializeComponent(); PatchController.EnableAll = true; - try { var t = UserSettings.Theme; diff --git a/Application/ResearchDataManagementPlatform/ResearchDataManagementPlatform.csproj b/Application/ResearchDataManagementPlatform/ResearchDataManagementPlatform.csproj index 73d1578187..55419e9e10 100644 --- a/Application/ResearchDataManagementPlatform/ResearchDataManagementPlatform.csproj +++ b/Application/ResearchDataManagementPlatform/ResearchDataManagementPlatform.csproj @@ -32,7 +32,6 @@ - diff --git a/Application/ResearchDataManagementPlatform/WindowManagement/ContentWindowTracking/Persistence/PersistableSingleDatabaseObjectDockContent.cs b/Application/ResearchDataManagementPlatform/WindowManagement/ContentWindowTracking/Persistence/PersistableSingleDatabaseObjectDockContent.cs index 42a5c9777e..59e3256243 100644 --- a/Application/ResearchDataManagementPlatform/WindowManagement/ContentWindowTracking/Persistence/PersistableSingleDatabaseObjectDockContent.cs +++ b/Application/ResearchDataManagementPlatform/WindowManagement/ContentWindowTracking/Persistence/PersistableSingleDatabaseObjectDockContent.cs @@ -43,7 +43,7 @@ public PersistableSingleDatabaseObjectDockContent(IRDMPSingleDatabaseObjectContr TabText = "Loading..."; control.UnSavedChanges += OnUnSavedChanges; - Closing += (s, e) => control.UnSavedChanges -= OnUnSavedChanges; + FormClosing += (s, e) => control.UnSavedChanges -= OnUnSavedChanges; } private void OnUnSavedChanges(object sender, bool unsavedChanges) diff --git a/Application/ResearchDataManagementPlatform/WindowManagement/WindowManager.cs b/Application/ResearchDataManagementPlatform/WindowManagement/WindowManager.cs index 6ae7fc05fd..470f19e083 100644 --- a/Application/ResearchDataManagementPlatform/WindowManagement/WindowManager.cs +++ b/Application/ResearchDataManagementPlatform/WindowManagement/WindowManager.cs @@ -179,7 +179,7 @@ private PersistableToolboxDockContent Show(RDMPCollection collection, RDMPCollec var content = _windowFactory.Create(ActivateItems, control, label, image, collection); //these are collections so are not tracked with a window tracker. - content.Closed += (s, e) => content_Closed(collection); + content.FormClosed += (s, e) => content_Closed(collection); _visibleToolboxes.Add(collection, content); content.Show(_mainDockPanel, DockState.DockLeft); @@ -301,7 +301,7 @@ public void PopHome() _homeContent = _windowFactory.Create(ActivateItems, _home, "Home", Image.Load(FamFamFamIcons.application_home)); - _homeContent.Closed += (s, e) => _home = null; + _homeContent.FormClosed += (s, e) => _home = null; _homeContent.Show(_mainDockPanel, DockState.Document); } else diff --git a/Directory.Build.props b/Directory.Build.props index c944ba5fb9..6f9956ee79 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - net9.0 + net10.0 latest true NU1902;NU1903;NU1904;1701;1702;CS1591;NU1701;CA1416 diff --git a/Directory.Packages.props b/Directory.Packages.props index 9fe5afe69b..6473595a8d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -32,12 +32,10 @@ - - diff --git a/Documentation/CodeTutorials/Packages.md b/Documentation/CodeTutorials/Packages.md index f6d9aad516..7f07447d20 100644 --- a/Documentation/CodeTutorials/Packages.md +++ b/Documentation/CodeTutorials/Packages.md @@ -29,10 +29,7 @@ | YamlDotNet | [GitHub](https://github.com/aaubry/YamlDotNet) | [MIT](https://opensource.org/licenses/MIT) |Loading configuration files| | SixLabors.ImageSharp | [GitHub](https://github.com/SixLabors/ImageSharp) | [Apache 2.0](https://github.com/SixLabors/ImageSharp/blob/main/LICENSE) | Platform-independent replacement for legacy Windows-only System.Drawing.Common | | | SixLabors.ImageSharp.Drawing | [GitHub](https://github.com/SixLabors/ImageSharp.Drawing) | [Apache 2.0](https://github.com/SixLabors/ImageSharp/blob/main/LICENSE) | Font handling for ImageSharp | | -| System.Private.Uri | Part of .Net, referenced to override vulnerable transitive dependency | .Net SDK | | -| System.Threading.ThreadPool | [GitHub](https://github.com/dotnet/corefx) |[MIT](https://opensource.org/licenses/MIT) | Required to compile native linux binaries | | | [AutoComplete Console](https://www.codeproject.com/Articles/1182358/Using-Autocomplete-in-Windows-Console-Applications) by Jasper Lammers | Embedded | [CPOL](https://www.codeproject.com/info/cpol10.aspx) | Provides interactive autocomplete in console input | | -| System.Resources.Extensions | [GitHub](https://github.com/dotnet/corefx) | [MIT](https://opensource.org/licenses/MIT) | Allows [publishing with dotnet publish on machines with netcoreapp3.0 SDK installed](https://github.com/microsoft/msbuild/issues/4704#issuecomment-530034240) | | | Spectre.Console | [GitHub](https://github.com/spectreconsole/spectre.console) | [MIT](https://opensource.org/licenses/MIT) | Allows richer command line interactions| | | HIC.System.Windows.Forms.DataVisualization | [GitHub](https://github.com/HicServices/winforms-datavisualization) |[MIT](https://opensource.org/licenses/MIT) | Dotnet core support for DQE charts | | | Autoupdater.NET.Official | [GitHub](https://github.com/ravibpatel/AutoUpdater.NET) | MIT | Manages updating of the RDMP windows client directly from the RDMP GitHub Releases| diff --git a/Rdmp.Core.Tests/DataExport/DataRelease/S3BucketReleaseDestinationTests.cs b/Rdmp.Core.Tests/DataExport/DataRelease/S3BucketReleaseDestinationTests.cs index 18c44ae9e2..4d08b3ad27 100644 --- a/Rdmp.Core.Tests/DataExport/DataRelease/S3BucketReleaseDestinationTests.cs +++ b/Rdmp.Core.Tests/DataExport/DataRelease/S3BucketReleaseDestinationTests.cs @@ -1,25 +1,27 @@ -using NUnit.Framework; -using Minio; -using Rdmp.Core.ReusableLibraryCode.AWS; -using Tests.Common.Scenarios; -using Rdmp.Core.DataFlowPipeline; -using Rdmp.Core.ReusableLibraryCode.Progress; -using System; -using Rdmp.Core.Curation.Data.Pipelines; -using Rdmp.Core.DataExport.DataRelease; +using Minio; +using Minio.ApiEndpoints; +using Minio.DataModel.Args; +using NUnit.Framework; +using Rdmp.Core.CommandExecution; using Rdmp.Core.CommandLine.Options; using Rdmp.Core.CommandLine.Runners; -using Rdmp.Core.CommandExecution; +using Rdmp.Core.Curation.Data.DataLoad; +using Rdmp.Core.Curation.Data.Pipelines; +using Rdmp.Core.DataExport.DataRelease; +using Rdmp.Core.DataFlowPipeline; +using Rdmp.Core.ReusableLibraryCode.AWS; using Rdmp.Core.ReusableLibraryCode.Checks; -using System.Linq; -using Minio.DataModel.Args; +using Rdmp.Core.ReusableLibraryCode.Progress; +using System; using System.Collections.Generic; -using Minio.DataModel; -using Rdmp.Core.Curation.Data.DataLoad; - +using System.Linq; +using System.Reactive.Linq; +using System.Threading; +using System.Threading.Tasks; +using Tests.Common.Scenarios; namespace Rdmp.Core.Tests.DataExport.DataRelease; -public sealed class S3BucketReleaseDestinationTests : TestsRequiringAnExtractionConfiguration +public class S3BucketReleaseDestinationTests : TestsRequiringAnExtractionConfiguration { private const string Username = "minioadmin"; private const string Password = "minioadmin"; @@ -63,11 +65,22 @@ private static void DeleteBucket(string name) _minioClient.RemoveBucketAsync(rbArgs).Wait(); } - private static List GetObjects(string bucketName) + private List GetObjects(string bucketName) { var loArgs = new ListObjectsArgs().WithBucket(bucketName); - var x = _minioClient.ListObjectsEnumAsync(loArgs).ToListAsync(); - return x.IsCompleted ? x.Result : x.AsTask().Result; + var x = _minioClient.ListObjectsEnumAsync(loArgs); + var results = ToListAsync(x).Result; + return results; + } + + private async Task> ToListAsync(IAsyncEnumerable items, + CancellationToken cancellationToken = default) + { + var results = new List(); + await foreach (var item in items.WithCancellation(cancellationToken) + .ConfigureAwait(false)) + results.Add(item); + return results; } private static void SetArgs(IArgument[] args, Dictionary values) diff --git a/Rdmp.Core/Curation/Data/SafeDirectoryCatalog.cs b/Rdmp.Core/Curation/Data/SafeDirectoryCatalog.cs index 7f2d24a705..0d56c59d30 100644 --- a/Rdmp.Core/Curation/Data/SafeDirectoryCatalog.cs +++ b/Rdmp.Core/Curation/Data/SafeDirectoryCatalog.cs @@ -280,7 +280,6 @@ public static class SafeDirectoryCatalog "system.printing.dll", "system.private.corelib.dll", "system.private.datacontractserialization.dll", - "system.private.uri.dll", "system.private.xml.dll", "system.private.xml.linq.dll", "system.reflection.dispatchproxy.dll", diff --git a/Rdmp.Core/Rdmp.Core.csproj b/Rdmp.Core/Rdmp.Core.csproj index a840864982..a72276b619 100644 --- a/Rdmp.Core/Rdmp.Core.csproj +++ b/Rdmp.Core/Rdmp.Core.csproj @@ -342,8 +342,6 @@ - - diff --git a/Rdmp.UI/ChecksUI/PopupChecksUI.cs b/Rdmp.UI/ChecksUI/PopupChecksUI.cs index 56792b4e84..1b61e6afbd 100644 --- a/Rdmp.UI/ChecksUI/PopupChecksUI.cs +++ b/Rdmp.UI/ChecksUI/PopupChecksUI.cs @@ -59,12 +59,12 @@ public bool OnCheckPerformed(CheckEventArgs args) return checksUI1.OnCheckPerformed(args); } - protected override void OnClosed(EventArgs e) + protected override void OnFormClosed(FormClosedEventArgs e) { if (_haveDemandedVisibility) checksUI1.TerminateWithExtremePrejudice(); - base.OnClosed(e); + base.OnFormClosed(e); } public void Check(ICheckable checkable) diff --git a/Rdmp.UI/Rdmp.UI.csproj b/Rdmp.UI/Rdmp.UI.csproj index afc0b1c69a..058374731f 100644 --- a/Rdmp.UI/Rdmp.UI.csproj +++ b/Rdmp.UI/Rdmp.UI.csproj @@ -53,7 +53,6 @@ - diff --git a/Tools/rdmp/rdmp.csproj b/Tools/rdmp/rdmp.csproj index ef4f8040be..aa6c8e1a84 100644 --- a/Tools/rdmp/rdmp.csproj +++ b/Tools/rdmp/rdmp.csproj @@ -42,7 +42,6 @@ - diff --git a/global.json b/global.json index c52e4e22a9..fcb4599c27 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.300", + "version": "10.0.100", "rollForward": "minor" } }