• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

HicServices / RDMP / 11978888584

22 Nov 2024 07:27PM UTC coverage: 57.383% (-0.002%) from 57.385%
11978888584

push

github

jas88
Fix up redundant type inheritance

11206 of 21050 branches covered (53.24%)

Branch coverage included in aggregate %.

65 of 249 new or added lines in 42 files covered. (26.1%)

17 existing lines in 14 files now uncovered.

31718 of 53752 relevant lines covered (59.01%)

8290.69 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandAddPlugins.cs
1
// Copyright (c) The University of Dundee 2018-2019
2
// This file is part of the Research Data Management Platform (RDMP).
3
// RDMP is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
4
// 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.
5
// You should have received a copy of the GNU General Public License along with RDMP. If not, see <https://www.gnu.org/licenses/>.
6

7
using System.IO;
8
using System.Linq;
9
using Rdmp.Core.CommandExecution.Combining;
10
using Rdmp.Core.CommandLine.Runners;
11
using Rdmp.Core.Icons.IconProvision;
12
using Rdmp.Core.ReusableLibraryCode.Checks;
13
using Rdmp.Core.ReusableLibraryCode.Icons.IconProvision;
14
using Rdmp.Core.ReusableLibraryCode.Progress;
15
using SixLabors.ImageSharp;
16
using SixLabors.ImageSharp.PixelFormats;
17

18
namespace Rdmp.Core.CommandExecution.AtomicCommands;
19

20
public sealed class ExecuteCommandAddPlugins : BasicCommandExecution
21
{
22
    private FileInfo[] _files;
23

24
    public ExecuteCommandAddPlugins(IBasicActivateItems itemActivator) : base(itemActivator)
×
25
    {
26
    }
×
27

28
    public ExecuteCommandAddPlugins(IBasicActivateItems itemActivator, FileCollectionCombineable fileCombineable) :
29
        base(itemActivator)
×
30
    {
31
        _files = fileCombineable.Files;
×
32
        if (!_files.Any(static f => f.Extension != PackPluginRunner.PluginPackageSuffix)) return;
×
33

34
        SetImpossible($"Plugins must end {PackPluginRunner.PluginPackageSuffix}");
×
35
    }
×
36

37
    public override void Execute()
38
    {
39
        base.Execute();
×
40

41
        if (_files == null)
×
42
        {
43
            var f = BasicActivator.SelectFile("Plugin to add",
×
44
                $"Plugins (*{PackPluginRunner.PluginPackageSuffix})", $"*{PackPluginRunner.PluginPackageSuffix}");
×
45
            if (f != null)
×
NEW
46
                _files = [f];
×
47
            else return;
×
48
        }
49

50

NEW
51
        foreach (var runner in _files.Select(static f =>
×
NEW
52
                     new PackPluginRunner(new CommandLine.Options.PackOptions { File = f.FullName })))
×
53
            runner.Run(BasicActivator.RepositoryLocator, ThrowImmediatelyDataLoadEventListener.Quiet,
×
54
                ThrowImmediatelyCheckNotifier.Quiet, new DataFlowPipeline.GracefulCancellationToken());
×
55

UNCOV
56
        Show("Changes will take effect on restart");
×
57
    }
×
58

59
    public override Image<Rgba32> GetImage(IIconProvider iconProvider) =>
60
        iconProvider.GetImage(RDMPConcept.Plugin, OverlayKind.Add);
×
61
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc