forked from MochiLibraries/ClangSharp.Pathogen
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revamped package versioning, added NuGet.org publishing, did general …
…cleanup. * Added .editorconfig * Added publishing to NuGet.org * Completely tore out "smart" versioning system (it was more trouble than it was wroth.) * Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata. * Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.) * Removed VersionPrefix from both projects. (We don't really support them shipping separately.) * Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder * Modified Directory.Build.* pattern to match Biohazrd. * Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.) * Added building to central bin/obj folders. * Enabled error if there's no NuGet packages to upload. * Changed the BuildOutput artifact to be less aggressive and to upload even when building failed. * Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd. Fixes MochiLibraries#3 Contributes to MochiLibraries/Biohazrd#214
- Loading branch information
1 parent
8b2e6a2
commit fe3d23b
Showing
16 changed files
with
490 additions
and
330 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,259 @@ | ||
root = true | ||
|
||
[*] | ||
indent_style = space | ||
|
||
#-------------------------------------------------------------------------------------------------- | ||
# XML and JSON files | ||
#-------------------------------------------------------------------------------------------------- | ||
[*.{xml,csproj,vcxproj,vcxproj.filters,proj,projitems,shproj,props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] | ||
indent_size = 2 | ||
|
||
[*.json] | ||
indent_size = 2 | ||
|
||
#-------------------------------------------------------------------------------------------------- | ||
# C++ | ||
#-------------------------------------------------------------------------------------------------- | ||
[*.{c,cpp,h,hpp,ixx}] | ||
indent_size = 4 | ||
charset = utf-8-bom | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
|
||
#-------------------------------------------------------------------------------------------------- | ||
# C# | ||
#-------------------------------------------------------------------------------------------------- | ||
# See the following documentation for the C#/.NET-specific rules to follow: | ||
# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options | ||
[*.{cs,csx}] | ||
indent_size = 4 | ||
charset = utf-8-bom | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
|
||
#------------------------------------------------------------------------------ | ||
# Code style rules | ||
#------------------------------------------------------------------------------ | ||
# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ | ||
|
||
#---------------------------------------------------------- | ||
# Language Rules | ||
#---------------------------------------------------------- | ||
|
||
# Self access qualification | ||
dotnet_style_qualification_for_field = false:none | ||
dotnet_style_qualification_for_property = false:none | ||
dotnet_style_qualification_for_method = false:none | ||
dotnet_style_qualification_for_event = false:none | ||
|
||
# Language keyword vs full type name | ||
# Predefined for members, etc does not create a message because the explicitly sized types are conveient in interop scenarios where the bit size matters. | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:none | ||
dotnet_style_predefined_type_for_member_access = false:suggestion | ||
|
||
# Modifiers | ||
# csharp_preferred_modifier_order = # Default is fine. It isn't expected this would be overriden in the IDE. | ||
# We'd like this to be a warning, but it complains on partials in non-primary files. | ||
dotnet_style_require_accessibility_modifiers = always:none | ||
dotnet_style_readonly_field = true:suggestion | ||
csharp_prefer_static_local_function = true:suggestion | ||
|
||
# Parentheses | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:none | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:none | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:none | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:none | ||
|
||
# Expression-level preferences | ||
dotnet_style_object_initializer = true:suggestion | ||
# This is not enforced because there's too many situations where this hides the variable declaration in a way that harms understanding of the code. | ||
csharp_style_inlined_variable_declaration = true:none | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:none | ||
dotnet_style_explicit_tuple_names = true:warning | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
dotnet_style_prefer_inferred_tuple_names = true:none | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:none | ||
csharp_style_pattern_local_over_anonymous_function = true:warning | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:none | ||
dotnet_style_prefer_conditional_expression_over_return = true:none | ||
dotnet_style_prefer_compound_assignment = true:suggestion | ||
dotnet_style_prefer_simplified_boolean_expressions = true:none | ||
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion | ||
|
||
# Null checking | ||
csharp_style_throw_expression = true:none | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | ||
# Not using safe navigation for event invocation has thread safety problems. | ||
csharp_style_conditional_delegate_call = true:warning | ||
|
||
# Use of `var` | ||
csharp_style_var_for_built_in_types = false:warning | ||
# Use target-typed new instead. | ||
csharp_style_var_when_type_is_apparent = false:warning | ||
csharp_style_var_elsewhere = false:warning | ||
|
||
# Expression-bodied members | ||
csharp_style_expression_bodied_constructors = true:suggestion | ||
csharp_style_expression_bodied_methods = true:suggestion | ||
csharp_style_expression_bodied_operators = true:suggestion | ||
csharp_style_expression_bodied_properties = true:suggestion | ||
csharp_style_expression_bodied_indexers = true:suggestion | ||
csharp_style_expression_bodied_accessors = true:suggestion | ||
csharp_style_expression_bodied_lambdas = true:suggestion | ||
csharp_style_expression_bodied_local_functions = true:suggestion | ||
|
||
# Pattern matching | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:warning | ||
csharp_style_prefer_switch_expression = true:suggestion | ||
csharp_style_prefer_pattern_matching = true:none | ||
csharp_style_prefer_not_pattern = true:suggestion | ||
|
||
# Code block preferences | ||
csharp_prefer_braces = true:warning | ||
csharp_prefer_simple_using_statement = true:none | ||
|
||
# Using directive placement | ||
csharp_using_directive_placement = outside_namespace:warning | ||
|
||
# File header | ||
file_header_template = unset | ||
|
||
#---------------------------------------------------------- | ||
# Unnecessary code rules | ||
#---------------------------------------------------------- | ||
# Simplify member access -- These tend to be more annoying than anything | ||
dotnet_diagnostic.IDE0002.severity = none | ||
# Remove unnecessary cast -- Sometimes these clarify the intent of the code. | ||
dotnet_diagnostic.IDE0004.severity = suggestion | ||
csharp_style_unused_value_expression_statement_preference = discard_variable | ||
csharp_style_unused_value_assignment_preference = discard_variable | ||
dotnet_code_quality_unused_parameters = all | ||
# Remove unnecessary equality operator -- This covers things like `x == true`, sometimes these clarify the intent of the code. | ||
dotnet_diagnostic.IDE0100.severity = none | ||
|
||
#---------------------------------------------------------- | ||
# Formatting rules | ||
#---------------------------------------------------------- | ||
# (These are mostly Visual Studio defaults, and are simply here to enforce consistency.) | ||
dotnet_sort_system_directives_first = false | ||
dotnet_separate_import_directive_groups = false | ||
|
||
# Newlines | ||
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 | ||
csharp_indent_case_contents = true | ||
csharp_indent_switch_labels = true | ||
csharp_indent_labels = flush_left | ||
csharp_indent_block_contents = true | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents_when_block = false | ||
|
||
# Spacing | ||
csharp_space_after_cast = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_between_parentheses = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_between_method_declaration_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_call_parameter_list_parentheses = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_after_comma = true | ||
csharp_space_before_comma = false | ||
csharp_space_after_dot = false | ||
csharp_space_before_dot = false | ||
csharp_space_after_semicolon_in_for_statement = true | ||
csharp_space_before_semicolon_in_for_statement = false | ||
csharp_space_around_declaration_statements = false | ||
csharp_space_before_open_square_brackets = false | ||
csharp_space_between_empty_square_brackets = false | ||
csharp_space_between_square_brackets = false | ||
|
||
# Wrapping | ||
csharp_preserve_single_line_statements = false | ||
csharp_preserve_single_line_blocks = true | ||
|
||
#------------------------------------------------------------------------------ | ||
# Naming Conventions | ||
#------------------------------------------------------------------------------ | ||
# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/naming-rules | ||
|
||
#---------------------------------------------------------- | ||
# Interfaces | ||
#---------------------------------------------------------- | ||
dotnet_naming_style.interface_style.capitalization = pascal_case | ||
dotnet_naming_style.interface_style.required_prefix = I | ||
|
||
dotnet_naming_symbols.interface_symbols.applicable_kinds = interface | ||
dotnet_naming_symbols.interface_symbols.applicable_accessibilities = * | ||
|
||
dotnet_naming_rule.interface_rule.symbols = interface_symbols | ||
dotnet_naming_rule.interface_rule.style = interface_style | ||
dotnet_naming_rule.interface_rule.severity = suggestion | ||
|
||
#---------------------------------------------------------- | ||
# Type Parameters | ||
#---------------------------------------------------------- | ||
dotnet_naming_style.type_parameter_style.capitalization = pascal_case | ||
dotnet_naming_style.type_parameter_style.required_prefix = T | ||
|
||
dotnet_naming_symbols.type_parameter_symbols.applicable_kinds = type_parameter | ||
dotnet_naming_symbols.type_parameter_symbols.applicable_accessibilities = * | ||
|
||
dotnet_naming_rule.type_parameter_rule.symbols = type_parameter_symbols | ||
dotnet_naming_rule.type_parameter_rule.style = type_parameter_style | ||
dotnet_naming_rule.type_parameter_rule.severity = suggestion | ||
|
||
#---------------------------------------------------------- | ||
# Async Methods | ||
#---------------------------------------------------------- | ||
dotnet_naming_style.async_method_style.capitalization = pascal_case | ||
dotnet_naming_style.async_method_style.required_suffix = Async | ||
|
||
dotnet_naming_symbols.async_method_symbols.applicable_kinds = method, local_function | ||
dotnet_naming_symbols.async_method_symbols.applicable_accessibilities = * | ||
dotnet_naming_symbols.async_method_symbols.required_modifiers = async | ||
|
||
dotnet_naming_rule.async_method_rule.symbols = async_method_symbols | ||
dotnet_naming_rule.async_method_rule.style = async_method_style | ||
dotnet_naming_rule.async_method_rule.severity = suggestion | ||
|
||
#---------------------------------------------------------- | ||
# General PascalCase Symbols | ||
#---------------------------------------------------------- | ||
dotnet_naming_style.pascal_style.capitalization = pascal_case | ||
|
||
dotnet_naming_symbols.pascal_symbols.applicable_kinds = namespace, class, struct, interface, enum, property, method, field, event, delegate, type_parameter, local_function | ||
dotnet_naming_symbols.pascal_symbols.applicable_accessibilities = * | ||
|
||
dotnet_naming_rule.pascal_rule.symbols = pascal_symbols | ||
dotnet_naming_rule.pascal_rule.style = pascal_style | ||
dotnet_naming_rule.pascal_rule.severity = suggestion | ||
|
||
#---------------------------------------------------------- | ||
# General camelCase Symbols | ||
#---------------------------------------------------------- | ||
dotnet_naming_style.camel_style.capitalization = camel_case | ||
|
||
dotnet_naming_symbols.camel_symbols.applicable_kinds = parameter, local | ||
dotnet_naming_symbols.camel_symbols.applicable_accessibilities = * | ||
|
||
dotnet_naming_rule.camel_rule.symbols = camel_symbols | ||
dotnet_naming_rule.camel_rule.style = camel_style | ||
dotnet_naming_rule.camel_rule.severity = suggestion |
Oops, something went wrong.