csharp_new_line_before_open_brace = none

This commit is contained in:
2025-07-27 12:33:54 -07:00
parent 341cc93a0a
commit e74a0ccdce
22 changed files with 908 additions and 653 deletions

View File

@ -8,8 +8,7 @@ using System.Text.Json.Serialization;
namespace File_Folder_Helper.ADO2024.PI4;
internal static partial class Helper20241217
{
internal static partial class Helper20241217 {
private record SecureShell(
);
@ -42,21 +41,18 @@ internal static partial class Helper20241217
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Job))]
private partial class JobSourceGenerationContext : JsonSerializerContext
{
private partial class JobSourceGenerationContext : JsonSerializerContext {
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(File[]))]
private partial class FilesSourceGenerationContext : JsonSerializerContext
{
private partial class FilesSourceGenerationContext : JsonSerializerContext {
}
private static ReadOnlyCollection<File> GetFiles(string searchPattern, string[] ignoreFileNames, Record record) =>
GetFiles(record.SourceDirectory, searchPattern, ignoreFileNames);
internal static void Backup(ILogger<Worker> logger, List<string> args)
{
internal static void Backup(ILogger<Worker> logger, List<string> args) {
Job jobNew;
string path;
string? json;
@ -78,21 +74,15 @@ internal static partial class Helper20241217
logger.LogInformation("Searching <{sourceDirectory}> with search pattern {searchPattern}", args[0], searchPattern);
if (Debugger.IsAttached)
Verify(searchPattern, ignoreFileNames);
for (int i = 1; i < 3; i++)
{
if (i == 1)
{
for (int i = 1; i < 3; i++) {
if (i == 1) {
searchPatternFiles = Directory.EnumerateFiles(sourceDirectory, searchPattern, new EnumerationOptions { IgnoreInaccessible = true, RecurseSubdirectories = true });
}
else if (i == 2)
{
} else if (i == 2) {
searchPatternFiles = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories);
}
else
} else
throw new NotImplementedException();
records = GetRecords(sourceDirectory, destination, searchPatternFiles);
foreach (Record record in records)
{
foreach (Record record in records) {
if (record.Job is null || string.IsNullOrEmpty(record.Job.Extension))
continue;
logger.LogInformation("Searching <{directory}>", record.SourceDirectory);
@ -100,13 +90,11 @@ internal static partial class Helper20241217
jobNew = GetJob(searchPattern, ignoreFileNames, record, files);
json = JsonSerializer.Serialize(jobNew, JobSourceGenerationContext.Default.Job);
areTheyTheSame = GetAreTheyTheSame(logger, searchPattern, ignoreFileNames, record, jobNew);
if (snap2HyperTextMarkupLanguage is not null && System.IO.File.Exists(snap2HyperTextMarkupLanguage))
{
if (snap2HyperTextMarkupLanguage is not null && System.IO.File.Exists(snap2HyperTextMarkupLanguage)) {
if (!areTheyTheSame || (areTheyTheSame && !System.IO.File.Exists(record.Snap2HyperTextMarkupLanguage)))
WriteSnap2HyperTextMarkupLanguage(logger, snap2HyperTextMarkupLanguage, record);
}
if (areTheyTheSame)
{
if (areTheyTheSame) {
WriteAllText(record.Path, json);
continue;
}
@ -121,8 +109,7 @@ internal static partial class Helper20241217
}
}
private static void Verify(string searchPattern, string[] ignoreFileNames)
{
private static void Verify(string searchPattern, string[] ignoreFileNames) {
List<Target> targets = [
new(new SecureShell(), null),
new(null, new ServerMessageBlock("\\\\mesfs.infineon.com\\EC_APC\\DEV", true))
@ -146,12 +133,10 @@ internal static partial class Helper20241217
WriteAllText(path, json);
}
private static ReadOnlyCollection<File> GetFilteredFiles(string searchPattern, string[] ignoreFileNames, ReadOnlyCollection<File> files)
{
private static ReadOnlyCollection<File> GetFilteredFiles(string searchPattern, string[] ignoreFileNames, ReadOnlyCollection<File> files) {
List<File> results = [];
string fileName;
foreach (File file in files)
{
foreach (File file in files) {
if (file.RelativePath == searchPattern)
continue;
fileName = Path.GetFileName(file.RelativePath);
@ -166,8 +151,7 @@ internal static partial class Helper20241217
return results.AsReadOnly();
}
private static IEnumerable<Record> GetRecords(string directory, string destination, IEnumerable<string> files)
{
private static IEnumerable<Record> GetRecords(string directory, string destination, IEnumerable<string> files) {
Job? job;
string json;
Record record;
@ -176,13 +160,11 @@ internal static partial class Helper20241217
string sourceDirectory;
string destinationDirectory;
string snap2HyperTextMarkupLanguage;
foreach (string file in files)
{
foreach (string file in files) {
fileName = Path.GetFileName(file);
sourceDirectory = Path.GetDirectoryName(file) ?? throw new Exception();
directoryName = Path.GetFileName(sourceDirectory);
if (!fileName.StartsWith('.'))
{
if (!fileName.StartsWith('.')) {
System.IO.File.Move(file, Path.Combine(sourceDirectory, $".{fileName}"));
continue;
}
@ -213,11 +195,9 @@ internal static partial class Helper20241217
}
}
private static void WriteSnap2HyperTextMarkupLanguage(ILogger<Worker> logger, string snap2HyperTextMarkupLanguage, Record record)
{
private static void WriteSnap2HyperTextMarkupLanguage(ILogger<Worker> logger, string snap2HyperTextMarkupLanguage, Record record) {
string title = Path.GetFileName(record.SourceDirectory);
ProcessStartInfo processStartInfo = new()
{
ProcessStartInfo processStartInfo = new() {
Arguments = $"-path:\"{record.SourceDirectory}\" -outfile:\"{record.Snap2HyperTextMarkupLanguage}\" -title:\"{title}\" -hidden -silent",
FileName = snap2HyperTextMarkupLanguage,
RedirectStandardError = true,
@ -230,15 +210,13 @@ internal static partial class Helper20241217
logger.LogInformation($"Snap2HyperTextMarkupLanguage: {process.StandardOutput.ReadToEnd()}{Environment.NewLine}{process.StandardError.ReadToEnd()}{Environment.NewLine}{process.ExitCode}");
}
private static ReadOnlyCollection<File> GetFiles(string directory, string searchPattern, string[] ignoreFileNames)
{
private static ReadOnlyCollection<File> GetFiles(string directory, string searchPattern, string[] ignoreFileNames) {
List<File> results = [];
File file;
string relativePath;
string[] files = Directory.GetFiles(directory, "*", SearchOption.AllDirectories);
FileInfo[] fileInfoCollection = files.Select(l => new FileInfo(l)).ToArray();
foreach (FileInfo fileInfo in fileInfoCollection)
{
foreach (FileInfo fileInfo in fileInfoCollection) {
if (fileInfo.Name == searchPattern)
continue;
if (ignoreFileNames.Any(l => l == fileInfo.Name))
@ -254,8 +232,7 @@ internal static partial class Helper20241217
return results.AsReadOnly();
}
private static Job GetJob(string searchPattern, string[] ignoreFileNames, Record record, ReadOnlyCollection<File> files)
{
private static Job GetJob(string searchPattern, string[] ignoreFileNames, Record record, ReadOnlyCollection<File> files) {
Job result;
ReadOnlyCollection<File> collection = GetFilteredFiles(searchPattern, ignoreFileNames, files);
double filesTotalLengthNew = collection.Select(l => l.Length).Sum();
@ -270,37 +247,28 @@ internal static partial class Helper20241217
return result;
}
private static bool GetAreTheyTheSame(ILogger<Worker> logger, string searchPattern, string[] ignoreFileNames, Record record, Job jobNew)
{
private static bool GetAreTheyTheSame(ILogger<Worker> logger, string searchPattern, string[] ignoreFileNames, Record record, Job jobNew) {
bool result;
ReadOnlyCollection<File> collection = GetFilteredFiles(searchPattern, ignoreFileNames, record.Job.Files.AsReadOnly());
int filesCountOld = collection.Count;
int filesCountNew = jobNew.Files.Length;
if (filesCountNew != filesCountOld)
{
if (filesCountNew != filesCountOld) {
result = false;
logger.LogWarning("<{directory}> file count has changed {filesCountNew} != {filesCountOld}", record.SourceDirectory, filesCountNew, filesCountOld);
}
else
{
} else {
double filesTotalLengthOld = collection.Select(l => l.Length).Sum();
double filesTotalLengthNew = jobNew.Files.Select(l => l.Length).Sum();
if (filesTotalLengthNew != filesTotalLengthOld)
{
if (filesTotalLengthNew != filesTotalLengthOld) {
result = false;
logger.LogWarning("<{directory}> file length has changed {filesTotalLengthNew} != {filesTotalLengthOld}", record.SourceDirectory, filesTotalLengthNew, filesTotalLengthOld);
}
else
{
} else {
string jsonNew = JsonSerializer.Serialize(jobNew.Files, FilesSourceGenerationContext.Default.FileArray);
string jsonOld = JsonSerializer.Serialize(collection.ToArray(), FilesSourceGenerationContext.Default.FileArray);
if (jsonNew == jsonOld)
result = true;
else
{
else {
result = false;
if (Debugger.IsAttached)
{
if (Debugger.IsAttached) {
WriteAllText(Path.Combine(Environment.CurrentDirectory, ".vscode", "helper", "old.json"), jsonOld);
WriteAllText(Path.Combine(Environment.CurrentDirectory, ".vscode", "helper", "new.json"), jsonNew);
}
@ -311,15 +279,13 @@ internal static partial class Helper20241217
return result;
}
private static void WriteAllText(string path, string text)
{
private static void WriteAllText(string path, string text) {
string check = !System.IO.File.Exists(path) ? string.Empty : System.IO.File.ReadAllText(path);
if (check != text)
System.IO.File.WriteAllText(path, text);
}
private static void WritePassedExtension(Record record, ReadOnlyCollection<File> files, string directoryName, string path)
{
private static void WritePassedExtension(Record record, ReadOnlyCollection<File> files, string directoryName, string path) {
if (record.Job.Extension.Equals(".iso", StringComparison.OrdinalIgnoreCase))
WriteISO(record, files, path, directoryName);
else if (record.Job.Extension.Equals(".zip", StringComparison.OrdinalIgnoreCase))
@ -328,21 +294,18 @@ internal static partial class Helper20241217
throw new NotImplementedException();
}
private static void WriteISO(Record record, ReadOnlyCollection<File> files, string path, string directoryName)
{
private static void WriteISO(Record record, ReadOnlyCollection<File> files, string path, string directoryName) {
CDBuilder builder = new() { UseJoliet = true, VolumeIdentifier = directoryName.Length < 25 ? directoryName : directoryName[..25] };
foreach (File file in files)
_ = builder.AddFile(file.RelativePath, Path.Combine(record.SourceDirectory, file.RelativePath));
builder.Build(path);
}
private static void WriteZIP(Record record, ReadOnlyCollection<File> files, string path)
{
private static void WriteZIP(Record record, ReadOnlyCollection<File> files, string path) {
using ZipArchive zip = ZipFile.Open(path, ZipArchiveMode.Create);
string directoryEntry;
List<string> directoryEntries = [];
foreach (File file in files)
{
foreach (File file in files) {
directoryEntry = Path.GetDirectoryName(file.RelativePath) ?? throw new Exception();
if (!directoryEntries.Contains(directoryEntry))
continue;
@ -353,8 +316,7 @@ internal static partial class Helper20241217
_ = zip.CreateEntryFromFile(Path.Combine(record.SourceDirectory, file.RelativePath), file.RelativePath);
}
private static void WriteAllText(Record record, string text, string path)
{
private static void WriteAllText(Record record, string text, string path) {
WriteAllText(record.Path, text);
System.IO.File.Copy(record.Path, $"{path}.json");
string checkFile = Path.Combine(record.SourceDirectory, ".html");