Skip to content

Commit 54aee36

Browse files
committed
feat: Initial implementation
0 parents  commit 54aee36

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2149
-0
lines changed

.editorconfig

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
root = true
2+
3+
[*]
4+
5+
# Default properties
6+
charset = utf-8
7+
end_of_line = crlf
8+
trim_trailing_whitespace = false
9+
insert_final_newline = false
10+
indent_style = space
11+
indent_size = 2
12+
13+
[{*.cs,*.cshtml,*.razor}]
14+
15+
# CSharp properties
16+
trim_trailing_whitespace = true
17+
insert_final_newline = true
18+
indent_size = 4
19+
max_line_length = 140
20+
21+
# Microsoft .NET properties
22+
csharp_new_line_before_members_in_object_initializers = true
23+
csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion
24+
csharp_style_expression_bodied_accessors = true:suggestion
25+
csharp_style_expression_bodied_methods = true:none
26+
csharp_style_expression_bodied_properties = true:suggestion
27+
csharp_style_var_elsewhere = true:suggestion
28+
csharp_style_var_for_built_in_types = true:suggestion
29+
csharp_style_var_when_type_is_apparent = true:suggestion
30+
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none
31+
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:none
32+
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
33+
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
34+
dotnet_style_predefined_type_for_member_access = true:suggestion
35+
dotnet_style_qualification_for_event = false:suggestion
36+
dotnet_style_qualification_for_field = false:suggestion
37+
dotnet_style_qualification_for_method = false:suggestion
38+
dotnet_style_qualification_for_property = false:suggestion
39+
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
40+
41+
# ReSharper properties
42+
resharper_blank_lines_after_multiline_statements = 1
43+
resharper_blank_lines_around_single_line_auto_property = 1
44+
resharper_blank_lines_before_block_statements = 1
45+
resharper_blank_lines_before_control_transfer_statements = 1
46+
resharper_blank_lines_before_multiline_statements = 1
47+
resharper_blank_lines_before_single_line_comment = 1
48+
resharper_braces_for_using = required_for_multiline
49+
resharper_braces_for_while = required_for_multiline
50+
resharper_csharp_blank_lines_around_single_line_invocable = 1
51+
resharper_csharp_empty_block_style = together_same_line
52+
resharper_csharp_place_type_constraints_on_same_line = false
53+
resharper_csharp_trailing_comma_in_multiline_lists = true
54+
resharper_csharp_trailing_comma_in_singleline_lists = false
55+
resharper_csharp_wrap_after_declaration_lpar = true
56+
resharper_csharp_wrap_arguments_style = chop_if_long
57+
resharper_csharp_wrap_extends_list_style = chop_if_long
58+
resharper_csharp_wrap_multiple_type_parameter_constraints_style = chop_always
59+
resharper_csharp_wrap_object_and_collection_initializer_style = chop_always
60+
resharper_csharp_wrap_parameters_style = chop_if_long
61+
resharper_csharp_wrap_ternary_expr_style = chop_always
62+
resharper_indent_preprocessor_if = usual_indent
63+
resharper_instance_members_qualify_declared_in = base_class
64+
resharper_keep_existing_declaration_parens_arrangement = false
65+
resharper_keep_existing_embedded_arrangement = false
66+
resharper_keep_existing_expr_member_arrangement = false
67+
resharper_keep_existing_invocation_parens_arrangement = false
68+
resharper_keep_existing_linebreaks = false
69+
resharper_keep_existing_list_patterns_arrangement = false
70+
resharper_keep_existing_primary_constructor_declaration_parens_arrangement = false
71+
resharper_keep_existing_property_patterns_arrangement = false
72+
resharper_csharp_keep_existing_linebreaks = false
73+
resharper_nested_ternary_style = expanded
74+
resharper_object_creation_when_type_not_evident = target_typed
75+
resharper_place_accessorholder_attribute_on_same_line = false
76+
resharper_place_expr_method_on_single_line = false
77+
resharper_place_simple_embedded_statement_on_same_line = false
78+
resharper_place_simple_list_pattern_on_single_line = true
79+
resharper_trailing_comma_in_multiline_lists = true
80+
resharper_wrap_after_property_in_chained_method_calls = true
81+
resharper_wrap_before_first_method_call = true
82+
resharper_wrap_before_primary_constructor_declaration_rpar = true
83+
resharper_wrap_chained_binary_expressions = chop_if_long
84+
resharper_wrap_chained_binary_patterns = chop_if_long
85+
resharper_wrap_chained_method_calls = chop_always
86+
resharper_wrap_list_pattern = chop_if_long
87+
88+
# Verify settings
89+
[*.{received,verified}.{txt,xml,json}]
90+
end_of_line = lf
91+
indent_size = unset
92+
indent_style = unset
93+
tab_width = unset

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: 2
2+
3+
registries:
4+
nuget:
5+
type: nuget-feed
6+
url: https://api.nuget.org/v3/index.json
7+
8+
updates:
9+
- package-ecosystem: "nuget"
10+
target-branch: "main"
11+
directory: "/"
12+
registries:
13+
- nuget
14+
groups:
15+
nuget-deps:
16+
patterns:
17+
- "*"
18+
open-pull-requests-limit: 10
19+
schedule:
20+
interval:
21+
weekly

