Skip to content
This repository was archived by the owner on Jul 16, 2023. It is now read-only.

Commit deffbc0

Browse files
authored
Change project structure to modular approach (#303)
* refactor: change project structure to modular approach * chore: remove unused dependency
1 parent ec6df45 commit deffbc0

File tree

227 files changed

+859
-953
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

227 files changed

+859
-953
lines changed

.DS_Store

6 KB
Binary file not shown.

bin/metrics.dart

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import 'dart:io';
33
import 'package:args/args.dart';
44
import 'package:dart_code_metrics/metrics_analyzer.dart';
55
import 'package:dart_code_metrics/reporters.dart';
6+
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/metrics/metrics_factory.dart';
7+
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/metrics/models/metric_value_level.dart';
8+
import 'package:dart_code_metrics/src/analyzers/lint_analyzer/reporters/utility_selector.dart';
69
import 'package:dart_code_metrics/src/cli/arguments_parser.dart';
710
import 'package:dart_code_metrics/src/cli/arguments_validation.dart';
811
import 'package:dart_code_metrics/src/cli/arguments_validation_exceptions.dart';
9-
import 'package:dart_code_metrics/src/config/analysis_options.dart';
10-
import 'package:dart_code_metrics/src/metrics_factory.dart';
11-
import 'package:dart_code_metrics/src/models/metric_value_level.dart';
12-
import 'package:dart_code_metrics/src/obsoleted/reporters/utility_selector.dart';
12+
import 'package:dart_code_metrics/src/config_builder/models/analysis_options.dart';
1313
import 'package:path/path.dart' as p;
1414

1515
final _parser = argumentsParser();

lib/analyzer_plugin.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export 'package:dart_code_metrics/src/obsoleted/analyzer_plugin/analyzer_plugin_starter.dart';
1+
export 'package:dart_code_metrics/src/analyzer_plugin/analyzer_plugin_starter.dart';

lib/metrics_analyzer.dart

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
export 'package:dart_code_metrics/src/config/config.dart';
2-
export 'package:dart_code_metrics/src/obsoleted/constants.dart';
3-
export 'package:dart_code_metrics/src/obsoleted/metrics_analysis_runner.dart';
4-
export 'package:dart_code_metrics/src/obsoleted/metrics_analyzer.dart';
5-
export 'package:dart_code_metrics/src/obsoleted/metrics_records_builder.dart';
6-
export 'package:dart_code_metrics/src/obsoleted/metrics_records_store.dart';
1+
export 'package:dart_code_metrics/src/config_builder/models/config.dart';
2+
export 'package:dart_code_metrics/src/analyzers/lint_analyzer/constants.dart';
3+
export 'package:dart_code_metrics/src/analyzers/lint_analyzer/metrics_analysis_runner.dart';
4+
export 'package:dart_code_metrics/src/analyzers/lint_analyzer/metrics_analyzer.dart';
5+
export 'package:dart_code_metrics/src/analyzers/lint_analyzer/metrics_records_builder.dart';
6+
export 'package:dart_code_metrics/src/analyzers/lint_analyzer/metrics_records_store.dart';

lib/reporters.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
export 'package:dart_code_metrics/src/obsoleted/reporters/console_reporter.dart';
2-
export 'package:dart_code_metrics/src/reporter_factory.dart';
1+
export 'package:dart_code_metrics/src/analyzers/lint_analyzer/reporters/reporter_factory.dart';
2+
export 'package:dart_code_metrics/src/analyzers/lint_analyzer/reporters/reporters_list/console_reporter.dart';

lib/src/obsoleted/analyzer_plugin/analyzer_plugin.dart renamed to lib/src/analyzer_plugin/analyzer_plugin.dart

+17-23
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,39 @@ import 'dart:async';
44
import 'package:analyzer/dart/analysis/results.dart';
55
import 'package:analyzer/dart/ast/ast.dart';
66
import 'package:analyzer/file_system/file_system.dart';
7-
87
// ignore: implementation_imports
98
import 'package:analyzer/src/analysis_options/analysis_options_provider.dart';
10-
119
// ignore: implementation_imports
1210
import 'package:analyzer/src/context/builder.dart';
13-
1411
// ignore: implementation_imports
1512
import 'package:analyzer/src/context/context_root.dart';
16-
1713
// ignore: implementation_imports
1814
import 'package:analyzer/src/dart/analysis/driver.dart';
19-
2015
// ignore: implementation_imports
2116
import 'package:analyzer/src/dart/analysis/file_state.dart';
22-
2317
import 'package:analyzer_plugin/plugin/plugin.dart';
2418
import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
2519
import 'package:source_span/source_span.dart';
2620

27-
import '../../analyzer_plugin/plugin_utils.dart';
28-
import '../../config/analysis_options.dart';
29-
import '../../config/config.dart';
30-
import '../../metrics/cyclomatic_complexity/cyclomatic_complexity_metric.dart';
31-
import '../../metrics/number_of_parameters_metric.dart';
32-
import '../../models/report.dart';
33-
import '../../models/scoped_function_declaration.dart';
34-
import '../../scope_visitor.dart';
35-
import '../../suppression.dart';
36-
import '../../utils/metric_utils.dart';
37-
import '../../utils/node_utils.dart';
38-
import '../../utils/yaml_utils.dart';
39-
import '../anti_patterns_factory.dart';
40-
import '../models/function_report.dart';
41-
import '../models/internal_resolved_unit_result.dart';
42-
import '../reporters/utility_selector.dart';
43-
import '../rules_factory.dart';
21+
import '../analyzers/lint_analyzer/anti_patterns/anti_patterns_factory.dart';
22+
import '../analyzers/lint_analyzer/metrics/metric_utils.dart';
23+
import '../analyzers/lint_analyzer/metrics/metrics_list/cyclomatic_complexity/cyclomatic_complexity_metric.dart';
24+
import '../analyzers/lint_analyzer/metrics/metrics_list/number_of_parameters_metric.dart';
25+
import '../analyzers/lint_analyzer/reporters/models/function_report.dart';
26+
import '../analyzers/lint_analyzer/reporters/utility_selector.dart';
27+
import '../analyzers/lint_analyzer/rules/rules_factory.dart';
28+
import '../analyzers/lint_analyzer/scope_visitor.dart';
29+
import '../analyzers/models/internal_resolved_unit_result.dart';
30+
import '../analyzers/models/report.dart';
31+
import '../analyzers/models/scoped_function_declaration.dart';
32+
import '../analyzers/models/suppression.dart';
33+
import '../config_builder/models/analysis_options.dart';
34+
import '../config_builder/models/config.dart';
35+
import '../utils/node_utils.dart';
36+
import '../utils/yaml_utils.dart';
4437
import 'analyzer_plugin_config.dart';
4538
import 'analyzer_plugin_utils.dart';
39+
import 'plugin_utils.dart';
4640

4741
const _codeMetricsId = 'code-metrics';
4842

lib/src/obsoleted/analyzer_plugin/analyzer_plugin_config.dart renamed to lib/src/analyzer_plugin/analyzer_plugin_config.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import 'package:glob/glob.dart';
22
import 'package:meta/meta.dart';
33

4-
import '../../metrics/metric.dart';
5-
import '../../rules/rule.dart';
6-
import '../anti_patterns/obsolete_pattern.dart';
4+
import '../analyzers/lint_analyzer/anti_patterns/models/obsolete_pattern.dart';
5+
import '../analyzers/lint_analyzer/metrics/models/metric.dart';
6+
import '../analyzers/lint_analyzer/rules/models/rule.dart';
77

88
@immutable
99
class AnalyzerPluginConfig {

lib/src/obsoleted/analyzer_plugin/analyzer_plugin_utils.dart renamed to lib/src/analyzer_plugin/analyzer_plugin_utils.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import 'package:analyzer_plugin/protocol/protocol_common.dart' as plugin;
44
import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
55
import 'package:source_span/source_span.dart';
66

7-
import '../../models/issue.dart';
8-
import '../../models/severity.dart';
7+
import '../analyzers/models/issue.dart';
8+
import '../analyzers/models/severity.dart';
99

1010
bool isSupported(AnalysisResult result) =>
1111
result.path != null &&

lib/src/obsoleted/anti_patterns_factory.dart renamed to lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_factory.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ignore_for_file: prefer-trailing-comma
2-
import 'anti_patterns/long_method.dart';
3-
import 'anti_patterns/long_parameter_list.dart';
4-
import 'anti_patterns/obsolete_pattern.dart';
2+
import 'anti_patterns_list/long_method.dart';
3+
import 'anti_patterns_list/long_parameter_list.dart';
4+
import 'models/obsolete_pattern.dart';
55

66
final _implementedPatterns =
77
<String, ObsoletePattern Function(Map<String, Object>)>{

lib/src/obsoleted/anti_patterns/long_method.dart renamed to lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_method.dart

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import '../../metrics/source_lines_of_code/source_code_visitor.dart';
2-
import '../../models/function_type.dart';
3-
import '../../models/issue.dart';
4-
import '../../models/scoped_function_declaration.dart';
5-
import '../../utils/metric_utils.dart';
6-
import '../constants.dart';
7-
import '../models/internal_resolved_unit_result.dart';
8-
import 'obsolete_pattern.dart';
9-
import 'pattern_utils.dart' as utils;
1+
import '../../../models/function_type.dart';
2+
import '../../../models/internal_resolved_unit_result.dart';
3+
import '../../../models/issue.dart';
4+
import '../../../models/scoped_function_declaration.dart';
5+
import '../../constants.dart';
6+
import '../../metrics/metric_utils.dart';
7+
import '../../metrics/metrics_list/source_lines_of_code/source_code_visitor.dart';
8+
import '../models/obsolete_pattern.dart';
9+
import '../pattern_utils.dart' as utils;
1010

1111
class LongMethod extends ObsoletePattern {
1212
static const String patternId = 'long-method';

lib/src/obsoleted/anti_patterns/long_parameter_list.dart renamed to lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_parameter_list.dart

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import '../../metrics/number_of_parameters_metric.dart';
2-
import '../../models/function_type.dart';
3-
import '../../models/issue.dart';
4-
import '../../models/scoped_function_declaration.dart';
5-
import '../../utils/metric_utils.dart';
6-
import '../models/internal_resolved_unit_result.dart';
7-
import '../utils/metrics_analyzer_utils.dart';
8-
import 'obsolete_pattern.dart';
9-
import 'pattern_utils.dart' as utils;
1+
import '../../../models/function_type.dart';
2+
import '../../../models/internal_resolved_unit_result.dart';
3+
import '../../../models/issue.dart';
4+
import '../../../models/scoped_function_declaration.dart';
5+
import '../../metrics/metric_utils.dart';
6+
import '../../metrics/metrics_list/number_of_parameters_metric.dart';
7+
import '../../metrics_analyzer_utils.dart';
8+
import '../models/obsolete_pattern.dart';
9+
import '../pattern_utils.dart' as utils;
1010

1111
class LongParameterList extends ObsoletePattern {
1212
static const String patternId = 'long-parameter-list';

lib/src/obsoleted/anti_patterns/obsolete_pattern.dart renamed to lib/src/analyzers/lint_analyzer/anti_patterns/models/obsolete_pattern.dart

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import 'package:analyzer/dart/analysis/results.dart';
22

3-
import '../../anti_patterns/pattern.dart';
4-
import '../../models/issue.dart';
5-
import '../../models/pattern_documentation.dart';
6-
import '../../models/report.dart';
7-
import '../../models/scoped_function_declaration.dart';
8-
import '../models/internal_resolved_unit_result.dart';
3+
import '../../../models/internal_resolved_unit_result.dart';
4+
import '../../../models/issue.dart';
5+
import '../../../models/report.dart';
6+
import '../../../models/scoped_function_declaration.dart';
7+
import 'pattern.dart';
8+
import 'pattern_documentation.dart';
99

1010
abstract class ObsoletePattern extends Pattern {
1111
final Uri documentationUrl;

lib/src/anti_patterns/pattern.dart renamed to lib/src/analyzers/lint_analyzer/anti_patterns/models/pattern.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import 'package:analyzer/dart/analysis/results.dart';
22

3-
import '../models/issue.dart';
4-
import '../models/pattern_documentation.dart';
5-
import '../models/report.dart';
3+
import '../../../models/issue.dart';
4+
import '../../../models/report.dart';
5+
import 'pattern_documentation.dart';
66

77
/// An interface to communicate with a patterns
88
///

lib/src/obsoleted/anti_patterns/pattern_utils.dart renamed to lib/src/analyzers/lint_analyzer/anti_patterns/pattern_utils.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
import 'package:analyzer/dart/ast/ast.dart';
33
import 'package:source_span/source_span.dart';
44

5+
import '../../models/internal_resolved_unit_result.dart';
56
import '../../models/issue.dart';
67
import '../../models/severity.dart';
7-
import '../models/internal_resolved_unit_result.dart';
8-
import 'obsolete_pattern.dart';
8+
import 'models/obsolete_pattern.dart';
99

1010
Issue createIssue(
1111
ObsoletePattern pattern,

lib/src/utils/metric_utils.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metric_utils.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import '../models/metric_value_level.dart';
1+
import 'models/metric_value_level.dart';
22

33
/// Returns the url of a page containing documentation associated with [metricId]
44
Uri documentation(String metricId) => Uri(

lib/src/metrics_factory.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metrics_factory.dart

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import 'metrics/cyclomatic_complexity/cyclomatic_complexity_metric.dart';
2-
import 'metrics/lines_of_code_metric.dart';
3-
import 'metrics/maximum_nesting_level/maximum_nesting_level_metric.dart';
4-
import 'metrics/metric.dart';
5-
import 'metrics/number_of_methods_metric.dart';
6-
import 'metrics/number_of_parameters_metric.dart';
7-
import 'metrics/source_lines_of_code/source_lines_of_code_metric.dart';
8-
import 'metrics/weight_of_class_metric.dart';
1+
import 'metrics_list/cyclomatic_complexity/cyclomatic_complexity_metric.dart';
2+
import 'metrics_list/lines_of_code_metric.dart';
3+
import 'metrics_list/maximum_nesting_level/maximum_nesting_level_metric.dart';
4+
import 'metrics_list/number_of_methods_metric.dart';
5+
import 'metrics_list/number_of_parameters_metric.dart';
6+
import 'metrics_list/source_lines_of_code/source_lines_of_code_metric.dart';
7+
import 'metrics_list/weight_of_class_metric.dart';
98
import 'models/entity_type.dart';
9+
import 'models/metric.dart';
1010

1111
final _implementedMetrics = <String, Metric Function(Map<String, Object>)>{
1212
CyclomaticComplexityMetric.metricId: (config) =>

lib/src/metrics/cyclomatic_complexity/cyclomatic_complexity_metric.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metrics_list/cyclomatic_complexity/cyclomatic_complexity_metric.dart

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ import 'package:analyzer/dart/ast/ast.dart';
33
import 'package:analyzer/dart/ast/syntactic_entity.dart';
44
import 'package:analyzer/dart/ast/token.dart';
55

6-
import '../../models/context_message.dart';
6+
import '../../../../../utils/node_utils.dart';
7+
import '../../../../../utils/string_extension.dart';
8+
import '../../../../models/context_message.dart';
9+
import '../../../../models/scoped_class_declaration.dart';
10+
import '../../../../models/scoped_function_declaration.dart';
11+
import '../../metric_utils.dart';
712
import '../../models/entity_type.dart';
13+
import '../../models/function_metric.dart';
14+
import '../../models/metric_computation_result.dart';
815
import '../../models/metric_documentation.dart';
9-
import '../../models/scoped_class_declaration.dart';
10-
import '../../models/scoped_function_declaration.dart';
11-
import '../../utils/metric_utils.dart';
12-
import '../../utils/node_utils.dart';
13-
import '../../utils/string_extension.dart';
14-
import '../function_metric.dart';
15-
import '../metric_computation_result.dart';
1616
import 'cyclomatic_complexity_flow_visitor.dart';
1717

1818
const _documentation = MetricDocumentation(

lib/src/metrics/lines_of_code_metric.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metrics_list/lines_of_code_metric.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import 'package:analyzer/dart/analysis/results.dart';
22
import 'package:analyzer/dart/ast/ast.dart';
33

4+
import '../../../models/scoped_class_declaration.dart';
5+
import '../../../models/scoped_function_declaration.dart';
6+
import '../metric_utils.dart';
47
import '../models/entity_type.dart';
8+
import '../models/function_metric.dart';
9+
import '../models/metric_computation_result.dart';
510
import '../models/metric_documentation.dart';
6-
import '../models/scoped_class_declaration.dart';
7-
import '../models/scoped_function_declaration.dart';
8-
import '../utils/metric_utils.dart';
9-
import 'function_metric.dart';
10-
import 'metric_computation_result.dart';
1111

1212
const _documentation = MetricDocumentation(
1313
name: 'Lines of Code',

lib/src/metrics/maximum_nesting_level/maximum_nesting_level_metric.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metrics_list/maximum_nesting_level/maximum_nesting_level_metric.dart

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import 'package:analyzer/dart/analysis/results.dart';
22
import 'package:analyzer/dart/ast/ast.dart';
33

4-
import '../../models/context_message.dart';
4+
import '../../../../../utils/node_utils.dart';
5+
import '../../../../../utils/string_extension.dart';
6+
import '../../../../models/context_message.dart';
7+
import '../../../../models/scoped_class_declaration.dart';
8+
import '../../../../models/scoped_function_declaration.dart';
9+
import '../../metric_utils.dart';
510
import '../../models/entity_type.dart';
11+
import '../../models/function_metric.dart';
12+
import '../../models/metric_computation_result.dart';
613
import '../../models/metric_documentation.dart';
7-
import '../../models/scoped_class_declaration.dart';
8-
import '../../models/scoped_function_declaration.dart';
9-
import '../../utils/metric_utils.dart';
10-
import '../../utils/node_utils.dart';
11-
import '../../utils/string_extension.dart';
12-
import '../function_metric.dart';
13-
import '../metric_computation_result.dart';
1414
import 'nesting_level_visitor.dart';
1515

1616
const _documentation = MetricDocumentation(

lib/src/metrics/number_of_methods_metric.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metrics_list/number_of_methods_metric.dart

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import 'package:analyzer/dart/analysis/results.dart';
22
import 'package:analyzer/dart/ast/ast.dart';
33

4-
import '../models/context_message.dart';
4+
import '../../../../utils/node_utils.dart';
5+
import '../../../models/context_message.dart';
6+
import '../../../models/scoped_class_declaration.dart';
7+
import '../../../models/scoped_function_declaration.dart';
8+
import '../../../utils/scope_utils.dart';
9+
import '../metric_utils.dart';
10+
import '../models/class_metric.dart';
511
import '../models/entity_type.dart';
12+
import '../models/metric_computation_result.dart';
613
import '../models/metric_documentation.dart';
7-
import '../models/scoped_class_declaration.dart';
8-
import '../models/scoped_function_declaration.dart';
9-
import '../utils/metric_utils.dart';
10-
import '../utils/node_utils.dart';
11-
import '../utils/scope_utils.dart';
12-
import 'class_metric.dart';
13-
import 'metric_computation_result.dart';
1414

1515
const _documentation = MetricDocumentation(
1616
name: 'Number of Methods',

lib/src/metrics/number_of_parameters_metric.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metrics_list/number_of_parameters_metric.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import 'package:analyzer/dart/analysis/results.dart';
22
import 'package:analyzer/dart/ast/ast.dart';
33

4+
import '../../../models/scoped_class_declaration.dart';
5+
import '../../../models/scoped_function_declaration.dart';
6+
import '../metric_utils.dart';
47
import '../models/entity_type.dart';
8+
import '../models/function_metric.dart';
9+
import '../models/metric_computation_result.dart';
510
import '../models/metric_documentation.dart';
6-
import '../models/scoped_class_declaration.dart';
7-
import '../models/scoped_function_declaration.dart';
8-
import '../utils/metric_utils.dart';
9-
import 'function_metric.dart';
10-
import 'metric_computation_result.dart';
1111

1212
const _documentation = MetricDocumentation(
1313
name: 'Number of Parameters',

lib/src/metrics/source_lines_of_code/source_lines_of_code_metric.dart renamed to lib/src/analyzers/lint_analyzer/metrics/metrics_list/source_lines_of_code/source_lines_of_code_metric.dart

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ import 'package:analyzer/dart/analysis/results.dart';
22
import 'package:analyzer/dart/ast/ast.dart';
33
import 'package:source_span/source_span.dart';
44

5-
import '../../models/context_message.dart';
5+
import '../../../../models/context_message.dart';
6+
import '../../../../models/scoped_class_declaration.dart';
7+
import '../../../../models/scoped_function_declaration.dart';
8+
import '../../metric_utils.dart';
69
import '../../models/entity_type.dart';
10+
import '../../models/function_metric.dart';
11+
import '../../models/metric_computation_result.dart';
712
import '../../models/metric_documentation.dart';
8-
import '../../models/scoped_class_declaration.dart';
9-
import '../../models/scoped_function_declaration.dart';
10-
import '../../utils/metric_utils.dart';
11-
import '../function_metric.dart';
12-
import '../metric_computation_result.dart';
1313
import 'source_code_visitor.dart';
1414

1515
const _documentation = MetricDocumentation(

0 commit comments

Comments
 (0)