Merge branch 'main' into Fix-timestamp-comparisons-in-ZCL_ABAPGIT_FIELD_RULES

This commit is contained in:
Marc Bernard 2024-09-16 12:51:16 -04:00 committed by GitHub
commit b398a206f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
64 changed files with 529 additions and 424 deletions

View File

@ -11,11 +11,43 @@
"folder": "/deps" "folder": "/deps"
}, },
{ {
"url": "https://github.com/abaplint/deps",
"files": "/src/**/*.*", "files": "/src/**/*.*",
"folder": "/lint_deps", "folder": "/lint_deps"
"url": "https://github.com/abaplint/deps"
} }
], ],
"syntax": {
"errorNamespace": "^(Z|Y|LT?CL_|TY_|LIF_|C_|.*ABAPGIT)",
"globalConstants": [
"abap_func_exporting",
"abap_func_tables",
"cssf_formtype_text",
"seok_access_free",
"seok_access_modify",
"sews_c_vif_version",
"skwfc_obtype_folder",
"skwfc_obtype_loio",
"so2_controller",
"srext_ext_class_pool",
"srext_ext_interface_pool",
"ststc_c_type_dialog",
"ststc_c_type_object",
"ststc_c_type_parameters",
"ststc_c_type_report",
"swbm_c_op_delete_no_dialog",
"swbm_c_type_ddic_db_tabxinx",
"swbm_c_type_wdy_application",
"swbm_version_active",
"swbm_version_inactive",
"swfco_org_standard_task",
"swfco_org_workflow_template",
"wbmr_c_skwf_folder_class",
"wdyn_limu_component_controller",
"wdyn_limu_component_definition",
"wdyn_limu_component_view"
],
"version": "v702"
},
"rules": { "rules": {
"7bit_ascii": { "7bit_ascii": {
"exclude": [ "exclude": [
@ -25,6 +57,7 @@
] ]
}, },
"abapdoc": false, "abapdoc": false,
"align_type_expressions": true,
"align_pseudo_comments": false, "align_pseudo_comments": false,
"invalid_table_index": true, "invalid_table_index": true,
"tables_declared_locally": true, "tables_declared_locally": true,
@ -259,7 +292,7 @@
"/json/", "/json/",
"zcl_abapgit_object_pdts.clas.testclasses.abap" "zcl_abapgit_object_pdts.clas.testclasses.abap"
], ],
"length": 120 "length": 125
}, },
"line_only_punc": { "line_only_punc": {
"ignoreExceptions": true "ignoreExceptions": true
@ -468,37 +501,5 @@
"when_others_last": true, "when_others_last": true,
"whitespace_end": true, "whitespace_end": true,
"xml_consistency": true "xml_consistency": true
},
"syntax": {
"errorNamespace": "^(Z|Y|LT?CL_|TY_|LIF_|C_|.*ABAPGIT)",
"globalConstants": [
"abap_func_exporting",
"abap_func_tables",
"cssf_formtype_text",
"seok_access_free",
"seok_access_modify",
"sews_c_vif_version",
"skwfc_obtype_folder",
"skwfc_obtype_loio",
"so2_controller",
"srext_ext_class_pool",
"srext_ext_interface_pool",
"ststc_c_type_dialog",
"ststc_c_type_object",
"ststc_c_type_parameters",
"ststc_c_type_report",
"swbm_c_op_delete_no_dialog",
"swbm_c_type_ddic_db_tabxinx",
"swbm_c_type_wdy_application",
"swbm_version_active",
"swbm_version_inactive",
"swfco_org_standard_task",
"swfco_org_workflow_template",
"wbmr_c_skwf_folder_class",
"wdyn_limu_component_controller",
"wdyn_limu_component_definition",
"wdyn_limu_component_view"
],
"version": "v702"
} }
} }

View File

@ -481,9 +481,10 @@ CLASS zcl_abapgit_git_pack IMPLEMENTATION.
ls_node-chmod = lv_chmod. ls_node-chmod = lv_chmod.
IF ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-dir IF ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-dir
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-file AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-file
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-symbolic_link
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-executable AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-executable
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-submodule. AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-submodule.
zcx_abapgit_exception=>raise( |Unknown chmod| ). zcx_abapgit_exception=>raise( |Unknown chmod { ls_node-chmod }| ).
ENDIF. ENDIF.
lv_offset = lv_match + 1. lv_offset = lv_match + 1.

View File

