Skip to content

Commit adcb0d1

Browse files
committed
Initial project structure
1 parent e8d1fd1 commit adcb0d1

34 files changed

+4980
-0
lines changed

.editorconfig

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
# http://EditorConfig.org
2+
3+
# This file is the top-most EditorConfig file
4+
root = true
5+
6+
# All Files
7+
[*]
8+
charset = utf-8
9+
end_of_line = crlf
10+
indent_style = space
11+
indent_size = 4
12+
insert_final_newline = false
13+
trim_trailing_whitespace = true
14+
15+
# Solution Files
16+
[*.sln]
17+
indent_style = tab
18+
19+
# XML Project Files
20+
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
21+
indent_size = 2
22+
23+
# Configuration Files
24+
[*.{json,xml,yml,config,props,targets,nuspec,resx,ruleset,vsixmanifest,vsct}]
25+
indent_size = 2
26+
27+
# Markdown Files
28+
[*.md]
29+
trim_trailing_whitespace = false
30+
31+
# Web Files
32+
[*.{htm,html,js,ts,css,scss,less}]
33+
indent_size = 2
34+
insert_final_newline = true
35+
36+
# Bash Files
37+
[*.sh]
38+
end_of_line = lf
39+
40+
# Dotnet Code Style Settings
41+
# See https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
42+
# See http://kent-boogaart.com/blog/editorconfig-reference-for-c-developers
43+
[*.{cs,csx,cake,vb}]
44+
dotnet_sort_system_directives_first = true:warning
45+
dotnet_style_coalesce_expression = true:warning
46+
dotnet_style_collection_initializer = true:warning
47+
dotnet_style_explicit_tuple_names = true:warning
48+
dotnet_style_null_propagation = true:warning
49+
dotnet_style_object_initializer = true:warning
50+
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
51+
dotnet_style_predefined_type_for_member_access = true:warning
52+
dotnet_style_qualification_for_event = true:warning
53+
dotnet_style_qualification_for_field = true:warning
54+
dotnet_style_qualification_for_method = true:warning
55+
dotnet_style_qualification_for_property = true:warning
56+
57+
# Naming Symbols
58+
# constant_fields - Define constant fields
59+
dotnet_naming_symbols.constant_fields.applicable_kinds = field
60+
dotnet_naming_symbols.constant_fields.required_modifiers = const
61+
# non_private_readonly_fields - Define public, internal and protected readonly fields
62+
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected
63+
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
64+
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
65+
# static_readonly_fields - Define static and readonly fields
66+
dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
67+
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
68+
# private_readonly_fields - Define private readonly fields
69+
dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private
70+
dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field
71+
dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly
72+
# public_internal_fields - Define public and internal fields
73+
dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal
74+
dotnet_naming_symbols.public_internal_fields.applicable_kinds = field
75+
# private_protected_fields - Define private and protected fields
76+
dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected
77+
dotnet_naming_symbols.private_protected_fields.applicable_kinds = field
78+
# public_symbols - Define any public symbol
79+
dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal
80+
dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate
81+
# parameters - Defines any parameter
82+
dotnet_naming_symbols.parameters.applicable_kinds = parameter
83+
# non_interface_types - Defines class, struct, enum and delegate types
84+
dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate
85+
# interface_types - Defines interfaces
86+
dotnet_naming_symbols.interface_types.applicable_kinds = interface
87+
88+
# Naming Styles
89+
# camel_case - Define the camelCase style
90+
dotnet_naming_style.camel_case.capitalization = camel_case
91+
# pascal_case - Define the Pascal_case style
92+
dotnet_naming_style.pascal_case.capitalization = pascal_case
93+
# first_upper - The first character must start with an upper-case character
94+
dotnet_naming_style.first_upper.capitalization = first_word_upper
95+
# prefix_interface_interface_with_i - Interfaces must be PascalCase and the first character of an interface must be an 'I'
96+
dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case
97+
dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I
98+
99+
# Naming Rules
100+
# Constant fields must be PascalCase
101+
dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning
102+
dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields
103+
dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case
104+
# Public, internal and protected readonly fields must be PascalCase
105+
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning
106+
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields
107+
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = pascal_case
108+
# Static readonly fields must be PascalCase
109+
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
110+
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
111+
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case
112+
# Private readonly fields must be camelCase
113+
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning
114+
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields
115+
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case
116+
# Public and internal fields must be PascalCase
117+
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning
118+
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields
119+
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case
120+
# Private and protected fields must be camelCase
121+
dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning
122+
dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields
123+
dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case
124+
# Public members must be capitalized
125+
dotnet_naming_rule.public_members_must_be_capitalized.severity = warning
126+
dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols
127+
dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper
128+
# Parameters must be camelCase
129+
dotnet_naming_rule.parameters_must_be_camel_case.severity = warning
130+
dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters
131+
dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case
132+
# Class, struct, enum and delegates must be PascalCase
133+
dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning
134+
dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types
135+
dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case
136+
# Interfaces must be PascalCase and start with an 'I'
137+
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning
138+
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types
139+
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i
140+
141+
# C# Code Style Settings
142+
# See https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
143+
# See http://kent-boogaart.com/blog/editorconfig-reference-for-c-developers
144+
[*.cs,csx,cake]
145+
# Indentation Options
146+
csharp_indent_block_contents = true:warning
147+
csharp_indent_braces = false:warning
148+
csharp_indent_case_contents = true:warning
149+
csharp_indent_labels = no_change:warning
150+
csharp_indent_switch_labels = true:warning
151+
# Style Options
152+
csharp_style_conditional_delegate_call = true:warning
153+
csharp_style_expression_bodied_accessors = true:warning
154+
csharp_style_expression_bodied_constructors = true:warning
155+
csharp_style_expression_bodied_indexers = true:warning
156+
csharp_style_expression_bodied_methods = true:warning
157+
csharp_style_expression_bodied_operators = true:warning
158+
csharp_style_expression_bodied_properties = true:warning
159+
csharp_style_inlined_variable_declaration = true:warning
160+
csharp_style_pattern_matching_over_as_with_null_check = true:warning
161+
csharp_style_pattern_matching_over_is_with_cast_check = true:warning
162+
csharp_style_throw_expression = true:warning
163+
csharp_style_var_elsewhere = true:warning
164+
csharp_style_var_for_built_in_types = true:warning
165+
csharp_style_var_when_type_is_apparent = true:warning
166+
# New Line Options
167+
csharp_new_line_before_catch = true:warning
168+
csharp_new_line_before_else = true:warning
169+
csharp_new_line_before_finally = true:warning
170+
csharp_new_line_before_members_in_anonymous_types = true:warning
171+
csharp_new_line_before_members_in_object_initializers = true:warning
172+
# BUG: Warning level cannot be set https://github.com/dotnet/roslyn/issues/18010
173+
csharp_new_line_before_open_brace = all
174+
csharp_new_line_between_query_expression_clauses = true:warning
175+
# Spacing Options
176+
csharp_space_after_cast = false:warning
177+
csharp_space_after_colon_in_inheritance_clause = true:warning
178+
csharp_space_after_comma = true:warning
179+
csharp_space_after_dot = false:warning
180+
csharp_space_after_keywords_in_control_flow_statements = true:warning
181+
csharp_space_after_semicolon_in_for_statement = true:warning
182+
csharp_space_around_binary_operators = before_and_after:warning
183+
csharp_space_around_declaration_statements = do_not_ignore:warning
184+
csharp_space_before_colon_in_inheritance_clause = true:warning
185+
csharp_space_before_comma = false:warning
186+
csharp_space_before_dot = false:warning
187+
csharp_space_before_semicolon_in_for_statement = false:warning
188+
csharp_space_before_open_square_brackets = false:warning
189+
csharp_space_between_empty_square_brackets = false:warning
190+
csharp_space_between_method_declaration_name_and_open_parenthesis = false:warning
191+
csharp_space_between_method_declaration_parameter_list_parentheses = false:warning
192+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false:warning
193+
csharp_space_between_method_call_name_and_opening_parenthesis = false:warning
194+
csharp_space_between_method_call_parameter_list_parentheses = false:warning
195+
csharp_space_between_method_call_empty_parameter_list_parentheses = false:warning
196+
csharp_space_between_parentheses = expressions:warning
197+
csharp_space_between_square_brackets = false:warning
198+
# Wrapping Options
199+
csharp_preserve_single_line_blocks = true:warning
200+
csharp_preserve_single_line_statements = false:warning

