Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
KyleKolander committed Oct 25, 2021
0 parents commit c45046a
Show file tree
Hide file tree
Showing 40 changed files with 3,598 additions and 0 deletions.
232 changes: 232 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
# Rules in this file were initially inferred by Visual Studio IntelliCode from the C:\Source\azure\net\mnm-net-mnm-lambda-rule-processor codebase based on best match to current usage at 1/11/2021
# You can modify the rules from these initially generated values to suit your own policies
# You can learn more about editorconfig here: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
[*.cs]


#Core editorconfig formatting - indentation

#use soft tabs (spaces) for indentation
indent_style=space

#Formatting - new line options

#place catch statements on a new line
csharp_new_line_before_catch=true
#require members of object intializers to be on separate lines
csharp_new_line_before_members_in_object_initializers=true
#require braces to be on a new line
csharp_new_line_before_open_brace=all

#Formatting - organize using options

#Formatting - spacing options

#require a space before the colon for bases or interfaces in a type declaration
csharp_space_after_colon_in_inheritance_clause=true
#require a space after a keyword in a control flow statement such as a for loop
csharp_space_after_keywords_in_control_flow_statements=true
#require a space before the colon for bases or interfaces in a type declaration
csharp_space_before_colon_in_inheritance_clause=true
#remove space within empty argument list parentheses
csharp_space_between_method_call_empty_parameter_list_parentheses=false
#remove space between method call name and opening parenthesis
csharp_space_between_method_call_name_and_opening_parenthesis=false
#do not place space characters after the opening parenthesis and before the closing parenthesis of a method call
csharp_space_between_method_call_parameter_list_parentheses=false
#remove space within empty parameter list parentheses for a method declaration
csharp_space_between_method_declaration_empty_parameter_list_parentheses=false
#place a space character after the opening parenthesis and before the closing parenthesis of a method declaration parameter list.
csharp_space_between_method_declaration_parameter_list_parentheses=false

#Formatting - wrapping options

#leave code block on single line
csharp_preserve_single_line_blocks=true
#leave statements and member declarations on the same line
csharp_preserve_single_line_statements=true

#Style - Code block preferences

#prefer curly braces

#Style - expression bodied member options

#prefer block bodies for accessors
csharp_style_expression_bodied_accessors=false:suggestion
#prefer block bodies for constructors
csharp_style_expression_bodied_constructors=false:suggestion
#prefer block bodies for methods
csharp_style_expression_bodied_methods=false:suggestion
#prefer block bodies for properties
csharp_style_expression_bodied_properties=false:suggestion

#Style - expression level options

#prefer out variables to be declared inline in the argument list of a method call when possible
csharp_style_inlined_variable_declaration=true:suggestion
#prefer tuple names to ItemX properties
dotnet_style_explicit_tuple_names=true:suggestion
#prefer the language keyword for member access expressions, instead of the type name, for types that have a keyword to represent them
dotnet_style_predefined_type_for_member_access=true:suggestion

#Style - Expression-level preferences

#prefer objects to be initialized using object initializers when possible
dotnet_style_object_initializer=true:suggestion
#prefer inferred tuple element names
dotnet_style_prefer_inferred_tuple_names=true:suggestion

#Style - implicit and explicit types

#prefer var over explicit type in all cases, unless overridden by another code style rule
csharp_style_var_elsewhere=true:suggestion
#prefer var is used to declare variables with built-in system types such as int
csharp_style_var_for_built_in_types=true:suggestion
#prefer var when the type is already mentioned on the right-hand side of a declaration expression
csharp_style_var_when_type_is_apparent=true:suggestion

#Style - language keyword and framework type options

#prefer the language keyword for local variables, method parameters, and class members, instead of the type name, for types that have a keyword to represent them
dotnet_style_predefined_type_for_locals_parameters_members=true:suggestion

#Style - modifier options

#prefer accessibility modifiers to be declared except for public interface members. This will currently not differ from always and will act as future proofing for if C# adds default interface methods.
dotnet_style_require_accessibility_modifiers=for_non_interface_members:suggestion

#Style - Modifier preferences

#when this rule is set to a list of modifiers, prefer the specified ordering.
csharp_preferred_modifier_order=public, private, protected, internal, new, abstract, virtual, sealed, override, static, readonly, extern, unsafe, volatile, async:none

#Style - Pattern matching

