Skip to content

Commit 64fd3d5

Browse files
Allowing ignore namespaces and methods
1 parent f66b473 commit 64fd3d5

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

ArchiMetrics

MetricsExtractor/MetricConfiguration.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ public class MetricConfiguration
77
{
88
public MetricConfiguration()
99
{
10-
IgnoredProjects = Enumerable.Empty<string>().ToArray();
10+
IgnoredTypes = IgnoredNamespaces = IgnoredProjects = Enumerable.Empty<string>().ToArray();
1111
}
1212
public string Solution { get; set; }
1313

1414
public string SolutionDirectory { get { return Path.GetDirectoryName(Solution); } }
1515

1616
public string[] IgnoredProjects { get; set; }
17-
17+
1818
public string[] IgnoredNamespaces { get; set; }
19+
20+
public string[] IgnoredTypes { get; set; }
1921
}
2022
}

MetricsExtractor/Program.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ static void Main(string[] args)
3030

3131
var metricConfiguration = DashedParameterSerializer.Deserialize<MetricConfiguration>(args);
3232

33-
var runCodeMetrics = RunCodeMetrics(metricConfiguration.Solution, metricConfiguration.IgnoredProjects);
33+
var runCodeMetrics = RunCodeMetrics(metricConfiguration);
3434
runCodeMetrics.Wait();
3535
Console.WriteLine("All projects measure, creating report");
3636
var ignoredNamespaces = metricConfiguration.IgnoredNamespaces ?? Enumerable.Empty<string>();
@@ -129,19 +129,23 @@ private static List<MetodoRuim> GetMetodosRuins(List<MetodoComTipo> metodos, int
129129
return metodosRuins;
130130
}
131131

132-
private static async Task<IEnumerable<INamespaceMetric>> RunCodeMetrics(string solutionPath, string[] ignoredProjects)
132+
private static async Task<IEnumerable<INamespaceMetric>> RunCodeMetrics(MetricConfiguration configuration)
133133
{
134134
Console.WriteLine("Loading Solution");
135135
var solutionProvider = new SolutionProvider();
136-
var solution = await solutionProvider.Get(solutionPath).ConfigureAwait(false);
136+
var solution = await solutionProvider.Get(configuration.Solution).ConfigureAwait(false);
137137
Console.WriteLine("Solution loaded");
138138

139-
var projects = solution.Projects.Where(p => !ignoredProjects.Contains(p.Name)).ToList();
139+
var projects = solution.Projects.Where(p => !configuration.IgnoredProjects.Contains(p.Name)).ToList();
140140

141141
Console.WriteLine("Loading metrics, wait it may take a while.");
142142

143143
var metrics = new List<IEnumerable<INamespaceMetric>>();
144-
var metricsCalculator = new CodeMetricsCalculator();
144+
var metricsCalculator = new CodeMetricsCalculator(new CalculationConfiguration
145+
{
146+
NamespacesIgnored = configuration.IgnoredNamespaces,
147+
TypesIgnored = configuration.IgnoredTypes
148+
});
145149
foreach (var project in projects)
146150
{
147151
var calculate = await metricsCalculator.Calculate(project, solution);

0 commit comments

Comments
 (0)