@ -809,6 +809,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
CASE <ls_node>-chmod. CASE <ls_node>-chmod.
WHEN zif_abapgit_git_definitions=>c_chmod-file WHEN zif_abapgit_git_definitions=>c_chmod-file
OR zif_abapgit_git_definitions=>c_chmod-executable OR zif_abapgit_git_definitions=>c_chmod-executable
OR zif_abapgit_git_definitions=>c_chmod-symbolic_link
OR zif_abapgit_git_definitions=>c_chmod-submodule. OR zif_abapgit_git_definitions=>c_chmod-submodule.
APPEND INITIAL LINE TO rt_expanded ASSIGNING <ls_exp>. APPEND INITIAL LINE TO rt_expanded ASSIGNING <ls_exp>.
<ls_exp>-path = iv_base. <ls_exp>-path = iv_base.
@ -822,7 +823,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
iv_base = iv_base && <ls_node>-name && '/' ). iv_base = iv_base && <ls_node>-name && '/' ).
APPEND LINES OF lt_expanded TO rt_expanded. APPEND LINES OF lt_expanded TO rt_expanded.
WHEN OTHERS. WHEN OTHERS.
zcx_abapgit_exception=>raise( 'walk_tree: unknown chmod' ). zcx_abapgit_exception=>raise( |walk_tree: unknown chmod { <ls_node>-chmod }| ).
ENDCASE. ENDCASE.
ENDLOOP. ENDLOOP.

View File

@ -82,6 +82,7 @@ INTERFACE zif_abapgit_git_definitions
executable TYPE ty_chmod VALUE '100755', executable TYPE ty_chmod VALUE '100755',
dir TYPE ty_chmod VALUE '40000 ', dir TYPE ty_chmod VALUE '40000 ',
submodule TYPE ty_chmod VALUE '160000', submodule TYPE ty_chmod VALUE '160000',
symbolic_link TYPE ty_chmod VALUE '120000',
END OF c_chmod . END OF c_chmod .
TYPES: TYPES:

View File

@ -46,7 +46,7 @@ CLASS zcl_abapgit_objects_activation DEFINITION
CONSTANTS: CONSTANTS:
c_domain TYPE c LENGTH 9 VALUE 'DOMA DOMD', c_domain TYPE c LENGTH 9 VALUE 'DOMA DOMD',
c_types TYPE c LENGTH 50 VALUE 'DTEL DTED TABL TABD SQLT SQLD TTYP TTYD VIEW VIED', c_types TYPE c LENGTH 55 VALUE 'DTEL DTED TABL TABD SQLT SQLD TTYP TTYD VIEW VIED DRTY',
c_technset TYPE c LENGTH 24 VALUE 'TABT VIET SQTT INDX XINX', c_technset TYPE c LENGTH 24 VALUE 'TABT VIET SQTT INDX XINX',
c_f4_objects TYPE c LENGTH 35 VALUE 'SHLP SHLD MCOB MCOD MACO MACD MCID', c_f4_objects TYPE c LENGTH 35 VALUE 'SHLP SHLD MCOB MCOD MACO MACD MCID',
c_enqueue TYPE c LENGTH 9 VALUE 'ENQU ENQD', c_enqueue TYPE c LENGTH 9 VALUE 'ENQU ENQD',

View File

@ -1,6 +1,10 @@
CLASS zcl_abapgit_object_fugr DEFINITION PUBLIC INHERITING FROM zcl_abapgit_objects_program FINAL. CLASS zcl_abapgit_object_fugr DEFINITION
PUBLIC
INHERITING FROM zcl_abapgit_objects_program
CREATE PUBLIC .
PUBLIC SECTION. PUBLIC SECTION.
INTERFACES zif_abapgit_object . INTERFACES zif_abapgit_object .
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
@ -945,7 +949,6 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
FIELD-SYMBOLS: <lv_include> LIKE LINE OF lt_includes. FIELD-SYMBOLS: <lv_include> LIKE LINE OF lt_includes.
lt_includes = includes( ). lt_includes = includes( ).
LOOP AT lt_includes ASSIGNING <lv_include>. LOOP AT lt_includes ASSIGNING <lv_include>.

View File

