public ReleasePackageLockCommand(IVariables variables, IManagePackageCache journal, ILog log)
        {
            this.variables = variables;
            this.log       = log;
            this.journal   = journal;

            Options.Add("taskId=", "Id of the task that is using the package", v => taskId = new ServerTaskId(v));
        }
 public RegisterPackageUseCommand(ILog log, IManagePackageCache journal, ICalamariFileSystem fileSystem)
 {
     this.log        = log;
     this.journal    = journal;
     this.fileSystem = fileSystem;
     Options.Add("packageId=", "Package ID of the used package", v => packageId = new PackageId(v));
     Options.Add("packageVersionFormat=", $"[Optional] Format of version. Options {string.Join(", ", Enum.GetNames(typeof(VersionFormat)))}. Defaults to `{VersionFormat.Semver}`.",
                 v =>
     {
         if (!Enum.TryParse(v, out VersionFormat format))
         {
             throw new CommandException($"The provided version format `{format}` is not recognised.");
         }
         versionFormat = format;
     });
     Options.Add("packageVersion=", "Package version of the used package", v => packageVersion = VersionFactory.TryCreateVersion(v, versionFormat));
     Options.Add("packagePath=", "Path to the package", v => packagePath            = new PackagePath(v));
     Options.Add("taskId=", "Id of the task that is using the package", v => taskId = new ServerTaskId(v));
 }
 public CleanPackagesCommand(IManagePackageCache journal)
 {
     this.journal = journal;
 }