-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1e57785
Showing
58 changed files
with
4,242 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
# editorconfig.org | ||
|
||
# top-most EditorConfig file | ||
root = true | ||
|
||
# Default settings: | ||
# A newline ending every file | ||
# Use 4 spaces as indentation | ||
[*] | ||
insert_final_newline = true | ||
indent_style = space | ||
indent_size = 4 | ||
trim_trailing_whitespace = true | ||
|
||
# Generated code | ||
[*{_AssemblyInfo.cs,.notsupported.cs,AsmOffsets.cs}] | ||
generated_code = true | ||
|
||
# C# files | ||
[*.cs] | ||
# New line preferences | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_between_query_expression_clauses = true | ||
|
||
# Indentation preferences | ||
csharp_indent_block_contents = true | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents = true | ||
csharp_indent_case_contents_when_block = false | ||
csharp_indent_switch_labels = true | ||
csharp_indent_labels = one_less_than_current | ||
|
||
# Modifier preferences | ||
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:suggestion | ||
|
||
# avoid this. unless absolutely necessary | ||
dotnet_style_qualification_for_field = false:suggestion | ||
dotnet_style_qualification_for_property = false:suggestion | ||
dotnet_style_qualification_for_method = false:suggestion | ||
dotnet_style_qualification_for_event = false:suggestion | ||
|
||
# Types: use keywords instead of BCL types, and permit var only when the type is clear | ||
csharp_style_var_for_built_in_types = false:suggestion | ||
csharp_style_var_when_type_is_apparent = false:none | ||
csharp_style_var_elsewhere = false:suggestion | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | ||
dotnet_style_predefined_type_for_member_access = true:suggestion | ||
|
||
# name all constant fields using PascalCase | ||
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields | ||
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style | ||
dotnet_naming_symbols.constant_fields.applicable_kinds = field | ||
dotnet_naming_symbols.constant_fields.required_modifiers = const | ||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | ||
|
||
# static fields should have s_ prefix | ||
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion | ||
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields | ||
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style | ||
dotnet_naming_symbols.static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.static_fields.required_modifiers = static | ||
dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected | ||
dotnet_naming_style.static_prefix_style.required_prefix = s_ | ||
dotnet_naming_style.static_prefix_style.capitalization = camel_case | ||
|
||
# internal and private fields should be _camelCase | ||
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion | ||
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields | ||
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style | ||
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field | ||
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal | ||
dotnet_naming_style.camel_case_underscore_style.required_prefix = _ | ||
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case | ||
|
||
# Code style defaults | ||
csharp_using_directive_placement = outside_namespace:suggestion | ||
dotnet_sort_system_directives_first = true | ||
csharp_prefer_braces = true:silent | ||
csharp_preserve_single_line_blocks = true:none | ||
csharp_preserve_single_line_statements = false:none | ||
csharp_prefer_static_local_function = true:suggestion | ||
csharp_prefer_simple_using_statement = false:none | ||
csharp_style_prefer_switch_expression = true:suggestion | ||
dotnet_style_readonly_field = true:suggestion | ||
|
||
# Expression-level preferences | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_prefer_collection_expression = when_types_exactly_match | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
|
||
# Expression-bodied members | ||
csharp_style_expression_bodied_methods = true:silent | ||
csharp_style_expression_bodied_constructors = true:silent | ||
csharp_style_expression_bodied_operators = true:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_accessors = true:silent | ||
csharp_style_expression_bodied_lambdas = true:silent | ||
csharp_style_expression_bodied_local_functions = true:silent | ||
|
||
# Pattern matching | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
|
||
# Null checking preferences | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
|
||
# Other features | ||
csharp_style_prefer_index_operator = false:none | ||
csharp_style_prefer_range_operator = false:none | ||
csharp_style_pattern_local_over_anonymous_function = false:none | ||
|
||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_after_comma = true | ||
csharp_space_after_dot = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_after_semicolon_in_for_statement = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_around_declaration_statements = do_not_ignore | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_before_comma = false | ||
csharp_space_before_dot = false | ||
csharp_space_before_open_square_brackets = false | ||
csharp_space_before_semicolon_in_for_statement = false | ||
csharp_space_between_empty_square_brackets = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_name_and_open_parenthesis = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_between_square_brackets = false | ||
|
||
# License header | ||
file_header_template = Licensed to the .NET Foundation under one or more agreements.\nThe .NET Foundation licenses this file to you under the MIT license. | ||
|
||
# C++ Files | ||
[*.{cpp,h,in}] | ||
curly_bracket_next_line = true | ||
indent_brace_style = Allman | ||
|
||
# Xml project files | ||
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}] | ||
indent_size = 2 | ||
|
||
[*.{csproj,vbproj,proj,nativeproj,locproj}] | ||
charset = utf-8 | ||
|
||
# Xml build files | ||
[*.builds] | ||
indent_size = 2 | ||
|
||
# Xml files | ||
[*.{xml,stylecop,resx,ruleset}] | ||
indent_size = 2 | ||
|
||
# Xml config files | ||
[*.{props,targets,config,nuspec}] | ||
indent_size = 2 | ||
|
||
# YAML config files | ||
[*.{yml,yaml}] | ||
indent_size = 2 | ||
|
||
# Shell scripts | ||
[*.sh] | ||
end_of_line = lf | ||
[*.{cmd,bat}] | ||
end_of_line = crlf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
* text=auto eol=lf | ||
*.csproj text=auto eol=crlf | ||
|
||
*.enc binary | ||
*.eot binary | ||
*.ico binary | ||
*.jpg binary | ||
*.otf binary | ||
*.pem binary | ||
*.pfx binary | ||
*.png binary | ||
*.ttf binary | ||
*.woff binary | ||
*.woff2 binary | ||
*.pfx binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
blank_issues_enabled: false | ||
contact_links: | ||
- name: Chat | ||
url: https://slack.nats.io | ||
about: Ideal for short, one-off questions, general conversation, and meeting other NATS users! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
name: Defect | ||
description: Report a defect, such as a bug or regression. | ||
labels: | ||
- defect | ||
body: | ||
- type: textarea | ||
id: observed | ||
attributes: | ||
label: Observed behavior | ||
description: Describe the unexpected behavior or performance regression you are observing. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: expected | ||
attributes: | ||
label: Expected behavior | ||
description: Describe the expected behavior or performance characteristics. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: versions | ||
attributes: | ||
label: Library version | ||
description: |- | ||
Provide the version you were using when the detect was observed. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: environment | ||
attributes: | ||
label: Host environment | ||
description: |- | ||
Specify any relevant details about the host environment the library was running in, | ||
such as operating system, CPU architecture, container runtime, etc. | ||
validations: | ||
required: false | ||
- type: textarea | ||
id: steps | ||
attributes: | ||
label: Steps to reproduce | ||
description: Provide as many concrete steps to reproduce the defect. | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
name: Proposal | ||
description: Propose an enhancement or new feature. | ||
labels: | ||
- proposal | ||
body: | ||
- type: textarea | ||
id: change | ||
attributes: | ||
label: Proposed change | ||
description: This could be a behavior change, enhanced API, or a new feature. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: usecase | ||
attributes: | ||
label: Use case | ||
description: What is the use case or general motivation for this proposal? | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: contribute | ||
attributes: | ||
label: Contribution | ||
description: |- | ||
Are you intending or interested in contributing code for this proposal if accepted? | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
name: Format | ||
|
||
on: | ||
pull_request: {} | ||
|
||
# to be removed. only needed for the initial setup. running on pull requests is enough. | ||
push: { branches: [ main ] } | ||
|
||
jobs: | ||
check: | ||
name: check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup dotnet | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '8.x' | ||
|
||
- name: Check formatting | ||
run: | | ||
if dotnet format --verify-no-changes; then | ||
echo "formatting passed" | ||
else | ||
rc="$?" | ||
echo "formatting failed; run 'dotnet format'" >&2 | ||
# exit "$rc" | ||
exit 0 # to be removed | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
name: Release | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
nuget: | ||
name: dotnet | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- id: tag | ||
name: Determine tag | ||
run: | | ||
version="$(head -n 1 version.txt)" | ||
ref_name="v$version" | ||
create=true | ||
if [ "$(git ls-remote origin "refs/tags/$ref_name" | wc -l)" = "1" ]; then | ||
create=false | ||
fi | ||
echo "version=$version" | tee -a "$GITHUB_OUTPUT" | ||
echo "ref-name=$ref_name" | tee -a "$GITHUB_OUTPUT" | ||
echo "create=$create" | tee -a "$GITHUB_OUTPUT" | ||
- if: ${{ fromJSON(steps.tag.outputs.create) }} | ||
name: Setup dotnet | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '8.x' | ||
|
||
- if: ${{ fromJSON(steps.tag.outputs.create) }} | ||
name: Pack | ||
# https://learn.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg | ||
# https://devblogs.microsoft.com/dotnet/producing-packages-with-source-link/ | ||
run: dotnet pack -c Release -o dist -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg -p:ContinuousIntegrationBuild=true | ||
|
||
- if: ${{ fromJSON(steps.tag.outputs.create) }} | ||
name: Push | ||
run: | | ||
cd dist | ||
ls -lh | ||
# this should upload snupkgs in the same folder | ||
# TODO: Uncomment the following line | ||
# dotnet nuget push *.nupkg -s https://api.nuget.org/v3/index.json -k "${{ secrets.NUGET_API_KEY }}" --skip-duplicate | ||
- if: ${{ fromJSON(steps.tag.outputs.create) }} | ||
name: Tag | ||
run: | | ||
git tag "${{ steps.tag.outputs.ref-name }}" | ||
git push origin "${{ steps.tag.outputs.ref-name }}" |
Oops, something went wrong.