41 lines
924 B
C#
41 lines
924 B
C#
using System;
|
|
|
|
namespace StellaOps.Scanner.Sbomer.BuildXPlugin.Cas;
|
|
|
|
/// <summary>
|
|
/// Configuration for the on-disk content-addressable store used during CI.
|
|
/// </summary>
|
|
public sealed record LocalCasOptions
|
|
{
|
|
private string rootDirectory = string.Empty;
|
|
private string algorithm = "sha256";
|
|
|
|
public string RootDirectory
|
|
{
|
|
get => rootDirectory;
|
|
init
|
|
{
|
|
if (string.IsNullOrWhiteSpace(value))
|
|
{
|
|
throw new ArgumentException("Root directory must be provided.", nameof(value));
|
|
}
|
|
|
|
rootDirectory = value;
|
|
}
|
|
}
|
|
|
|
public string Algorithm
|
|
{
|
|
get => algorithm;
|
|
init
|
|
{
|
|
if (string.IsNullOrWhiteSpace(value))
|
|
{
|
|
throw new ArgumentException("Algorithm must be provided.", nameof(value));
|
|
}
|
|
|
|
algorithm = value;
|
|
}
|
|
}
|
|
}
|