Skip to content

Commit

Permalink
Move test project
Browse files Browse the repository at this point in the history
  • Loading branch information
joelverhagen committed May 29, 2024
1 parent 9d10a3d commit 84b0c3e
Show file tree
Hide file tree
Showing 14 changed files with 298 additions and 101 deletions.
167 changes: 167 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
; EditorConfig to support per-solution formatting.
; Use the EditorConfig VS add-in to make this work.
; http://editorconfig.org/

; This is the default for the codeline.
root = true

[*]
; Don't use tabs for indentation.
indent_style = space
; (Please don't specify an indent_size here; that has too many unintended consequences.)
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

; Code files
[*.{cs}]
indent_size = 4

; All XML-based file formats
[*.{config,csproj,nuspec,props,resx,ruleset,targets,vsct,vsixmanifest,xaml,xml,vsmanproj,swixproj}]
indent_size = 2

; JSON files
[*.json]
indent_size = 2

; PowerShell scripts
[*.{ps1}]
indent_size = 4

[*.{sh}]
indent_size = 4

; Dotnet code style settings
[*.{cs,vb}]
; Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false

; IDE0003 Avoid "this." and "Me." if not necessary
dotnet_style_qualification_for_field = false:warning
dotnet_style_qualification_for_property = false:warning
dotnet_style_qualification_for_method = false:warning
dotnet_style_qualification_for_event = false:warning

; IDE0012 Use language keywords instead of framework type names for type references
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
; IDE0013
dotnet_style_predefined_type_for_member_access = true:warning

; Suggest more modern language features when available
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion

; CSharp code style settings
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_compound_assignment = true:suggestion
dotnet_style_prefer_simplified_interpolation = true:suggestion
dotnet_style_operator_placement_when_wrapping = beginning_of_line
tab_width = 4
indent_size = 4
end_of_line = crlf
dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion
[*.cs]
; IDE0007 'var' preferences
csharp_style_var_for_built_in_types = true:none
csharp_style_var_when_type_is_apparent = true:none
csharp_style_var_elsewhere = false:none

; Helpful errors
dotnet_diagnostic.CA2017.severity = error
dotnet_diagnostic.CS0105.severity = error
dotnet_diagnostic.IDE0005.severity = error

; Prefer method-like constructs to have a block body
csharp_style_expression_bodied_methods = false:none
csharp_style_expression_bodied_constructors = false:none
csharp_style_expression_bodied_operators = false:none

; Prefer property-like constructs to have an expression-body
csharp_style_expression_bodied_properties = true:suggestion
csharp_style_expression_bodied_indexers = true:suggestion
csharp_style_expression_bodied_accessors = true:suggestion

; Suggest more modern language features when available
csharp_style_pattern_matching_over_is_with_cast_check = true:none
csharp_style_pattern_matching_over_as_with_null_check = true:none
csharp_style_inlined_variable_declaration = true:none
csharp_style_throw_expression = true:none
csharp_style_conditional_delegate_call = true:suggestion

; Newline settings
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

; Naming styles
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
dotnet_naming_style.camel_case_style.capitalization = camel_case

; Naming rule: async methods end in Async
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
dotnet_naming_symbols.async_method_symbols.required_modifiers = async
dotnet_naming_rule.async_methods_rule.severity = suggestion
dotnet_naming_rule.async_methods_rule.symbols = async_method_symbols
dotnet_naming_rule.async_methods_rule.style = async_method_style

; Naming rule: Interfaces must be pascal-cased prefixed with I
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.interfaces_rule.severity = warning
dotnet_naming_rule.interfaces_rule.symbols = interface_symbols
dotnet_naming_rule.interfaces_rule.style = interface_style

; Naming rule: All methods and properties must be pascal-cased
dotnet_naming_symbols.method_and_property_symbols.applicable_kinds = method,property,class,struct,enum:property,namespace
dotnet_naming_symbols.method_and_property_symbols.applicable_accessibilities = *
dotnet_naming_rule.methods_and_properties_rule.severity = warning
dotnet_naming_rule.methods_and_properties_rule.symbols = method_and_property_symbols
dotnet_naming_rule.methods_and_properties_rule.style = pascal_case_style

; Naming rule: Static fields must be pascal-cased
dotnet_naming_symbols.static_member_symbols.applicable_kinds = field
dotnet_naming_symbols.static_member_symbols.applicable_accessibilities = *
dotnet_naming_symbols.static_member_symbols.required_modifiers = static
dotnet_naming_symbols.const_member_symbols.applicable_kinds = field
dotnet_naming_symbols.const_member_symbols.applicable_accessibilities = *
dotnet_naming_symbols.const_member_symbols.required_modifiers = const
dotnet_naming_rule.static_fields_rule.severity = warning
dotnet_naming_rule.static_fields_rule.symbols = static_member_symbols
dotnet_naming_rule.static_fields_rule.style = pascal_case_style

; Naming rule: Private members must be camel-cased and prefixed with underscore
dotnet_naming_style.private_member_style.capitalization = camel_case
dotnet_naming_style.private_member_style.required_prefix = _
dotnet_naming_symbols.private_field_symbols.applicable_kinds = field,event
dotnet_naming_symbols.private_field_symbols.applicable_accessibilities = private,protected,internal
dotnet_naming_rule.private_field_rule.severity = warning
dotnet_naming_rule.private_field_rule.symbols = private_field_symbols
dotnet_naming_rule.private_field_rule.style = private_member_style
csharp_using_directive_placement = outside_namespace:silent
csharp_prefer_simple_using_statement = true:suggestion
csharp_prefer_braces = true:silent
csharp_style_namespace_declarations = block_scoped:silent
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_prefer_primary_constructors = true:suggestion
csharp_style_expression_bodied_lambdas = when_on_single_line:silent
csharp_style_expression_bodied_local_functions = when_on_single_line:silent
csharp_indent_labels = one_less_than_current
17 changes: 10 additions & 7 deletions NuGet.PackageLifeCycle.sln
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{491D10D0-06B
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A6AD26CB-0E8C-498D-9EB4-3676E9FE39DD}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
.editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
README.md = README.md
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "src\Tests\Tests.csproj", "{4979990F-D43B-402A-9BBF-C2A95FE339FB}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{BDCB7B9C-1161-439F-913D-3278D10536D8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.PackageLifeCycle.Test", "test\NuGet.PackageLifeCycle.Test\NuGet.PackageLifeCycle.Test.csproj", "{8C3EA6BF-481A-4769-AA4A-032E37C3A737}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand All @@ -25,17 +28,17 @@ Global
{5E220F24-EADB-4E9E-BB52-AA742E75A48B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E220F24-EADB-4E9E-BB52-AA742E75A48B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5E220F24-EADB-4E9E-BB52-AA742E75A48B}.Release|Any CPU.Build.0 = Release|Any CPU
{4979990F-D43B-402A-9BBF-C2A95FE339FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4979990F-D43B-402A-9BBF-C2A95FE339FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4979990F-D43B-402A-9BBF-C2A95FE339FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4979990F-D43B-402A-9BBF-C2A95FE339FB}.Release|Any CPU.Build.0 = Release|Any CPU
{8C3EA6BF-481A-4769-AA4A-032E37C3A737}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C3EA6BF-481A-4769-AA4A-032E37C3A737}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C3EA6BF-481A-4769-AA4A-032E37C3A737}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8C3EA6BF-481A-4769-AA4A-032E37C3A737}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{5E220F24-EADB-4E9E-BB52-AA742E75A48B} = {491D10D0-06BF-436E-9390-41A2C43606DD}
{4979990F-D43B-402A-9BBF-C2A95FE339FB} = {491D10D0-06BF-436E-9390-41A2C43606DD}
{8C3EA6BF-481A-4769-AA4A-032E37C3A737} = {BDCB7B9C-1161-439F-913D-3278D10536D8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A13EFED4-7DB8-4C76-B236-044C6FB5DC47}
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Options:
Commands:
deprecate <PACKAGE_ID> Mark existing packages as deprecated.
```
<sup><a href='/src/Tests/ProgramTests.Help.verified.txt#L1-L14' title='Snippet source file'>snippet source</a> | <a href='#snippet-ProgramTests.Help.verified.txt' title='Start of snippet'>anchor</a></sup>
<sup><a href='/test/NuGet.PackageLifeCycle.Test/ProgramTests.Help.verified.txt#L1-L14' title='Snippet source file'>snippet source</a> | <a href='#snippet-ProgramTests.Help.verified.txt' title='Start of snippet'>anchor</a></sup>
<!-- endSnippet -->

## Deprecate
Expand Down Expand Up @@ -60,6 +60,12 @@ Mark all versions as legacy.
nuget-plc deprecate jQuery --all --legacy
```

