- Implemented `chrome-path.js` to define functions for locating Chromium binaries across different platforms and nested directories. - Added `verify-chromium.js` to check for the presence of the Chromium binary and log the results, including candidate paths checked. - The scripts support Linux, Windows, and macOS environments, enhancing the flexibility of Chromium binary detection.
68 lines
1.6 KiB
C#
68 lines
1.6 KiB
C#
using System;
|
|
|
|
namespace StellaOps.Scanner.Analyzers.Lang.Go.Internal;
|
|
|
|
internal sealed class GoModule
|
|
{
|
|
public GoModule(string path, string? version, string? sum, bool isMain)
|
|
{
|
|
Path = path ?? throw new ArgumentNullException(nameof(path));
|
|
Version = Normalize(version);
|
|
Sum = Normalize(sum);
|
|
IsMain = isMain;
|
|
}
|
|
|
|
public string Path { get; }
|
|
|
|
public string? Version { get; }
|
|
|
|
public string? Sum { get; }
|
|
|
|
public GoModuleReplacement? Replacement { get; private set; }
|
|
|
|
public bool IsMain { get; }
|
|
|
|
public void SetReplacement(GoModuleReplacement replacement)
|
|
{
|
|
Replacement = replacement ?? throw new ArgumentNullException(nameof(replacement));
|
|
}
|
|
|
|
private static string? Normalize(string? value)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(value))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
var trimmed = value.Trim();
|
|
return trimmed.Length == 0 ? null : trimmed;
|
|
}
|
|
}
|
|
|
|
internal sealed class GoModuleReplacement
|
|
{
|
|
public GoModuleReplacement(string path, string? version, string? sum)
|
|
{
|
|
Path = path ?? throw new ArgumentNullException(nameof(path));
|
|
Version = Normalize(version);
|
|
Sum = Normalize(sum);
|
|
}
|
|
|
|
public string Path { get; }
|
|
|
|
public string? Version { get; }
|
|
|
|
public string? Sum { get; }
|
|
|
|
private static string? Normalize(string? value)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(value))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
var trimmed = value.Trim();
|
|
return trimmed.Length == 0 ? null : trimmed;
|
|
}
|
|
}
|