public static void SmartAssemblyCompactDB(this ICakeContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            var runner = new SmartAssemblyTool <EmptySettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools);

            runner.Run("/compactdb");
        }
        public static void SmartAssemblyAddReport(this ICakeContext context, FilePath encryptedReport)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            var runner = new SmartAssemblyTool <EmptySettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools);

            runner.Run($"/addreport {encryptedReport}");
        }
        public static void SmartAssemblyEdit(this ICakeContext context, FilePath project, SmartAssemblySettings settings, params AssemblyOptionSettings[] args)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (project == null)
            {
                throw new ArgumentNullException(nameof(project));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            var runner = new SmartAssemblyTool <SmartAssemblySettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools);

            runner.Run($"/edit {project}", settings, args ?? new AssemblyOptionSettings[0]);
        }