Skip to content

Commit

Permalink
Add excluded parameter (#25)
Browse files Browse the repository at this point in the history
* Add ability to exclude packages
  • Loading branch information
olsh committed Dec 11, 2022
1 parent ad0b02a commit 61f05f1
Show file tree
Hide file tree
Showing 11 changed files with 62 additions and 6 deletions.
13 changes: 13 additions & 0 deletions src/.idea/.idea.DotNet.Consolidate/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/.idea/.idea.DotNet.Consolidate/.idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions src/.idea/.idea.DotNet.Consolidate/.idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions src/.idea/.idea.DotNet.Consolidate/.idea/indexLayout.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/.idea/.idea.DotNet.Consolidate/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/.idea/.idea.DotNet.Consolidate/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/DotNet.Consolidate/DotNet.Consolidate.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

<PackAsTool>true</PackAsTool>
<ToolCommandName>dotnet-consolidate</ToolCommandName>
<VersionPrefix>2.0.0</VersionPrefix>
<VersionPrefix>2.1.0</VersionPrefix>
</PropertyGroup>

<PropertyGroup>
Expand Down
10 changes: 7 additions & 3 deletions src/DotNet.Consolidate/Models/Options.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,20 @@ namespace DotNet.Consolidate.Models
{
public class Options
{
public Options(ICollection<string> solutions, ICollection<string> packageIds)
public Options(ICollection<string> solutions, ICollection<string>? packageIds, ICollection<string>? excludedPackageIds)
{
Solutions = solutions;
PackageIds = packageIds;
ExcludedPackageIds = excludedPackageIds;
}

[Option('p', "pacakgeIds", Required = false, HelpText = "Package IDs to check consolidation.")]
[Option('p', "packageIds", Required = false, HelpText = "Package IDs for checking.")]
public ICollection<string>? PackageIds { get; }

[Option('s', "solutions", Required = true, HelpText = "Target solution for consolidation.")]
[Option('e', "excluded", Required = false, HelpText = "Package IDs that will be skipped during checking.")]
public ICollection<string>? ExcludedPackageIds { get; }

[Option('s', "solutions", Required = true, HelpText = "Target solutions for checking.")]
public ICollection<string> Solutions { get; }
}
}
12 changes: 10 additions & 2 deletions src/DotNet.Consolidate/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace DotNet.Consolidate
{
internal class Program
internal static class Program
{
private static void HandleParseError(IEnumerable<Error> errors)
{
Expand All @@ -24,12 +24,20 @@ private static void Main(string[] args)
{
Parser.Default.ParseArguments<Options>(args)
.WithParsed(Consolidate)
.WithNotParsed(errors => HandleParseError(errors));
.WithNotParsed(HandleParseError);
}

private static void Consolidate(Options options)
{
var logger = new Logger();
if (options.ExcludedPackageIds?.Any() == true && options.PackageIds?.Any() == true)
{
logger.Message("There is no sense to provide both `-p` and `-e` arguments at the same time.");
Environment.ExitCode = 1;

return;
}

var solutionInfoProvider = new SolutionInfoProvider(new ProjectParser(), logger);
var solutionsInfo = solutionInfoProvider.GetSolutionsInfo(options.Solutions);

Expand Down
5 changes: 5 additions & 0 deletions src/DotNet.Consolidate/Services/PackagesAnalyzer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ public List<AnalysisResult> FindNonConsolidatedPackages(ICollection<ProjectInfo>
return nonConsolidatedPackages.Where(p => options.PackageIds.Contains(p.NuGetPackageId)).ToList();
}

if (options.ExcludedPackageIds?.Any() == true)
{
return nonConsolidatedPackages.Where(p => !options.ExcludedPackageIds.Contains(p.NuGetPackageId)).ToList();
}

return nonConsolidatedPackages.ToList();
}
}
Expand Down
1 change: 1 addition & 0 deletions src/DotNet.Consolidate/Services/SolutionInfoProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public List<SolutionInfo> GetSolutionsInfo(ICollection<string> solutionsPath)
return solutionInfos;
}

// ReSharper disable once CognitiveComplexity
private List<ProjectInfo> TryGetProjectsInfo(string filePath)
{
var solutionInfos = new List<ProjectInfo>();
Expand Down

0 comments on commit 61f05f1

Please sign in to comment.