@ -0,0 +1,17 @@
CLASS zcl_abapgit_object_fugs DEFINITION
PUBLIC
INHERITING FROM zcl_abapgit_object_fugr
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_abapgit_object_fugs IMPLEMENTATION.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_OBJECT_FUGS</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - FUGS</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -154,6 +154,7 @@ CLASS zcl_abapgit_objects_program DEFINITION
!it_source TYPE abaptxt255_tab !it_source TYPE abaptxt255_tab
!iv_title TYPE repti !iv_title TYPE repti
!iv_package TYPE devclass !iv_package TYPE devclass
!iv_state TYPE progdir-state DEFAULT c_state-inactive
RAISING RAISING
zcx_abapgit_exception . zcx_abapgit_exception .
METHODS update_program METHODS update_program
@ -161,6 +162,20 @@ CLASS zcl_abapgit_objects_program DEFINITION
!is_progdir TYPE zif_abapgit_sap_report=>ty_progdir !is_progdir TYPE zif_abapgit_sap_report=>ty_progdir
!it_source TYPE abaptxt255_tab !it_source TYPE abaptxt255_tab
!iv_title TYPE repti !iv_title TYPE repti
!iv_state TYPE progdir-state DEFAULT c_state-inactive
RAISING
zcx_abapgit_exception .
METHODS is_exit_include
IMPORTING
!iv_program TYPE syrepid
RETURNING
VALUE(rv_is_exit_include) TYPE abap_bool.
METHODS deserialize_exit_include
IMPORTING
!is_progdir TYPE zif_abapgit_sap_report=>ty_progdir
!it_source TYPE abaptxt255_tab
!it_tpool TYPE textpool_table
!iv_package TYPE devclass
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
ENDCLASS. ENDCLASS.
@ -456,12 +471,53 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD deserialize_exit_include.
DATA:
lv_progname TYPE reposrc-progname,
lv_title TYPE rglif-title.
" Includes in SAP exit function groups must be processed in active state only
" (check in RS_INSERT_INTO_WORKING_AREA)
lv_title = get_program_title( it_tpool ).
SELECT SINGLE progname FROM reposrc INTO lv_progname
WHERE progname = is_progdir-name
AND r3state = c_state-active.
IF sy-subrc = 0.
update_program(
is_progdir = is_progdir
it_source = it_source
iv_title = lv_title
iv_state = '' ).
ELSE.
insert_program(
is_progdir = is_progdir
it_source = it_source
iv_title = lv_title
iv_package = iv_package
iv_state = '' ).
ENDIF.
ENDMETHOD.
METHOD deserialize_program. METHOD deserialize_program.
DATA: DATA:
lv_progname TYPE reposrc-progname, lv_progname TYPE reposrc-progname,
lv_title TYPE rglif-title. lv_title TYPE rglif-title.
IF is_exit_include( is_progdir-name ) = abap_true.
deserialize_exit_include(
is_progdir = is_progdir
it_source = it_source
it_tpool = it_tpool
iv_package = iv_package ).
RETURN.
ENDIF.
zcl_abapgit_factory=>get_cts_api( )->insert_transport_object( zcl_abapgit_factory=>get_cts_api( )->insert_transport_object(
iv_object = 'ABAP' iv_object = 'ABAP'
iv_obj_name = is_progdir-name iv_obj_name = is_progdir-name
@ -579,7 +635,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
program_name = is_progdir-name program_name = is_progdir-name
program_type = is_progdir-subc program_type = is_progdir-subc
title_string = iv_title title_string = iv_title
save_inactive = c_state-inactive save_inactive = iv_state
suppress_dialog = abap_true suppress_dialog = abap_true
uccheck = is_progdir-uccheck " does not exist on lower releases uccheck = is_progdir-uccheck " does not exist on lower releases
TABLES TABLES
@ -597,7 +653,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
program_name = is_progdir-name program_name = is_progdir-name
program_type = is_progdir-subc program_type = is_progdir-subc
title_string = iv_title title_string = iv_title
save_inactive = c_state-inactive save_inactive = iv_state
suppress_dialog = abap_true suppress_dialog = abap_true
TABLES TABLES
source_extended = it_source source_extended = it_source
@ -674,6 +730,13 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD is_exit_include.
rv_is_exit_include = boolc(
iv_program CP 'LX*' OR iv_program CP 'SAPLX*' OR
iv_program+1 CP '/LX*' OR iv_program+1 CP '/SAPLX*' ).
ENDMETHOD.
METHOD is_text_locked. METHOD is_text_locked.
DATA: lv_object TYPE eqegraarg. DATA: lv_object TYPE eqegraarg.
@ -1062,7 +1125,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
EXPORTING EXPORTING
program_name = is_progdir-name program_name = is_progdir-name
title_string = iv_title title_string = iv_title
save_inactive = c_state-inactive save_inactive = iv_state
TABLES TABLES
source_extended = it_source source_extended = it_source
EXCEPTIONS EXCEPTIONS
@ -1080,7 +1143,9 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
" for generated table maintenance function groups, the author is set to SAP* instead of the user which " for generated table maintenance function groups, the author is set to SAP* instead of the user which
" generates the function group. This hits some standard checks, pulling new code again sets the author " generates the function group. This hits some standard checks, pulling new code again sets the author
" to the current user which avoids the check " to the current user which avoids the check
IF is_exit_include( is_progdir-name ) = abap_false.
zcx_abapgit_exception=>raise( |Delete function group and pull again, { is_progdir-name } (EU522)| ). zcx_abapgit_exception=>raise( |Delete function group and pull again, { is_progdir-name } (EU522)| ).
ENDIF.
ELSE. ELSE.
zcx_abapgit_exception=>raise_t100( ). zcx_abapgit_exception=>raise_t100( ).
ENDIF. ENDIF.