.vsts-ci.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
queue: 'Hosted VS2017'
2+
3+
variables:
4+
buildConfiguration: 'Release'
5+
6+
steps:
7+
8+
- task: DotNetCoreCLI@2
9+
inputs:
10+
command: 'restore'
11+
projects: '**/*.csproj'
12+
13+
- task: DotNetCoreCLI@2
14+
inputs:
15+
command: 'build'
16+
projects: '**/*.csproj'
17+
arguments: '--configuration $(buildConfiguration)'
18+
19+
- task: DotNetCoreCLI@2
20+
inputs:
21+
command: pack
22+
packagesToPack: 'src/Blazor.Extensions.WebUSB/*.csproj'
23+
configuration: '$(buildConfiguration)'
24+
versioningScheme: byPrereleaseNumber
25+
majorVersion: '0'
26+
minorVersion: '1'
27+
patchVersion: '0'

.vsts-release.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
queue: 'Hosted VS2017'
2+
3+
variables:
4+
buildConfiguration: 'Release'
5+
6+
steps:
7+
8+
- task: DotNetCoreCLI@2
9+
inputs:
10+
command: 'restore'
11+
projects: '**/*.csproj'
12+
13+
- task: DotNetCoreCLI@2
14+
inputs:
15+
command: 'build'
16+
projects: '**/*.csproj'
17+
arguments: '--configuration $(buildConfiguration)'
18+
19+
- task: DotNetCoreCLI@2
20+
inputs:
21+
command: pack
22+
packagesToPack: 'src/Blazor.Extensions.WebUSB/*.csproj'
23+
packDirectory: '$(build.artifactStagingDirectory)'
24+
configuration: '$(buildConfiguration)'
25+
versioningScheme: byEnvVar
26+
versionEnvVar: Version
27+
28+
- task: NuGetCommand@2
29+
inputs:
30+
command: push
31+
packagesToPush: '$(build.ArtifactStagingDirectory)/**/*.nupkg;!$(build.ArtifactStagingDirectory)/**/*.symbols.nupkg'
32+
publishFeedCredentials: 'BlazorExtensions'
33+
nuGetFeedType: external
34+
versioningScheme: byEnvVar
35+
versionEnvVar: Version