#prefer pattern matching instead of is expression with type casts
csharp_style_pattern_matching_over_as_with_null_check=true:suggestion

#Style - qualification options

#prefer fields not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_field=false:suggestion
#prefer methods not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_method=false:suggestion
#prefer properties not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_property=false:suggestion

# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first=true

# Microsoft .NET properties
csharp_space_after_cast=false
dotnet_style_parentheses_in_arithmetic_binary_operators=never_if_unnecessary:none
dotnet_style_parentheses_in_other_binary_operators=never_if_unnecessary:none
dotnet_style_parentheses_in_relational_binary_operators=never_if_unnecessary:none
dotnet_style_qualification_for_event=false:suggestion

# ReSharper properties
resharper_accessor_owner_body=expression_body
resharper_align_first_arg_by_paren=true
resharper_align_linq_query=true
resharper_align_multiline_argument=true
resharper_align_multiline_array_and_object_initializer=true
resharper_align_multiline_calls_chain=true
resharper_align_multiline_expression=true
resharper_align_multiline_extends_list=true
resharper_align_multiline_for_stmt=true
resharper_align_multiline_switch_expression=true
resharper_align_multline_type_parameter_constrains=true
resharper_align_multline_type_parameter_list=true
resharper_align_tuple_components=true
resharper_apply_on_completion=true
resharper_blank_lines_after_block_statements=0
resharper_braces_for_for=required
resharper_braces_for_foreach=required
resharper_braces_for_ifelse=required
resharper_braces_for_while=required
resharper_braces_redundant=false
resharper_csharp_align_multiline_parameter=true
resharper_csharp_align_multiple_declaration=true
resharper_csharp_allow_far_alignment=true
resharper_csharp_keep_blank_lines_in_code=1
resharper_csharp_keep_blank_lines_in_declarations=1
resharper_csharp_stick_comment=false
resharper_csharp_wrap_before_binary_opsign=true
resharper_csharp_wrap_before_comma=true
resharper_csharp_wrap_chained_method_calls=chop_if_long
resharper_csharp_wrap_for_stmt_header_style=wrap_if_long
resharper_csharp_wrap_lines=false
resharper_csharp_wrap_multiple_declaration_style=wrap_if_long
resharper_csharp_wrap_ternary_expr_style=wrap_if_long
resharper_indent_anonymous_method_block=true
resharper_indent_method_decl_pars=outside
resharper_indent_nested_foreach_stmt=true
resharper_indent_nested_for_stmt=true
resharper_indent_nested_while_stmt=true
resharper_int_align_assignments=true
resharper_int_align_comments=true
resharper_int_align_nested_ternary=true
resharper_int_align_switch_expressions=true
resharper_int_align_switch_sections=true
resharper_keep_existing_declaration_block_arrangement=false
resharper_keep_existing_embedded_arrangement=false
resharper_keep_existing_embedded_block_arrangement=false
resharper_keep_existing_enum_arrangement=false
resharper_keep_existing_invocation_parens_arrangement=false
resharper_keep_existing_switch_expression_arrangement=false
resharper_max_enum_members_on_line=1
resharper_max_initializer_elements_on_line=1
resharper_outdent_binary_ops=true
resharper_outdent_commas=true
resharper_outdent_dots=true
resharper_place_expr_accessor_on_single_line=true
resharper_place_expr_method_on_single_line=true
resharper_place_expr_property_on_single_line=true
resharper_place_simple_embedded_statement_on_same_line=true
resharper_use_heuristics_for_body_style=true
resharper_wrap_linq_expressions=chop_always
resharper_wrap_multiple_type_parameter_constraints_style=chop_always
resharper_wrap_object_and_collection_initializer_style=chop_always

