diff --git a/cross-application-feature-development-management/CrossApplicationFeatureDevelopmentManagement.cs b/cross-application-feature-development-management/CrossApplicationFeatureDevelopmentManagement.cs index 326af94..2fc71c0 100644 --- a/cross-application-feature-development-management/CrossApplicationFeatureDevelopmentManagement.cs +++ b/cross-application-feature-development-management/CrossApplicationFeatureDevelopmentManagement.cs @@ -1,3 +1,4 @@ +using cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory; using cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory.BatchScriptFilesDirectory; using cross_application_feature_development_management.Dirctories.Interfaces; using cross_application_feature_development_management.Interfaces; @@ -16,7 +17,8 @@ public class CrossApplicationFeatureDevelopmentManagement( IPowerShellScriptsDirectory powerShellScriptsDirectory, IBatchScriptsDicrectory batchScriptsDicrectory, ISomething something, - IBatchScriptFilesDirectory batchScriptFilesDirectory + IBatchScriptFilesDirectory batchScriptFilesDirectory, + IAutomationsDirectory automationsDirectory ) : ICrossApplicationFeatureDevelopmentManagement { @@ -30,6 +32,7 @@ IBatchScriptFilesDirectory batchScriptFilesDirectory private readonly IBatchScriptsDicrectory batchScriptsDicrectory = batchScriptsDicrectory; private readonly ISomething something = something; private readonly IBatchScriptFilesDirectory batchScriptFilesDirectory = batchScriptFilesDirectory; + private readonly IAutomationsDirectory automationsDirectory = automationsDirectory; public void Run() { @@ -43,6 +46,8 @@ public void Run() featureNameDirectory.CreateSelf(); + automationsDirectory.Create(); + Directory.CreateDirectory(environmentVariablesFilesDirectory.CreatePathToSelfInFeatureNameDirectory()); string destinationDirectory = environmentVariablesFilesDirectory.CreatePathToSelfInFeatureNameDirectory(); diff --git a/cross-application-feature-development-management/Dirctories/Classes/BatchScriptsDicrectory.cs b/cross-application-feature-development-management/Dirctories/Classes/BatchScriptsDicrectory.cs index 18d9257..f5c41f1 100644 --- a/cross-application-feature-development-management/Dirctories/Classes/BatchScriptsDicrectory.cs +++ b/cross-application-feature-development-management/Dirctories/Classes/BatchScriptsDicrectory.cs @@ -1,3 +1,4 @@ +using cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory; using cross_application_feature_development_management.Dirctories.Interfaces; namespace cross_application_feature_development_management.Dirctories.Classes @@ -7,7 +8,8 @@ public class BatchScriptsDicrectory( IFeatureNameDirectory featureNameDirectory, ITargetDirectory targetDirectory, IScriptsDirectory scriptsDirectory, - IDirectories directories + IDirectories directories, + IAutomationsDirectory automationsDirectory ) : IBatchScriptsDicrectory { private readonly IPowerShellScriptsDirectory powerShellScriptsDirectory = powerShellScriptsDirectory; @@ -15,10 +17,11 @@ IDirectories directories private readonly ITargetDirectory targetDirectory = targetDirectory; private readonly IScriptsDirectory scriptsDirectory = scriptsDirectory; private readonly IDirectories directories = directories; + private readonly IAutomationsDirectory automationsDirectory = automationsDirectory; public void ReplaceFileNamesWithPaths() { - string pathToTarget = featureNameDirectory.GetPath(); + string pathToTarget = automationsDirectory.GetPath(); string giversPath = powerShellScriptsDirectory.ConstructPathToSelfInFeatureNameDirectory("powershell-scripts"); foreach (string filePath in Directory.EnumerateFiles(pathToTarget)) { @@ -46,7 +49,7 @@ public string CreatePathToSelfInFeatureNameDirector() public void CopyContentToFeaureNameDicrectory() { string sourceDirectory = CreatePathToSelfInScriptsDirectory(); - string destinationDirectory = featureNameDirectory.GetPath(); + string destinationDirectory = automationsDirectory.GetPath(); directories.CopyContentOfSourceDirectoryToDestinationDirectory(sourceDirectory, destinationDirectory); } diff --git a/cross-application-feature-development-management/Dirctories/Classes/EnvironmentVariablesFilesDirectory.cs b/cross-application-feature-development-management/Dirctories/Classes/EnvironmentVariablesFilesDirectory.cs index 5bf252a..f549f02 100644 --- a/cross-application-feature-development-management/Dirctories/Classes/EnvironmentVariablesFilesDirectory.cs +++ b/cross-application-feature-development-management/Dirctories/Classes/EnvironmentVariablesFilesDirectory.cs @@ -1,3 +1,4 @@ +using cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory; using cross_application_feature_development_management.Dirctories.Interfaces; using cross_application_feature_development_management.Interfaces; @@ -8,7 +9,8 @@ public class EnvironmentVariablesFilesDirectory( IFeatureNameDirectory featureNameDirectory, ICommandLineArgs commandLineArgs, ITargetDirectory targetDirectory, - IDirectories directories + IDirectories directories, + IAutomationsDirectory automationsDirectory ) : IEnvironmentVariablesFilesDirectory { private readonly IScriptsDirectory scriptsDirectory = scriptsDirectory; @@ -16,6 +18,7 @@ IDirectories directories private readonly ICommandLineArgs commandLineArgs = commandLineArgs; private readonly ITargetDirectory targetDirectory = targetDirectory; private readonly IDirectories directories = directories; + private readonly IAutomationsDirectory automationsDirectory = automationsDirectory; public void CopyContentToFeatureNameDicrectory() { @@ -42,7 +45,7 @@ public string CreatePathToSelfInScriptsDirectory() public string CreatePathToSelfInFeatureNameDirectory() { - string destinationDirectory = featureNameDirectory.GetPath(); + string destinationDirectory = automationsDirectory.GetPath(); string environmentVariablesFilesDirectory = Path.Combine(destinationDirectory, "environment-variables-files"); return environmentVariablesFilesDirectory; } diff --git a/cross-application-feature-development-management/Dirctories/Classes/PowerShellScriptsDirectory.cs b/cross-application-feature-development-management/Dirctories/Classes/PowerShellScriptsDirectory.cs index 60d572a..37d0e0b 100644 --- a/cross-application-feature-development-management/Dirctories/Classes/PowerShellScriptsDirectory.cs +++ b/cross-application-feature-development-management/Dirctories/Classes/PowerShellScriptsDirectory.cs @@ -1,3 +1,4 @@ +using cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory; using cross_application_feature_development_management.Dirctories.Interfaces; using Microsoft.Extensions.Logging; @@ -9,6 +10,7 @@ public class PowerShellScriptsDirectory( IScriptsDirectory scriptsDirectory, IFeatureNameDirectory featureNameDirectory, IDirectories directories, + IAutomationsDirectory automationsDirectory, ILogger logger ) : IPowerShellScriptsDirectory { @@ -17,6 +19,7 @@ ILogger logger private readonly IScriptsDirectory scriptsDirectory = scriptsDirectory; private readonly IFeatureNameDirectory featureNameDirectory = featureNameDirectory; private readonly IDirectories directories = directories; + private readonly IAutomationsDirectory automationsDirectory = automationsDirectory; private readonly ILogger logger = logger; public void ReplaceFileNamesWithPaths() @@ -77,7 +80,7 @@ public string ConstructPathToSelfInScriptsDirectory(string direcName) public string ConstructPathToSelfInFeatureNameDirectory(string direcName) { - string destinationDirectory = featureNameDirectory.GetPath(); + string destinationDirectory = automationsDirectory.GetPath(); string environmentVariablesFilesDirectory = Path.Combine(destinationDirectory, direcName); return environmentVariablesFilesDirectory; } diff --git a/cross-application-feature-development-management/Dirctories/Feature/AutomationsDirectory/AutomationsDirectory.cs b/cross-application-feature-development-management/Dirctories/Feature/AutomationsDirectory/AutomationsDirectory.cs new file mode 100644 index 0000000..fae307b --- /dev/null +++ b/cross-application-feature-development-management/Dirctories/Feature/AutomationsDirectory/AutomationsDirectory.cs @@ -0,0 +1,30 @@ +using cross_application_feature_development_management.Dirctories.Interfaces; + +namespace cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory +{ + public interface IAutomationsDirectory + { + public string GetPath(); + public void Create(); + } + + + public class AutomationsDirectory( + IFeatureNameDirectory featureNameDirectory + ) : IAutomationsDirectory + { + private readonly IFeatureNameDirectory featureNameDirectory = featureNameDirectory; + + public void Create() + { + var path = GetPath(); + Directory.CreateDirectory(path); + } + public string GetPath() + { + string directory = featureNameDirectory.GetPath(); + string automationsDirectory = Path.Combine(directory, "automations"); + return automationsDirectory; + } + } +} \ No newline at end of file diff --git a/cross-application-feature-development-management/Program.cs b/cross-application-feature-development-management/Program.cs index f391814..e71f18b 100644 --- a/cross-application-feature-development-management/Program.cs +++ b/cross-application-feature-development-management/Program.cs @@ -4,6 +4,7 @@ using cross_application_feature_development_management.Combiners.Interfaces; using cross_application_feature_development_management.Dirctories; using cross_application_feature_development_management.Dirctories.Classes; +using cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory; using cross_application_feature_development_management.Dirctories.Feature.AutomationsDirectory.BatchScriptFilesDirectory; using cross_application_feature_development_management.Dirctories.Feature.EnvironmentVariablesTemplateFiles; using cross_application_feature_development_management.Dirctories.Interfaces; @@ -56,6 +57,7 @@ private static void Main(string[] args) services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); }) .UseSerilog() .Build();