Mark all versions as legacy and unlist them at the same time.

```console
nuget-plc deprecate jQuery --all --legacy --listed-verb Unlist
```

### Help text

<!-- snippet: ProgramTests.Help_deprecate.verified.txt -->
Expand Down Expand Up @@ -96,5 +102,5 @@ Options:
--log-level <level> The minimum log level to display. Possible values: Verbose, Debug, Information, Warning, Error, Fatal [default: Information]
-?, -h, --help Show help and usage information
```
<sup><a href='/src/Tests/ProgramTests.Help_deprecate.verified.txt#L1-L33' title='Snippet source file'>snippet source</a> | <a href='#snippet-ProgramTests.Help_deprecate.verified.txt' title='Start of snippet'>anchor</a></sup>
<sup><a href='/test/NuGet.PackageLifeCycle.Test/ProgramTests.Help_deprecate.verified.txt#L1-L33' title='Snippet source file'>snippet source</a> | <a href='#snippet-ProgramTests.Help_deprecate.verified.txt' title='Start of snippet'>anchor</a></sup>
<!-- endSnippet -->
88 changes: 44 additions & 44 deletions src/NuGet.PackageLifeCycle/NuGet.PackageLifeCycle.csproj
Original file line number Diff line number Diff line change
@@ -1,52 +1,52 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<PackageId>Knapcode.PackageLifeCycle</PackageId>
<Version>0.1.0-beta.6</Version>
<ToolCommandName>nuget-plc</ToolCommandName>
<PackAsTool>true</PackAsTool>
<Authors>Joel Verhagen</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageReadmeFile>README.md</PackageReadmeFile>
<Description>A CLI tool to help you manage the lifecycle of NuGet packages, e.g. deprecate packages. Contains the "nuget-plc" .NET tool.</Description>
<PackageReleaseNotes>
- Add warning about wrong service type
- Handle V2 feeds better
- Improve error logging and default behaviors
</PackageReleaseNotes>
<PackageProjectUrl>https://github.com/joelverhagen/PackageLifeCycle</PackageProjectUrl>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<PackageId>Knapcode.PackageLifeCycle</PackageId>
<Version>0.1.0-beta.6</Version>
<ToolCommandName>nuget-plc</ToolCommandName>
<PackAsTool>true</PackAsTool>
<Authors>Joel Verhagen</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageReadmeFile>README.md</PackageReadmeFile>
<Description>A CLI tool to help you manage the lifecycle of NuGet packages, e.g. deprecate packages. Contains the "nuget-plc" .NET tool.</Description>
<PackageReleaseNotes>
- Add warning about wrong service type
- Handle V2 feeds better
- Improve error logging and default behaviors
</PackageReleaseNotes>
<PackageProjectUrl>https://github.com/joelverhagen/PackageLifeCycle</PackageProjectUrl>

<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<IncludeSymbols>true</IncludeSymbols>
</PropertyGroup>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<IncludeSymbols>true</IncludeSymbols>
</PropertyGroup>

<ItemGroup>
<None Include="..\..\README.md" Pack="true" PackagePath="" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\README.md" Pack="true" PackagePath="" />
</ItemGroup>

<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true' or '$(Configuration)' == 'Release'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true' or '$(Configuration)' == 'Release'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="NuGet.Protocol" Version="6.9.1" />
<PackageReference Include="Serilog.Exceptions" Version="8.4.0" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="8.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.1" />
<PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="NuGet.Protocol" Version="6.9.1" />
<PackageReference Include="Serilog.Exceptions" Version="8.4.0" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="8.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.1" />
<PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" />
</ItemGroup>

</Project>
7 changes: 4 additions & 3 deletions src/NuGet.PackageLifeCycle/Program.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using NuGet.PackageLifeCycle;
using NuGet.Protocol.Core.Types;
using Serilog;
using System.CommandLine;
Expand All @@ -9,6 +8,8 @@
using System.CommandLine.Parsing;
using System.Runtime.InteropServices;

namespace NuGet.PackageLifeCycle;

public static class Program
{
public static async Task<int> Main(string[] args)
Expand Down Expand Up @@ -45,4 +46,4 @@ public static async Task<int> Main(string[] args)

return await runner.Parse(args).InvokeAsync();
}
}
}
1 change: 0 additions & 1 deletion src/Tests/GlobalUsings.cs

This file was deleted.

6 changes: 0 additions & 6 deletions src/Tests/ModuleInitializer.cs

This file was deleted.

22 changes: 0 additions & 22 deletions src/Tests/ProgramTests.cs

This file was deleted.

Loading

0 comments on commit 84b0c3e

Please sign in to comment.