Skip to content

Commit

Permalink
Roughing out a project skeleton (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffAshton authored Dec 10, 2020
1 parent 032723d commit 35021aa
Show file tree
Hide file tree
Showing 10 changed files with 243 additions and 1 deletion.
12 changes: 12 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ci-version-properties": {
"version": "0.3.1",
"commands": [
"dotnet-ci-version-properties"
]
}
}
}
101 changes: 101 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
[*.cs]
indent_style = tab
tab_width = 4
max_line_length = off
guidelines = 80

# C# specific settings:
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
#
# Any Roslyn-implemented rules that emit diagnostics only run in the IDE, not
# during command line builds. Be careful adding error rules here because CI
# will not enforce them currently.
#
# In a future update to the compiler they will be enforced.
# https://github.com/dotnet/roslyn/projects/18

# Language conventions (https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2017#language-conventions)
dotnet_style_qualification_for_field = false:none # default
dotnet_style_qualification_for_property = false:none # default
dotnet_style_qualification_for_method = false:none # default
dotnet_style_qualification_for_event = false:none # default

dotnet_style_predefined_type_for_locals_parameters_members = true:warning
dotnet_style_predefined_type_for_member_access = true:warning

dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning
csharp_preferred_modifier_order = public, private, protected, internal, static, extern, new, virtual, abstract, sealed, override, readonly, unsafe, volatile, async:none # default
dotnet_style_readonly_field = true:error

dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:error
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:error
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:error
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:none # default

dotnet_style_object_initializer = true:suggestion # default
dotnet_style_collection_initializer = true:suggestion # default
dotnet_style_explicit_tuple_names = true:error # don't use Item1 when there's a meaningful name
dotnet_style_prefer_inferred_tuple_names = true:suggestion # default
dotnet_style_prefer_inferred_anonymous_type_member_names = false:warning # inferred name changes can lead to serialization errors and unintended API changes
dotnet_style_prefer_auto_properties = true:none # default
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion # default
dotnet_style_prefer_conditional_expression_over_assignment = true:none # default
dotnet_style_prefer_conditional_expression_over_return = true:none # default

dotnet_style_coalesce_expression = true:suggestion # default
dotnet_style_null_propagation = true:suggestion # default

csharp_style_var_for_built_in_types = false:suggestion
csharp_style_var_when_type_is_apparent = false:none
csharp_style_var_elsewhere = false:suggestion

csharp_style_expression_bodied_methods = false:none # default
csharp_style_expression_bodied_constructors = false:none # default
csharp_style_expression_bodied_operators = false:none # default
csharp_style_expression_bodied_properties = true:none # default
csharp_style_expression_bodied_indexers = true:none # default
csharp_style_expression_bodied_accessors = true:none # default

csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion # default
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion # default

csharp_style_inlined_variable_declaration = true:suggestion # default

csharp_prefer_simple_default_expression = true:suggestion # default
csharp_style_deconstructed_variable_declaration = true:suggestion # default
csharp_style_pattern_local_over_anonymous_function = true:suggestion # default

csharp_style_throw_expression = true:suggestion # default
csharp_style_conditional_delegate_call = true:suggestion # default

csharp_prefer_braces = true:error

# Formatting conventions (https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2017#formatting-conventions)
dotnet_sort_system_directives_first = true # default

csharp_new_line_before_open_brace = none
csharp_new_line_before_else = false
csharp_new_line_before_catch = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_object_initializers = true # default
csharp_new_line_before_members_in_anonymous_types = true # default
csharp_new_line_between_query_expression_clauses = false

csharp_indent_case_contents = true # default
csharp_indent_switch_labels = true # default
csharp_indent_labels = no_change # default

csharp_space_after_cast = false # default
csharp_space_after_keywords_in_control_flow_statements = false
csharp_space_between_method_declaration_parameter_list_parentheses = true
csharp_space_between_method_call_parameter_list_parentheses = true
csharp_space_between_parentheses = control_flow_statements, expressions
csharp_space_before_colon_in_inheritance_clause = true # default
csharp_space_after_colon_in_inheritance_clause = true # default
csharp_space_around_binary_operators = before_and_after # default
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false # default
csharp_space_between_method_call_name_and_opening_parenthesis = false # default
csharp_space_between_method_call_empty_parameter_list_parentheses = false # default

