Skip to content

Commit 92b9b0e

Browse files
authored
Merge pull request AzureCosmosDB#20 from AzureCosmosDB/develop
Updating settings file loading behavior
2 parents dff0877 + 38f3939 commit 92b9b0e

File tree

5 files changed

+32
-30
lines changed

5 files changed

+32
-30
lines changed

Core/Cosmos.DataTransfer.Core/Cosmos.DataTransfer.Core.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
</ItemGroup>
2828

2929
<ItemGroup>
30+
<None Update="appsettings.Development.json">
31+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
32+
</None>
3033
<None Update="migrationsettings.json">
3134
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
3235
</None>

Core/Cosmos.DataTransfer.Core/Program.cs

+12-1
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,19 @@ public static async Task<int> Main(string[] args)
4949
var parser = cmdlineBuilder.UseHost(_ => Host.CreateDefaultBuilder(args),
5050
builder =>
5151
{
52-
builder.ConfigureAppConfiguration(cfg =>
52+
builder.ConfigureAppConfiguration((hostContext, cfg) =>
5353
{
54+
var exeFolder = AppContext.BaseDirectory;
55+
var appsettings = Path.Combine(exeFolder, "appsettings.json");
56+
if (File.Exists(appsettings))
57+
{
58+
cfg.AddJsonFile(appsettings);
59+
}
60+
var appsettingsEnv = Path.Combine(exeFolder, $"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json");
61+
if (File.Exists(appsettingsEnv))
62+
{
63+
cfg.AddJsonFile(appsettingsEnv);
64+
}
5465
cfg.AddUserSecrets<Program>();
5566
}).ConfigureServices((hostContext, services) =>
5667
{

Core/Cosmos.DataTransfer.Core/RunCommand.cs

+6-4
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,9 @@ private IConfiguration BuildSettingsConfiguration(IConfiguration configuration,
179179
IConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
180180
if (!string.IsNullOrEmpty(settingsPath) && File.Exists(settingsPath))
181181
{
182-
_logger.LogInformation("Settings loading from file at configured path '{FilePath}'.", settingsPath);
183-
configurationBuilder = configurationBuilder.AddJsonFile(settingsPath);
182+
var fullFilePath = Path.GetFullPath(settingsPath);
183+
_logger.LogInformation("Settings loading from file at configured path '{FilePath}'.", fullFilePath);
184+
configurationBuilder = configurationBuilder.AddJsonFile(fullFilePath);
184185
}
185186
else if (promptForFile)
186187
{
@@ -189,8 +190,9 @@ private IConfiguration BuildSettingsConfiguration(IConfiguration configuration,
189190
cancellationToken.ThrowIfCancellationRequested();
190191
if (!string.IsNullOrWhiteSpace(path))
191192
{
192-
_logger.LogInformation("Settings loading from file at entered path '{FilePath}'.", settingsPath);
193-
configurationBuilder = configurationBuilder.AddJsonFile(path);
193+
var fullFilePath = Path.GetFullPath(path);
194+
_logger.LogInformation("Settings loading from file at entered path '{FilePath}'.", fullFilePath);
195+
configurationBuilder = configurationBuilder.AddJsonFile(fullFilePath);
194196
}
195197
}
196198

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.Hosting": "Warning"
6+
}
7+
},
8+
"ExtensionsPath": null,
9+
"SettingsPath": "migrationsettings.json"
10+
}

Core/Cosmos.DataTransfer.Core/appsettings.json

+1-25
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,5 @@
66
}
77
},
88
"ExtensionsPath": null,
9-
"SettingsPath": "migrationsettings.json",
10-
"JsonSourceSettings": {
11-
},
12-
"JsonSinkSettings": {
13-
},
14-
"Cosmos-NoSqlSourceSettings": {
15-
"ConnectionString": "<Add in User Secrets>"
16-
},
17-
"Cosmos-NoSqlSinkSettings": {
18-
"ConnectionString": "<Add in User Secrets>"
19-
},
20-
"MongoSourceSettings": {
21-
},
22-
"MongoSinkSettings": {
23-
},
24-
"AzureTableAPISourceSettings": {
25-
},
26-
"AzureTableAPISinkSettings": {
27-
},
28-
"SqlServerSourceSettings": {
29-
"ConnectionString": "<Add in User Secrets>"
30-
},
31-
"SqlServerSinkSettings": {
32-
"ConnectionString": "<Add in User Secrets>"
33-
}
9+
"SettingsPath": "migrationsettings.json"
3410
}

0 commit comments

Comments
 (0)