Skip to content

Commit

Permalink
Merge pull request #54 from SIkebe/net8
Browse files Browse the repository at this point in the history
.NET 8
  • Loading branch information
SIkebe committed Dec 1, 2023
2 parents 6ca3e75 + ec24de8 commit f4c66c6
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 10 deletions.
20 changes: 20 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "C# (.NET)",
"image": "mcr.microsoft.com/devcontainers/dotnet:1-8.0",
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {
"installDirectlyFromGitHubRelease": true,
"version": "latest"
}
},
"customizations": {
"vscode": {
"extensions": [
"EditorConfig.EditorConfig",
"GitHub.copilot",
"GitHub.copilot-chat",
"ms-dotnettools.csharp"
]
}
}
}
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "7.0.202",
"version": "8.0.100",
"rollForward": "latestFeature"
}
}
19 changes: 13 additions & 6 deletions src/ShukujitsuSharp.Generator/Program.cs
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
using System.Globalization;
using System.Reflection;
using System.Text;
using ShukujitsuSharp;

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

#pragma warning disable CA2000
var client = new HttpClient();
var bytes = await client.GetByteArrayAsync("https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv");
#pragma warning restore CA2000

var bytes = await client.GetByteArrayAsync(new Uri("https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv"));
var csv = Encoding.GetEncoding("shift_jis").GetString(bytes);
var allShukujitsu = csv
.Split(Environment.NewLine)
.Skip(1) // Skip header
.Where(x => !string.IsNullOrEmpty(x)) // Skip the last empty line
.Select(x => x.Split(","))
.Select(x => new Shukujitsu(DateOnly.Parse(x[0]), x[1].Replace("\r", ""))); // Remove "CR"
.Select(x => new Shukujitsu(
DateOnly.Parse(x[0], CultureInfo.InvariantCulture),
x[1].Replace("\r", "", StringComparison.OrdinalIgnoreCase)
)); // Remove "CR"

var builder = new StringBuilder();
using var writer = new StringWriter(builder) { NewLine = "\n" };

writer.WriteLine("""
await writer.WriteLineAsync("""
// Code generated by ShukujitsuSharp.Generator; DO NOT EDIT.
namespace ShukujitsuSharp;

public partial class Shukujitsu
{
public static IEnumerable<Shukujitsu> Dates => new List<Shukujitsu>
Expand All @@ -29,10 +36,10 @@ public partial class Shukujitsu

foreach (var item in allShukujitsu)
{
writer.WriteLine(@$" new Shukujitsu(new DateOnly({item.Date.Year}, {item.Date.Month}, {item.Date.Day}), ""{item.Name}""),");
await writer.WriteLineAsync(@$" new Shukujitsu(new DateOnly({item.Date.Year}, {item.Date.Month}, {item.Date.Day}), ""{item.Name}""),");
}

writer.WriteLine("""
await writer.WriteLineAsync("""
};
}
""");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<RootNamespace>ShukujitsuSharp.Generator</RootNamespace>
<NoWarn>CA2234;CA2007</NoWarn>
</PropertyGroup>

<ItemGroup>
Expand Down
3 changes: 2 additions & 1 deletion src/ShukujitsuSharp.Tests/ShukujitsuSharp.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<IsPackable>false</IsPackable>
<NoWarn>CA1707</NoWarn>
</PropertyGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/ShukujitsuSharp/ShukujitsuSharp.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
<RootNamespace>ShukujitsuSharp</RootNamespace>
<Description>ShukujitsuSharp determines japanese holiday.</Description>
<Authors>SIkebe</Authors>
Expand Down

0 comments on commit f4c66c6

Please sign in to comment.