csharp_preserve_single_line_statements = true # default
csharp_preserve_single_line_blocks = true # default
33 changes: 33 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: build
on: [push]

env:
VERSION_PREFIX: "0.0.1"

jobs:
build:
runs-on: windows-latest

steps:

- uses: Brightspace/third-party-actions@actions/checkout

- name: Setup .NET Core
uses: Brightspace/third-party-actions@actions/setup-dotnet
with:
dotnet-version: 3.1.x

- name: dotnet tool restore
run: dotnet tool restore

- name: Generate version properties
run: dotnet ci-version-properties --output VersionInfo.props && cat VersionInfo.props

- name: dotnet restore
run: dotnet restore

- name: dotnet build
run: dotnet build --configuration Release

- name: dotnet test
run: dotnet test --configuration Release --no-build
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.vs/
bin/
obj/
packages/
*.user
launchSettings.json
37 changes: 37 additions & 0 deletions D2L.DynamoDBv2.NUnitHelpers.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30804.86
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D2L.DynamoDBv2.NUnitHelpers", "src\D2L.DynamoDBv2.NUnitHelpers\D2L.DynamoDBv2.NUnitHelpers.csproj", "{919AEE16-523B-48FB-82B9-4B3E7D3E5047}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{356A87B5-A285-4018-8923-D8409A373B54}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D2L.DynamoDBv2.NUnitHelpers.Tests", "test\D2L.DynamoDBv2.NUnitHelpers.Tests\D2L.DynamoDBv2.NUnitHelpers.Tests.csproj", "{0DC5FD65-466B-495E-9439-281A08B5D150}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{919AEE16-523B-48FB-82B9-4B3E7D3E5047}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{919AEE16-523B-48FB-82B9-4B3E7D3E5047}.Debug|Any CPU.Build.0 = Debug|Any CPU
{919AEE16-523B-48FB-82B9-4B3E7D3E5047}.Release|Any CPU.ActiveCfg = Release|Any CPU
{919AEE16-523B-48FB-82B9-4B3E7D3E5047}.Release|Any CPU.Build.0 = Release|Any CPU
{0DC5FD65-466B-495E-9439-281A08B5D150}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0DC5FD65-466B-495E-9439-281A08B5D150}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0DC5FD65-466B-495E-9439-281A08B5D150}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0DC5FD65-466B-495E-9439-281A08B5D150}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {501D297A-7621-47AB-8305-24B9A967D880}
EndGlobalSection
EndGlobal
23 changes: 23 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<Project>
<Import Project="VersionInfo.props" />

<PropertyGroup>
<Deterministic>true</Deterministic>
<IncludeSymbols>false</IncludeSymbols>
<IsPackable>false</IsPackable>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<Authors>Jeff Ashton</Authors>
<Company>D2L Corporation</Company>
<Copyright>Copyright © 2020</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/Brightspace/D2L.DynamoDBv2.NUnitHelpers</PackageProjectUrl>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/Brightspace/D2L.DynamoDBv2.NUnitHelpers</RepositoryUrl>
</PropertyGroup>

</Project>
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# D2L.DynamoDBv2.TestHelpers
# D2L.DynamoDBv2.NUnitHelpers

Helper library for testing .NET DynamoDB operations.
5 changes: 5 additions & 0 deletions VersionInfo.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project>
<PropertyGroup>
<Version>0.0.0-dev</Version>
</PropertyGroup>
</Project>
11 changes: 11 additions & 0 deletions src/D2L.DynamoDBv2.NUnitHelpers/D2L.DynamoDBv2.NUnitHelpers.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<IsPackable>true</IsPackable>
<OutputType>Library</OutputType>
<TargetFrameworks>net45;netcoreapp3.1;netstandard2.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AWSSDK.DynamoDBv2" Version="3.5.4.7" />
<PackageReference Include="NUnit" Version="3.12.0" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>net45;netcoreapp3.1</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\D2L.DynamoDBv2.NUnitHelpers\D2L.DynamoDBv2.NUnitHelpers.csproj" />
</ItemGroup>
</Project>

0 comments on commit 35021aa

Please sign in to comment.