Basic info command
This commit is contained in:
@@ -18,7 +18,7 @@ public class HelpCommand : ICommand
|
||||
{
|
||||
Console.WriteLine(command.CommandString);
|
||||
}
|
||||
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,60 @@
|
||||
using Alma.Configuration.Repository;
|
||||
using Alma.Services;
|
||||
|
||||
namespace Alma.Command.Info;
|
||||
|
||||
public class ModuleInfoCommand : ICommand
|
||||
{
|
||||
public string CommandString => "info";
|
||||
|
||||
private readonly IFolderService _folderService;
|
||||
private readonly IRepositoryConfiguration _repositoryConfiguration;
|
||||
|
||||
public ModuleInfoCommand(
|
||||
IFolderService folderService,
|
||||
IRepositoryConfiguration repositoryConfiguration
|
||||
)
|
||||
{
|
||||
_folderService = folderService;
|
||||
_repositoryConfiguration = repositoryConfiguration;
|
||||
}
|
||||
|
||||
public Task Run(List<string> parameters)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
//Add info REPO
|
||||
//Add info REPO MODULE
|
||||
Console.WriteLine("AppData folder: " + _folderService.AppData);
|
||||
|
||||
if (_folderService.ConfigRoot is string configRoot)
|
||||
{
|
||||
Console.WriteLine("Configuration folder: " + configRoot);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Configuration folder not exists.");
|
||||
Console.WriteLine("Preffered configuration folder is: " + Path.Combine(_folderService.GetPreferredConfigurationFolder(), _folderService.ApplicationSubfolderName));
|
||||
}
|
||||
|
||||
Console.WriteLine();
|
||||
|
||||
if (_repositoryConfiguration.Configuration.Repositories is var repositores && repositores?.Count > 0)
|
||||
{
|
||||
Console.WriteLine("Repositories:");
|
||||
foreach (var repository in repositores)
|
||||
{
|
||||
Console.Write(repository.Name);
|
||||
if (repository.RepositoryPath is not null && !Directory.Exists(repository.RepositoryPath))
|
||||
{
|
||||
Console.Write($" (containing folder not exists {repository.RepositoryPath})");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("No repositories found");
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
@@ -67,19 +67,19 @@ public class ListCommand : ICommand
|
||||
Console.WriteLine($"Modules in repository '{repositoryName}':" + Environment.NewLine);
|
||||
foreach (var modulePath in moduleDirectories)
|
||||
{
|
||||
Console.WriteLine(modulePath.FullName.Substring(repositoryDirectory.FullName.Length).Replace(Path.DirectorySeparatorChar, '/'));
|
||||
Console.WriteLine(modulePath.FullName[repositoryDirectory.FullName.Length..].TrimStart(Path.DirectorySeparatorChar).Replace(Path.DirectorySeparatorChar, '/'));
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<IEnumerable<DirectoryInfo>> TraverseRepositoryFolder(DirectoryInfo currentDirectory)
|
||||
{
|
||||
var moduleConfigFileStub = Path.Combine(currentDirectory.FullName, Constants.ModuleConfigFileStub);
|
||||
var (moduleConfiguration, moduleConfigurationFile) = await _moduleConfigurationResolver.ResolveModuleConfiguration(moduleConfigFileStub);
|
||||
var (_, moduleConfigurationFile) = await _moduleConfigurationResolver.ResolveModuleConfiguration(moduleConfigFileStub);
|
||||
|
||||
var result = Enumerable.Empty<DirectoryInfo>();
|
||||
if (moduleConfigurationFile is not null)
|
||||
{
|
||||
result = new List<DirectoryInfo> {currentDirectory};
|
||||
result = new List<DirectoryInfo> { currentDirectory };
|
||||
}
|
||||
|
||||
foreach (var subDir in currentDirectory.GetDirectories())
|
||||
|
||||
Reference in New Issue
Block a user