.github/workflows/Build.yml

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
name: Build
2+
3+
on:
4+
workflow_dispatch:
5+
release:
6+
types: [ released ]
7+
8+
push:
9+
branches:
10+
- 'main'
11+
12+
jobs:
13+
14+
SetupBuildInfo:
15+
runs-on: ubuntu-latest
16+
outputs:
17+
build-id: ${{ steps.SetupBuildInfo.outputs.build-id }}
18+
build-version: ${{ steps.SetupBuildInfo.outputs.build-version }}
19+
build-timestamp: ${{ steps.SetupBuildInfo.outputs.build-timestamp }}
20+
steps:
21+
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0
26+
- uses: actions/setup-dotnet@v4
27+
with:
28+
dotnet-version: '9.0.x'
29+
30+
- name: SetupBuildInfo
31+
id: SetupBuildInfo
32+
run: dotnet run --project _atom/_atom.csproj SetupBuildInfo --skip --headless
33+
34+
PackFileLogging:
35+
runs-on: ubuntu-latest
36+
steps:
37+
38+
- name: Checkout
39+
uses: actions/checkout@v4
40+
with:
41+
fetch-depth: 0
42+
- uses: actions/setup-dotnet@v4
43+
with:
44+
dotnet-version: '9.0.x'
45+
46+
- name: PackFileLogging
47+
id: PackFileLogging
48+
run: dotnet run --project _atom/_atom.csproj PackFileLogging --skip --headless
49+
50+
- name: Upload DecSm.Extensions.Logging.File
51+
uses: actions/upload-artifact@v4
52+
with:
53+
name: DecSm.Extensions.Logging.File
54+
path: "${{ github.workspace }}/.github/publish/DecSm.Extensions.Logging.File"
55+
56+
TestFileLogging:
57+
runs-on: ubuntu-latest
58+
steps:
59+
60+
- name: Checkout
61+
uses: actions/checkout@v4
62+
with:
63+
fetch-depth: 0
64+
- uses: actions/setup-dotnet@v4
65+
with:
66+
dotnet-version: '9.0.x'
67+
68+
- name: TestFileLogging
69+
id: TestFileLogging
70+
run: dotnet run --project _atom/_atom.csproj TestFileLogging --skip --headless
71+
72+
- name: Upload DecSm.Extensions.Logging.File.UnitTests
73+
uses: actions/upload-artifact@v4
74+
with:
75+
name: DecSm.Extensions.Logging.File.UnitTests
76+
path: "${{ github.workspace }}/.github/publish/DecSm.Extensions.Logging.File.UnitTests"
77+
78+
PushToNuget:
79+
needs: [ PackFileLogging ]
80+
runs-on: ubuntu-latest
81+
steps:
82+
83+
- name: Checkout
84+
uses: actions/checkout@v4
85+
with:
86+
fetch-depth: 0
87+
- uses: actions/setup-dotnet@v4
88+
with:
89+
dotnet-version: '9.0.x'
90+
91+
- name: Download DecSm.Extensions.Logging.File
92+
uses: actions/download-artifact@v4
93+
with:
94+
name: DecSm.Extensions.Logging.File
95+
path: "${{ github.workspace }}/.github/artifacts/DecSm.Extensions.Logging.File"
96+
97+
- name: PushToNuget
98+
id: PushToNuget
99+
run: dotnet run --project _atom/_atom.csproj PushToNuget --skip --headless
100+
env:
101+
nuget-push-api-key: ${{ secrets.NUGET_PUSH_API_KEY }}
102+
103+
PushToRelease:
104+
needs: [ PackFileLogging ]
105+
runs-on: ubuntu-latest
106+
steps:
107+
108+
- name: Checkout
109+
uses: actions/checkout@v4
110+
with:
111+
fetch-depth: 0
112+
- uses: actions/setup-dotnet@v4
113+
with:
114+
dotnet-version: '9.0.x'
115+
116+
- name: Download DecSm.Extensions.Logging.File
117+
uses: actions/download-artifact@v4
118+
with:
119+
name: DecSm.Extensions.Logging.File
120+
path: "${{ github.workspace }}/.github/artifacts/DecSm.Extensions.Logging.File"
121+
122+
- name: PushToRelease
123+
id: PushToRelease
124+
run: dotnet run --project _atom/_atom.csproj PushToRelease --skip --headless
125+
env:
126+
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/Validate.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Validate
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
branches:
7+
- 'main'
8+
9+
jobs:
10+
11+
SetupBuildInfo:
12+
runs-on: ubuntu-latest
13+
outputs:
14+
build-id: ${{ steps.SetupBuildInfo.outputs.build-id }}
15+
build-version: ${{ steps.SetupBuildInfo.outputs.build-version }}
16+
build-timestamp: ${{ steps.SetupBuildInfo.outputs.build-timestamp }}
17+
steps:
18+
19+
- name: Checkout
20+
uses: actions/checkout@v4
21+
with:
22+
fetch-depth: 0
23+
- uses: actions/setup-dotnet@v4
24+
with:
25+
dotnet-version: '9.0.x'
26+
27+
- name: SetupBuildInfo
28+
id: SetupBuildInfo
29+
run: dotnet run --project _atom/_atom.csproj SetupBuildInfo --skip --headless
30+
31+
PackFileLogging:
32+
runs-on: ubuntu-latest
33+
steps:
34+
35+
- name: Checkout
36+
uses: actions/checkout@v4
37+
with:
38+
fetch-depth: 0
39+
- uses: actions/setup-dotnet@v4
40+
with:
41+
dotnet-version: '9.0.x'
42+
43+
- name: PackFileLogging
44+
id: PackFileLogging
45+
run: dotnet run --project _atom/_atom.csproj PackFileLogging --skip --headless
46+
47+
TestFileLogging:
48+
runs-on: ubuntu-latest
49+
steps:
50+
51+
- name: Checkout
52+
uses: actions/checkout@v4
53+
with:
54+
fetch-depth: 0
55+
- uses: actions/setup-dotnet@v4
56+
with:
57+
dotnet-version: '9.0.x'
58+
59+
- name: TestFileLogging
60+
id: TestFileLogging
61+
run: dotnet run --project _atom/_atom.csproj TestFileLogging --skip --headless
62+
63+
- name: Upload DecSm.Extensions.Logging.File.UnitTests
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: DecSm.Extensions.Logging.File.UnitTests
67+
path: "${{ github.workspace }}/.github/publish/DecSm.Extensions.Logging.File.UnitTests"

0 commit comments

Comments
 (0)