mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
Merge branch 'main' into Fix-timestamp-comparisons-in-ZCL_ABAPGIT_FIELD_RULES
This commit is contained in:
commit
b398a206f1
|
@ -11,11 +11,43 @@
|
|||
"folder": "/deps"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/abaplint/deps",
|
||||
"files": "/src/**/*.*",
|
||||
"folder": "/lint_deps",
|
||||
"url": "https://github.com/abaplint/deps"
|
||||
"folder": "/lint_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": {
|
||||
"7bit_ascii": {
|
||||
"exclude": [
|
||||
|
@ -25,6 +57,7 @@
|
|||
]
|
||||
},
|
||||
"abapdoc": false,
|
||||
"align_type_expressions": true,
|
||||
"align_pseudo_comments": false,
|
||||
"invalid_table_index": true,
|
||||
"tables_declared_locally": true,
|
||||
|
@ -259,7 +292,7 @@
|
|||
"/json/",
|
||||
"zcl_abapgit_object_pdts.clas.testclasses.abap"
|
||||
],
|
||||
"length": 120
|
||||
"length": 125
|
||||
},
|
||||
"line_only_punc": {
|
||||
"ignoreExceptions": true
|
||||
|
@ -468,37 +501,5 @@
|
|||
"when_others_last": true,
|
||||
"whitespace_end": 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"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -481,9 +481,10 @@ CLASS zcl_abapgit_git_pack IMPLEMENTATION.
|
|||
ls_node-chmod = lv_chmod.
|
||||
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-symbolic_link
|
||||
AND ls_node-chmod <> zif_abapgit_git_definitions=>c_chmod-executable
|
||||
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.
|
||||
|
||||
lv_offset = lv_match + 1.
|
||||
|
|
|
@ -809,6 +809,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
CASE <ls_node>-chmod.
|
||||
WHEN zif_abapgit_git_definitions=>c_chmod-file
|
||||
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.
|
||||
APPEND INITIAL LINE TO rt_expanded ASSIGNING <ls_exp>.
|
||||
<ls_exp>-path = iv_base.
|
||||
|
@ -822,7 +823,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
iv_base = iv_base && <ls_node>-name && '/' ).
|
||||
APPEND LINES OF lt_expanded TO rt_expanded.
|
||||
WHEN OTHERS.
|
||||
zcx_abapgit_exception=>raise( 'walk_tree: unknown chmod' ).
|
||||
zcx_abapgit_exception=>raise( |walk_tree: unknown chmod { <ls_node>-chmod }| ).
|
||||
ENDCASE.
|
||||
ENDLOOP.
|
||||
|
||||
|
|
|
@ -82,6 +82,7 @@ INTERFACE zif_abapgit_git_definitions
|
|||
executable TYPE ty_chmod VALUE '100755',
|
||||
dir TYPE ty_chmod VALUE '40000 ',
|
||||
submodule TYPE ty_chmod VALUE '160000',
|
||||
symbolic_link TYPE ty_chmod VALUE '120000',
|
||||
END OF c_chmod .
|
||||
|
||||
TYPES:
|
||||
|
|
|
@ -46,7 +46,7 @@ CLASS zcl_abapgit_objects_activation DEFINITION
|
|||
|
||||
CONSTANTS:
|
||||
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_f4_objects TYPE c LENGTH 35 VALUE 'SHLP SHLD MCOB MCOD MACO MACD MCID',
|
||||
c_enqueue TYPE c LENGTH 9 VALUE 'ENQU ENQD',
|
||||
|
|
|
@ -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.
|
||||
|
||||
INTERFACES zif_abapgit_object .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
@ -945,7 +949,6 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
|||
|
||||
FIELD-SYMBOLS: <lv_include> LIKE LINE OF lt_includes.
|
||||
|
||||
|
||||
lt_includes = includes( ).
|
||||
|
||||
LOOP AT lt_includes ASSIGNING <lv_include>.
|
||||
|
|
17
src/objects/zcl_abapgit_object_fugs.clas.abap
Normal file
17
src/objects/zcl_abapgit_object_fugs.clas.abap
Normal 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.
|
16
src/objects/zcl_abapgit_object_fugs.clas.xml
Normal file
16
src/objects/zcl_abapgit_object_fugs.clas.xml
Normal 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>
|
|
@ -154,6 +154,7 @@ CLASS zcl_abapgit_objects_program DEFINITION
|
|||
!it_source TYPE abaptxt255_tab
|
||||
!iv_title TYPE repti
|
||||
!iv_package TYPE devclass
|
||||
!iv_state TYPE progdir-state DEFAULT c_state-inactive
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS update_program
|
||||
|
@ -161,6 +162,20 @@ CLASS zcl_abapgit_objects_program DEFINITION
|
|||
!is_progdir TYPE zif_abapgit_sap_report=>ty_progdir
|
||||
!it_source TYPE abaptxt255_tab
|
||||
!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
|
||||
zcx_abapgit_exception.
|
||||
ENDCLASS.
|
||||
|
@ -456,12 +471,53 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
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.
|
||||
|
||||
DATA:
|
||||
lv_progname TYPE reposrc-progname,
|
||||
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(
|
||||
iv_object = 'ABAP'
|
||||
iv_obj_name = is_progdir-name
|
||||
|
@ -579,7 +635,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
program_name = is_progdir-name
|
||||
program_type = is_progdir-subc
|
||||
title_string = iv_title
|
||||
save_inactive = c_state-inactive
|
||||
save_inactive = iv_state
|
||||
suppress_dialog = abap_true
|
||||
uccheck = is_progdir-uccheck " does not exist on lower releases
|
||||
TABLES
|
||||
|
@ -597,7 +653,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
program_name = is_progdir-name
|
||||
program_type = is_progdir-subc
|
||||
title_string = iv_title
|
||||
save_inactive = c_state-inactive
|
||||
save_inactive = iv_state
|
||||
suppress_dialog = abap_true
|
||||
TABLES
|
||||
source_extended = it_source
|
||||
|
@ -674,6 +730,13 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
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.
|
||||
|
||||
DATA: lv_object TYPE eqegraarg.
|
||||
|
@ -1062,7 +1125,7 @@ CLASS zcl_abapgit_objects_program IMPLEMENTATION.
|
|||
EXPORTING
|
||||
program_name = is_progdir-name
|
||||
title_string = iv_title
|
||||
save_inactive = c_state-inactive
|
||||
save_inactive = iv_state
|
||||
TABLES
|
||||
source_extended = it_source
|
||||
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
|
||||
" generates the function group. This hits some standard checks, pulling new code again sets the author
|
||||
" 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)| ).
|
||||
ENDIF.
|
||||
ELSE.
|
||||
zcx_abapgit_exception=>raise_t100( ).
|
||||
ENDIF.
|
||||
|
|
Loading…
Reference in New Issue
Block a user