From 1c8fda3da594d05b15912e3a920f64e67b17a78e Mon Sep 17 00:00:00 2001 From: oblomov-dev <102328295+oblomov-dev@users.noreply.github.com> Date: Tue, 18 Feb 2025 21:53:17 +0000 Subject: [PATCH] update abaplint autofix action --- .github/abaplint/abaplint_fix.jsonc | 359 +++++++++++++++++++++++ .github/workflows/auto_abaplint.yaml | 22 ++ src/01/02/z2ui5_cl_core_client.clas.abap | 30 +- src/02/z2ui5_cl_http_handler.clas.abap | 2 +- src/02/z2ui5_cl_xml_view.clas.abap | 38 +-- 5 files changed, 416 insertions(+), 35 deletions(-) create mode 100644 .github/abaplint/abaplint_fix.jsonc create mode 100644 .github/workflows/auto_abaplint.yaml diff --git a/.github/abaplint/abaplint_fix.jsonc b/.github/abaplint/abaplint_fix.jsonc new file mode 100644 index 00000000..0add0b93 --- /dev/null +++ b/.github/abaplint/abaplint_fix.jsonc @@ -0,0 +1,359 @@ +{ + "global": { + "files": "/../../src/**/*.*", + "noIssues": [ "/src/00" ] + }, + "dependencies": [ + { + "url": "https://github.com/abapedia/steampunk-2305-api-intersect-702", + "folder": "/deps", + "files": "/src/**/*.*" + } + ], + "syntax": { + "version": "v750", + "errorNamespace": "." + }, + "rules": { + "7bit_ascii": true, + "abapdoc": false, + "sql_value_conversion" : true, + "select_single_full_key" : true, + "strict_sql" : true, + "easy_to_find_messages" : true, + "fully_type_itabs" : true, + "align_parameters": true, + "smim_consistency": true, + "allowed_object_naming": true, + "allowed_object_types": { + "allowed": [ + "CLAS", + "DEVC", + "INTF", + "TABL", + ] + }, + "ambiguous_statement": true, + "avoid_use": { + "severity": "Error", + "skipQuickFix": false, + "define": true, + "statics": true, + "defaultKey": true, + "break": true, + "testSeams": true, + "describeLines": true, + "exportToMemory": true, + "exportToDatabase": true +}, + "begin_end_names": true, + "align_pseudo_comments" : true, + "dynpro_checks" : true, + "empty_event" : true, + "invalid_table_index" : true, + "macro_naming" : true, + "prefer_pragmas" : true, + "add_test_attributes" : true, + "implicit_start_of_selection" : true, + "reduce_procedural_code" : true, + "tables_declared_locally" : true, + "unused_macros" : true, + "align_type_expressions" : true, + "no_prefixes" : false, + "begin_single_include": true, + "call_transaction_authority_check": true, + "cds_comment_style": true, + "cds_legacy_view": true, + "cds_parser_error": true, + "chain_mainly_declarations": true, + "change_if_to_case": true, + "check_abstract": true, + "check_comments": true, + "check_ddic": true, + "check_include": true, + "check_subrc": true, + "check_syntax": true, + "check_text_elements": true, + "check_transformation_exists": true, + "class_attribute_names": false, + "classic_exceptions_overlap": true, + "cloud_types": true, + "colon_missing_space": true, + "commented_code": false, + "constant_classes": true, + "constructor_visibility_public": true, + "contains_tab": false, + "cyclic_oo": false, + "cyclomatic_complexity": { + "exclude": [], + "severity": "Error", + "max": 8 + }, + "dangerous_statement": { + "exclude": [], + "severity": "Error", + "execSQL": true, + "kernelCall": true, + "systemCall": true, + "insertReport": true, + "generateDynpro": true, + "generateReport": true, + "generateSubroutine": true, + "deleteReport": true, + "deleteTextpool": true, + "deleteDynpro": true, + "exportDynpro": true, + "dynamicSQL": true +}, + "db_operation_in_loop": true, + "definitions_top": false, + "description_empty": true, + "double_space": false, + "downport": true, + "empty_line_in_statement": true, + "empty_statement": true, + "empty_structure": { + "loop": false, + "if": true, + "while": true, + "case": true, + "select": true, + "do": true, + "at": true, + "try": true, + "when": false + }, + "exit_or_check": true, + "expand_macros": true, + "exporting": true, + "forbidden_identifier": true, + "forbidden_pseudo_and_pragma": { + "exclude": [], + "severity": "Error", + "pseudo": [], + "pragmas": [], + "ignoreGlobalClassDefinition": false, + "ignoreGlobalInterface": false + }, + "form_tables_obsolete": true, + "fully_type_constants": { + "checkData": true + }, + "function_module_recommendations": true, + "functional_writing": { + "ignoreExceptions": true + }, + "global_class": true, + "identical_conditions": true, + "identical_contents": true, + "identical_descriptions": true, + "identical_form_names": true, + "if_in_if": true, + "implement_methods": true, + "in_statement_indentation": false, + "indentation": true, + "inline_data_old_versions": true, + "intf_referencing_clas": false, + "keep_single_parameter_on_one_line": false, + "keyword_case": false, + "line_break_multiple_parameters": false, + "line_break_style": true, + "line_length": false, + "line_only_punc": false, + "local_class_naming": false, + "local_testclass_consistency": true, + "local_variable_names": false, + "main_file_contents": true, + "many_parentheses": true, + "max_one_method_parameter_per_line": true, + "max_one_statement": true, + "message_exists": true, + "method_implemented_twice": true, + "method_length": { + "exclude": [], + "severity": "Error", + "statements": 100, + "errorWhenEmpty": false, + "ignoreTestClasses": true, + "checkForms": true + }, + "method_overwrites_builtin": { + "exclude": [ "z2ui5_cl_xml_view" ], + "severity": "Error" +}, + "method_parameter_names": false, + "mix_returning": false, + "modify_only_own_db_tables": { + "reportDynamic": true, + "ownTables": "^[yz]" + }, + "msag_consistency": true, + "names_no_dash": true, + "nesting": { + "depth": 5 + }, + "newline_between_methods": true, + "no_aliases": true, + "no_chained_assignment": true, + "no_external_form_calls": true, + "no_inline_in_optional_branches": false, + "no_public_attributes": false, + "no_yoda_conditions": true, + "nrob_consistency": true, + "object_naming": { + "exclude": [], + "severity": "Error", + "patternKind": "required", + "ignoreNames": [], + "ignorePatterns": [], + "clas": "^Z2UI5_C(L|X)", + "intf": "^Z2UI5_IF", + "prog": "^Z", + "fugr": "^Z", + "tabl": "^Z", + "ttyp": "^Z", + "dtel": "^Z", + "doma": "^Z", + "msag": "^Z", + "tran": "^Z", + "enqu": "^EZ", + "auth": "^Z", + "pinf": "^Z", + "idoc": "^Z", + "xslt": "^Z", + "ssfo": "^Z", + "ssst": "^Z", + "shlp": "^Z" + }, + "obsolete_statement": true, + "omit_parameter_name": true, + "omit_preceding_zeros": true, + "omit_receiving": true, + "parser_702_chaining": true, + "parser_error": true, + "parser_missing_space": true, + "pragma_style": true, + "prefer_corresponding": true, + "prefer_inline": true, + "prefer_is_not": true, + "prefer_raise_exception_new": true, + "prefer_returning_to_exporting": true, + "prefer_xsdbool": true, + "preferred_compare_operator": true, + "prefix_is_current_class": { + "severity": "Warning" + }, + "reduce_string_templates": true, + "release_idoc": true, + "remove_descriptions": { + "exclude": [], + "severity": "Error", + "ignoreExceptions": false, + "ignoreWorkflow": false + }, + "rfc_error_handling": true, + "select_add_order_by": false, + "select_performance": true, + "selection_screen_naming": true, + "sequential_blank": { + "severity": "Warning" + }, + "short_case": true, + "sicf_consistency": true, + "slow_parameter_passing": true, + "space_before_colon": true, + "space_before_dot": true, + "sql_escape_host_variables": true, + "start_at_tab": false, + "static_call_via_instance": { + "allowInTestclassIncludes": false + }, + "superclass_final": true, + "superfluous_value": true, + "sy_modification": true, + "tabl_enhancement_category": true, + "try_without_catch": true, + "type_form_parameters": true, + "types_naming": false, + "uncaught_exception": true, + "unknown_types": true, + "unnecessary_chaining": true, + "unnecessary_pragma": true, + "unnecessary_return": true, + "unreachable_code": true, + "unsecure_fae": true, + "unused_ddic": true, + "unused_methods": true, + "unused_types": true, + "unused_variables": { + "severity": "Error", + "skipNames": ["lv_dummy"] + }, + "use_bool_expression": true, + "use_class_based_exceptions": true, + "use_line_exists": true, + "use_new": true, + "when_others_last": true, + "whitespace_end": false, + "xml_consistency": true, + "forbidden_void_type": { + "check": [ + "^boole_d$", + "^char10$", + "^char12$", + "^char2$", + "^char20$", + "^char30$", + "^char4$", + "^char50$", + "^char70$", + "^cl_abap_syst", + "^cl_aff_", + "^cl_aucv_test_runner_abstract$", + "^cl_aucv_test_runner_standard$", + "^cl_aunit_assert$", + "^cl_axt_dbtable$", + "^cl_blue_wb_utility$", + "^cl_oo_source$", + "^/ui2/cl_$", + "^/ui2/cl_", + "^cl_saunit_internal_result$", + "^cl_srvd_wb_object_data$", + "^cl_wb_object_operator_factory$", + "^cl_wer_const$", + "^cl_xco_", + "^cx_aff_", + "^cx_wb_object_operation_error$", + "^cx_xco_", + "^flag$", + "^i18_a_langiso2$", + "^if_adt_lock_handle$", + "^if_aff_", + "^if_satc_ci_variant_access$", + "^if_saunit_internal_result$", + "^if_saunit_internal_result_type$", + "^if_srvd_types$", + "^if_wb_adt_plugin_resource_co$", + "^if_wb_object_data_selection_co$", + "^if_wb_object_operator$", + "^if_xco_", + "^int4$", + "^numc2$", + "^sabp_t_tadir_keys$", + "^sap_bool$", + "^srcsystem$", + "^stringtab$", + "^sychar01$", + "^sychar10$", + "^sychar70$", + "^sydatum$", + "^sylangu$", + "^syst_title$", + "^syuzeit$", + "^xubname$", + "^feld$", + "^abap_boolean$", + ] + }, + } +} diff --git a/.github/workflows/auto_abaplint.yaml b/.github/workflows/auto_abaplint.yaml new file mode 100644 index 00000000..be929c67 --- /dev/null +++ b/.github/workflows/auto_abaplint.yaml @@ -0,0 +1,22 @@ +name: auto_abaplint +on: + push: + branches: + - "main" + workflow_dispatch: + +jobs: + auto_abaplint: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: run transformation + run: | + npx abaplint .github/abaplint/abaplint_fix.jsonc --fix + + - name: Open PR + uses: peter-evans/create-pull-request@v4 + with: + title: abaplint auto fixes diff --git a/src/01/02/z2ui5_cl_core_client.clas.abap b/src/01/02/z2ui5_cl_core_client.clas.abap index 0e5642c8..429bc26f 100644 --- a/src/01/02/z2ui5_cl_core_client.clas.abap +++ b/src/01/02/z2ui5_cl_core_client.clas.abap @@ -312,11 +312,11 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION. DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ). result = lo_bind->main( val = z2ui5_cl_util=>conv_get_as_data_ref( val ) type = z2ui5_if_core_types=>cs_bind_type-one_way - config = VALUE #( path_only = path - custom_filter = custom_filter - custom_mapper = custom_mapper - tab = z2ui5_cl_util=>conv_get_as_data_ref( tab ) - tab_index = tab_index + config = VALUE #( path_only = path + custom_filter = custom_filter + custom_mapper = custom_mapper + tab = z2ui5_cl_util=>conv_get_as_data_ref( tab ) + tab_index = tab_index switch_default_model = switch_Default_Model ) ). @@ -327,13 +327,13 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION. DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ). result = lo_bind->main( val = z2ui5_cl_util=>conv_get_as_data_ref( val ) type = z2ui5_if_core_types=>cs_bind_type-two_way - config = VALUE #( path_only = path - custom_filter = custom_filter - custom_filter_back = custom_filter_back - custom_mapper = custom_mapper - custom_mapper_back = custom_mapper_back - tab = z2ui5_cl_util=>conv_get_as_data_ref( tab ) - tab_index = tab_index + config = VALUE #( path_only = path + custom_filter = custom_filter + custom_filter_back = custom_filter_back + custom_mapper = custom_mapper + custom_mapper_back = custom_mapper_back + tab = z2ui5_cl_util=>conv_get_as_data_ref( tab ) + tab_index = tab_index switch_default_model = switch_Default_Model ) ). ENDMETHOD. @@ -342,9 +342,9 @@ CLASS z2ui5_cl_core_client IMPLEMENTATION. DATA(lo_bind) = NEW z2ui5_cl_core_srv_bind( mo_action->mo_app ). result = lo_bind->main_local( val = val - config = VALUE #( path_only = path - custom_mapper = custom_mapper - custom_filter = custom_filter + config = VALUE #( path_only = path + custom_mapper = custom_mapper + custom_filter = custom_filter switch_default_model = switch_Default_Model ) ). ENDMETHOD. diff --git a/src/02/z2ui5_cl_http_handler.clas.abap b/src/02/z2ui5_cl_http_handler.clas.abap index 4eb0f062..e2f72a2e 100644 --- a/src/02/z2ui5_cl_http_handler.clas.abap +++ b/src/02/z2ui5_cl_http_handler.clas.abap @@ -123,7 +123,7 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION. result = NEW #( ). result->mo_server = z2ui5_cl_util_abap_http=>factory_cloud( req = req - res = res ). + res = res ). ENDMETHOD. diff --git a/src/02/z2ui5_cl_xml_view.clas.abap b/src/02/z2ui5_cl_xml_view.clas.abap index 769e4e12..8a2e8290 100644 --- a/src/02/z2ui5_cl_xml_view.clas.abap +++ b/src/02/z2ui5_cl_xml_view.clas.abap @@ -5428,7 +5428,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD avatar_group_item. result = me. - _generic( name = `AvatarGroupItem` + _generic( name = `AvatarGroupItem` ns = `f` t_prop = VALUE #( ( n = `id` v = id ) ( n = `busy` v = busy ) @@ -5997,7 +5997,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. ENDMETHOD. METHOD comparison_micro_chart. - result = _generic( name = `ComparisonMicroChart` + result = _generic( name = `ComparisonMicroChart` ns = `mchart` t_prop = VALUE #( ( n = `colorPalette` v = colorpalette ) ( n = `press` v = press ) @@ -6255,8 +6255,8 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. ENDMETHOD. METHOD drag_drop_config. - result = _generic( name = `dragDropConfig` - ns = ns + result = _generic( name = `dragDropConfig` + ns = ns ). ENDMETHOD. @@ -6988,9 +6988,9 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD harvey_ball_micro_chart. - result = _generic( name = `HarveyBallMicroChart` - ns = `mchart` - t_prop = VALUE #( ( n = `colorPalette` v = colorpalette ) + result = _generic( name = `HarveyBallMicroChart` + ns = `mchart` + t_prop = VALUE #( ( n = `colorPalette` v = colorpalette ) ( n = `press` v = press ) ( n = `size` v = size ) ( n = `height` v = height ) @@ -10947,7 +10947,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD control_configuration. result = me. - _generic( name = `ControlConfiguration` + _generic( name = `ControlConfiguration` ns = `smartFilterBar` t_prop = VALUE #( ( n = `id` v = id ) ( n = `key` v = key ) @@ -10959,7 +10959,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD smart_table. - result = _generic( name = `SmartTable` + result = _generic( name = `SmartTable` ns = `smartTable` t_prop = VALUE #( ( n = `id` v = id ) @@ -10981,21 +10981,21 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD _control_configuration. - result = _generic( name = `controlConfiguration` - ns = `smartFilterBar` + result = _generic( name = `controlConfiguration` + ns = `smartFilterBar` ). ENDMETHOD. METHOD viz_dataset. - result = _generic( name = 'dataset' - ns = 'viz' ). + result = _generic( name = 'dataset' + ns = 'viz' ). ENDMETHOD. METHOD viz_dimensions. - result = _generic( name = 'dimensions' - ns = 'viz.data' ). + result = _generic( name = 'dimensions' + ns = 'viz.data' ). ENDMETHOD. @@ -11013,8 +11013,8 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD viz_feeds. - result = _generic( name = 'feeds' - ns = 'viz' ). + result = _generic( name = 'feeds' + ns = 'viz' ). ENDMETHOD. @@ -11085,8 +11085,8 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD viz_measures. - result = _generic( name = 'measures' - ns = 'viz.data' ). + result = _generic( name = 'measures' + ns = 'viz.data' ). ENDMETHOD. METHOD viz_measure_definition.