# ReSharper inspection severities
resharper_arrange_constructor_or_destructor_body_highlighting=none
resharper_arrange_method_or_operator_body_highlighting=none
resharper_arrange_redundant_parentheses_highlighting=hint
resharper_arrange_this_qualifier_highlighting=hint
resharper_arrange_type_member_modifiers_highlighting=hint
resharper_arrange_type_modifiers_highlighting=hint
resharper_built_in_type_reference_style_for_member_access_highlighting=hint
resharper_built_in_type_reference_style_highlighting=hint
resharper_class_with_virtual_members_never_inherited_global_highlighting=none
resharper_class_with_virtual_members_never_inherited_local_highlighting=none
resharper_enforce_do_while_statement_braces_highlighting=error
resharper_enforce_fixed_statement_braces_highlighting=error
resharper_enforce_foreach_statement_braces_highlighting=error
resharper_enforce_for_statement_braces_highlighting=error
resharper_enforce_if_statement_braces_highlighting=error
resharper_enforce_lock_statement_braces_highlighting=error
resharper_enforce_using_statement_braces_highlighting=error
resharper_enforce_while_statement_braces_highlighting=error
resharper_redundant_base_qualifier_highlighting=warning
resharper_suggest_var_or_type_built_in_types_highlighting=hint
resharper_suggest_var_or_type_elsewhere_highlighting=hint
resharper_suggest_var_or_type_simple_types_highlighting=hint
resharper_virtual_member_never_overridden_global_highlighting=none
resharper_virtual_member_never_overridden_local_highlighting=none


[*.{appxmanifest,axml,build,config,csproj,dbml,discomap,dtd,jsproj,lsproj,njsproj,nuspec,proj,props,proto,resw,resx,StyleCop,targets,tasks,vbproj,xml,xsd}]
indent_style=tab
indent_size=tab
tab_width=4

[*.{asax,ascx,aspx,cs,cshtml,css,htm,html,js,jsx,master,razor,skin,ts,tsx,vb,xaml,xamlx,xoml}]
indent_style=space
indent_size=4
tab_width=4

[*.{json,resjson}]
indent_style=space
indent_size=2
tab_width=2
88 changes: 88 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: CI

on:
push:
branches: [ main ]

env:
buildConfiguration: Release
outDirPack: nupkgs
outDirPublish: publish
csprojPathCore: src/Core/Core.csproj
csprojPathSummarizer: src/Summarizer/Summarizer.csproj
DOTNET_NOLOGO: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: true

jobs:
build:
strategy:
matrix:
kind: ['linux', 'windows', 'macOS']
include:
- kind: linux
os: ubuntu-latest
target: linux-x64
- kind: windows
os: windows-latest
target: win-x64
- kind: macOS
os: macos-latest
target: osx-x64
runs-on: ${{ matrix.os }}

steps:
- name: checkout repository
uses: actions/checkout@v2

- name: setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.x

- name: dotnet info
run: dotnet --info

- name: set Version
shell: bash
run: |
version=0.0.$GITHUB_RUN_NUMBER
echo "version=$version" >> $GITHUB_ENV
echo "version = $version"
sed -i -r "s|<Version>([0-9]+\.[0-9]+\.[0-9]+)</Version>|<Version>$version</Version>|g" src/Directory.Build.props
cat src/Directory.Build.props
- name: dotnet restore
run: dotnet restore --verbosity minimal -graphBuild:true

- name: dotnet build
run: dotnet build --configuration ${{ env.buildConfiguration }} --runtime ${{ matrix.target }} --no-restore --nologo --verbosity minimal -graphBuild:true

- name: dotnet test
run: dotnet test --configuration ${{ env.buildConfiguration }} --runtime ${{ matrix.target }} --no-build --nologo --verbosity normal

- name: upload dotnet test results
uses: actions/upload-artifact@v2
with:
name: Integration TestResults ${{ matrix.os }}
path: test/TestResults/Integration_TestResults.*

- name: dotnet pack
if: matrix.os == 'ubuntu-latest'
run: dotnet pack --configuration ${{ env.buildConfiguration }} --runtime ${{ matrix.target }} --nologo --include-symbols --include-source --output ${{ env.outDirPack }} ${{ env.csprojPathCore }}

- name: upload NuGet package
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v2
with:
name: NuGetUtilities.Core NuGet package
path: ${{ env.outDirPack }}/*.nupkg

- name: dotnet publish Summarizer ${{ matrix.os }}
run: dotnet publish ${{ env.csprojPathSummarizer }} --output "${{ env.outDirPublish }}/Summarizer-${{ env.version }}-${{ matrix.target }}" --runtime ${{ matrix.target }} --configuration ${{ env.buildConfiguration }} --no-build --nologo --self-contained false -p:PublishSingleFile=true

- name: upload Summarizer-${{ env.version }}-${{ matrix.target }}
uses: actions/upload-artifact@v2
with:
name: Summarizer-${{ env.version }}-${{ matrix.target }}
path: ${{ env.outDirPublish }}/Summarizer-${{ env.version }}-${{ matrix.target }}/*
Loading

0 comments on commit c45046a

Please sign in to comment.