Directory.Build.props

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<Project>
2+
<!-- Set common properties regarding assembly information and nuget packages -->
3+
<PropertyGroup>
4+
<Authors>Blazor Extensions Contributors</Authors>
5+
<Product>Blazor Extensions</Product>
6+
<Copyright>(c) Blazor Extensions Contributors. All rights reserved.</Copyright>
7+
<PackageLicenseUrl>https://github.com/BlazorExtensions/SignalR#license</PackageLicenseUrl>
8+
<PackageProjectUrl>https://github.com/BlazorExtensions/SignalR</PackageProjectUrl>
9+
<PackageIconUrl>https://avatars2.githubusercontent.com/u/38994076?s%3D128%26v%3D4</PackageIconUrl>
10+
<PackageTags>Microsoft ASP.NET Core Blazor Extensions SignalR</PackageTags>
11+
<PackageReleaseNotes></PackageReleaseNotes>
12+
<RepositoryUrl>https://github.com/BlazorExtensions/SignalR</RepositoryUrl>
13+
<RepositoryType>git</RepositoryType>
14+
<IncludeSymbols>true</IncludeSymbols>
15+
</PropertyGroup>
16+
17+
<!-- Common compile parameters -->
18+
<PropertyGroup>
19+
<LangVersion>latest</LangVersion>
20+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
21+
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
22+
<!-- We use full (Windows PDBs) until cross platform support for source link will get better -->
23+
<DebugType>full</DebugType>
24+
</PropertyGroup>
25+
26+
<PropertyGroup>
27+
<TargetFramework>netstandard2.0</TargetFramework>
28+
<TestProjectTargetFramework>netstandard2.0</TestProjectTargetFramework>
29+
</PropertyGroup>
30+
31+
<!-- Versioning properties -->
32+
<PropertyGroup>
33+
<VersionPrefix Condition=" '$(VersionPrefix)'=='' ">0.1.0</VersionPrefix>
34+
<VersionSuffix Condition=" '$(VersionSuffix)'=='' ">dev</VersionSuffix>
35+
</PropertyGroup>
36+
37+
<Choose>
38+
<When Condition="'$(OfficialBuild)' != 'true'">
39+
<!-- On non-official builds we don't burn in a git sha. In large part because it
40+
hurts our determinism efforts as binaries which should be the same between
41+
builds will not (due to developers building against different HEAD
42+
values -->
43+
<PropertyGroup>
44+
<GitHeadSha>&lt;developer build&gt;</GitHeadSha>
45+
</PropertyGroup>
46+
</When>
47+
<When Condition="'$(BUILD_SOURCEVERSION)' != ''">
48+
<PropertyGroup>
49+
<GitHeadSha>$(BUILD_SOURCEVERSION)</GitHeadSha>
50+
</PropertyGroup>
51+
</When>
52+
<When Condition="'$(BUILD_SOURCEVERSION)' == '' AND '$(GIT_COMMIT)' != ''">
53+
<PropertyGroup>
54+
<GitHeadSha>$(GIT_COMMIT)</GitHeadSha>
55+
</PropertyGroup>
56+
</When>
57+
<Otherwise>
58+
<PropertyGroup>
59+
<GitHeadSha>Not found</GitHeadSha>
60+
<DotGitDir>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory).git'))</DotGitDir>
61+
<HeadFileContent Condition="Exists('$(DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(DotGitDir)/HEAD').Trim())</HeadFileContent>
62+
<RefPath Condition="$(HeadFileContent.StartsWith('ref: '))">$(DotGitDir)/$(HeadFileContent.Substring(5))</RefPath>
63+
<GitHeadSha Condition="'$(RefPath)' != '' AND Exists('$(RefPath)')">$([System.IO.File]::ReadAllText('$(RefPath)').Trim())</GitHeadSha>
64+
<GitHeadSha Condition="'$(HeadFileContent)' != '' AND '$(RefPath)' == ''">$(HeadFileContent)</GitHeadSha>
65+
</PropertyGroup>
66+
</Otherwise>
67+
</Choose>
68+
</Project>

Directory.Build.targets

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<Project>
2+
<!-- Set InformationVersion here, since $(Version) is already set at this point. -->
3+
<PropertyGroup>
4+
<InformationalVersion>$(Version). Commit Hash: $(GitHeadSha)</InformationalVersion>
5+
</PropertyGroup>
6+
</Project>

0 commit comments

Comments
 (0)