Skip to content

Commit 7f0699c

Browse files
committed
Migrate to use Devlead.Console
1 parent ad2b137 commit 7f0699c

File tree

4 files changed

+18
-60
lines changed

4 files changed

+18
-60
lines changed

src/Blobify.Tests/Blobify.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
<PackageReference Include="NUnit" />
3030
<PackageReference Include="NUnit3TestAdapter" />
3131
<PackageReference Include="Verify.NUnit" />
32-
<PackageReference Include="System.Text.Json" />
3332
</ItemGroup>
3433

3534
<ItemGroup>

src/Blobify/Blobify.csproj

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,9 @@
3333
<PackageReference Include="Azure.Identity" />
3434
<PackageReference Include="Cake.Bridge.DependencyInjection" />
3535
<PackageReference Include="Cake.Common" />
36+
<PackageReference Include="Devlead.Console" />
3637
<PackageReference Include="Microsoft.Extensions.Http" />
37-
<PackageReference Include="Microsoft.Extensions.Logging" />
38-
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
39-
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="all" />
40-
<PackageReference Include="Spectre.Console.Analyzer" PrivateAssets="all" />
41-
<PackageReference Include="Spectre.Console.Cli.Extensions.DependencyInjection" />
42-
<PackageReference Include="Spectre.Console.Cli" />
43-
<PackageReference Include="Spectre.Console" />
44-
<PackageReference Include="System.Linq.Async" />
4538
<PackageReference Include="MimeTypes" PrivateAssets="all" />
46-
<PackageReference Include="System.Text.Json" />
4739
</ItemGroup>
4840

4941
<ItemGroup>

src/Blobify/Program.cs

Lines changed: 16 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,13 @@
1-
using Microsoft.Extensions.Configuration.Memory;
2-
using Microsoft.Extensions.Configuration;
3-
using Spectre.Console.Cli.Extensions.DependencyInjection;
4-
using Azure.Core;
1+
using Azure.Core;
52
using Azure.Identity;
6-
using Blobify.Services.Storage;
73

8-
var serviceCollection = new ServiceCollection()
4+
public partial class Program
5+
{
6+
static partial void AddServices(IServiceCollection services)
7+
{
8+
services
99
.AddCakeCore()
10-
.AddLogging(configure =>
11-
configure
12-
.AddSimpleConsole(opts =>
13-
{
14-
opts.TimestampFormat = "yyyy-MM-dd HH:mm:ss ";
15-
})
16-
.AddConfiguration(
17-
new ConfigurationBuilder()
18-
.Add(new MemoryConfigurationSource
19-
{
20-
InitialData = new Dictionary<string, string?>
21-
{
22-
{ "LogLevel:System.Net.Http.HttpClient", "Warning" }
23-
}
24-
})
25-
.Build()
26-
))
10+
2711
.AddSingleton<AzureTokenService>(
2812
async (tenantId, scope) =>
2913
{
@@ -40,27 +24,18 @@
4024
}
4125
)
4226
.AddSingleton<ArchiveCommand>()
43-
.AddSingleton<TokenService>();
44-
45-
serviceCollection.AddHttpClient();
27+
.AddSingleton<Blobify.Services.Storage.TokenService>();
4628

47-
using var registrar = new DependencyInjectionRegistrar(serviceCollection);
48-
var app = new CommandApp(registrar);
29+
services.AddHttpClient();
30+
}
4931

50-
app.Configure(
51-
config =>
32+
// Configure commands
33+
static partial void ConfigureApp(AppServiceConfig appServiceConfig)
5234
{
53-
config.UseAssemblyInformationalVersion();
54-
config.SetApplicationName("blobify");
55-
config.ValidateExamples();
35+
appServiceConfig.SetApplicationName("blobify");
5636

57-
config.AddCommand<ArchiveCommand>("archive")
37+
appServiceConfig.AddCommand<ArchiveCommand>("archive")
5838
.WithDescription("Example Archive command.")
5939
.WithExample(["archive", "inputpath", "storageaccountname"]);
60-
61-
config.SetExceptionHandler(
62-
(ex, _) => AnsiConsole.WriteException(ex, ExceptionFormats.ShowLinks)
63-
);
64-
});
65-
66-
return await app.RunAsync(args);
40+
}
41+
}

src/Directory.Packages.props

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,15 @@
99
<PackageVersion Include="Cake.Common" Version="5.0.0" />
1010
<PackageVersion Include="Cake.Testing" Version="5.0.0" />
1111
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
12+
<PackageVersion Include="Devlead.Console" Version="2025.1.20.30" />
1213
<PackageVersion Include="Devlead.Testing.MockHttp" Version="2025.1.20.16" />
1314
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.1" />
14-
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.1" />
15-
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.1" />
1615
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
17-
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
1816
<PackageVersion Include="MimeTypes" Version="2.5.2" />
1917
<PackageVersion Include="NSubstitute" Version="5.3.0" />
2018
<PackageVersion Include="NUnit" Version="4.3.2" />
2119
<PackageVersion Include="NUnit.Analyzers" Version="4.6.0" />
2220
<PackageVersion Include="NUnit3TestAdapter" Version="4.6.0" />
23-
<PackageVersion Include="Spectre.Console" Version="0.49.1" />
24-
<PackageVersion Include="Spectre.Console.Analyzer" Version="1.0.0" />
25-
<PackageVersion Include="Spectre.Console.Cli" Version="0.49.1" />
26-
<PackageVersion Include="Spectre.Console.Cli.Extensions.DependencyInjection" Version="0.3.0" />
27-
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
28-
<PackageVersion Include="System.Text.Json" Version="9.0.1" />
2921
<PackageVersion Include="Verify.Http" Version="6.4.1" />
3022
<PackageVersion Include="Verify.NUnit" Version="28.9.0" />
3123
</ItemGroup>

0 commit comments

Comments
 (0)