Skip to content

Commit e7b4358

Browse files
authored
LocalConfigurationDirectory should not use Paths.WorkingDirectoryRoot but Directory.GetCurrentDirectory() (#1991)
* LocalConfigurationDirectory should not use Paths.WorkingDirectoryRoot but Directory.GetCurrentDirectory() * save local should path as is, restored defaulting to local (with spot checks looking for config files)
1 parent dce9a35 commit e7b4358

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

src/Elastic.Documentation.Configuration/ConfigurationFileProvider.cs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,18 @@ public ConfigurationFileProvider(
4545
// fileSystem.Directory.Exists(LocalConfigurationDirectory)
4646
// ? ConfigurationSource.Local : ConfigurationSource.Embedded
4747
// );
48-
49-
50-
// Using Embedded as default for now
51-
ConfigurationSource = configurationSource ?? ConfigurationSource.Embedded;
52-
48+
if (configurationSource is { } source)
49+
ConfigurationSource = source;
50+
else
51+
{
52+
string[] spotChecks = ["navigation.yml", "versions.yml", "products.yml", "assembler.yml"];
53+
var defaultSource =
54+
fileSystem.Directory.Exists(LocalConfigurationDirectory)
55+
&& spotChecks.All(f => fileSystem.File.Exists(Path.Combine(LocalConfigurationDirectory, f)))
56+
? ConfigurationSource.Local
57+
: ConfigurationSource.Embedded;
58+
ConfigurationSource = defaultSource;
59+
}
5360

5461
if (ConfigurationSource == ConfigurationSource.Local && !fileSystem.Directory.Exists(LocalConfigurationDirectory))
5562
throw new Exception($"Required directory form {nameof(ConfigurationSource)}.{nameof(ConfigurationSource.Local)} directory {LocalConfigurationDirectory} does not exist.");
@@ -216,7 +223,7 @@ private StreamReader GetEmbeddedStream(string fileName)
216223
}
217224

218225
public static string AppDataConfigurationDirectory { get; } = Path.Combine(Paths.ApplicationData.FullName, "config-clone", "config");
219-
public static string LocalConfigurationDirectory { get; } = Path.Combine(Paths.WorkingDirectoryRoot.FullName, "config");
226+
public static string LocalConfigurationDirectory { get; } = Path.Combine(Directory.GetCurrentDirectory(), "config");
220227

221228
private static string GetLocalPath(string file) => Path.Combine(LocalConfigurationDirectory, file);
222229
private static string GetAppDataPath(string file) => Path.Combine(AppDataConfigurationDirectory, file);

src/services/Elastic.Documentation.Assembler/Configuration/ConfigurationCloneService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Cancel ctx
2929
{
3030
var checkoutFolder = fs.DirectoryInfo.New(ConfigurationFileProvider.AppDataConfigurationDirectory).Parent;
3131
if (saveLocal)
32-
checkoutFolder = fs.DirectoryInfo.New(ConfigurationFileProvider.LocalConfigurationDirectory).Parent;
32+
checkoutFolder = fs.DirectoryInfo.New(ConfigurationFileProvider.LocalConfigurationDirectory);
3333
if (checkoutFolder is null)
3434
{
3535
collector.EmitGlobalError($"Unable to find checkout folder {checkoutFolder}");

0 commit comments

Comments
 (0)