mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 20:32:26 +08:00
Code Inspector: Fix background processing
This commit enables the code inspector for background processing. Before this commit is applied code inspection in background resulted in lock errors.
This commit is contained in:
parent
8b1cbd4b89
commit
06c3d69b64
|
@ -44,10 +44,21 @@ CLASS zcl_abapgit_code_inspector DEFINITION
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
CONSTANTS:
|
||||||
|
BEGIN OF co_run_mode,
|
||||||
|
run_with_popup TYPE sychar01 VALUE 'P',
|
||||||
|
run_after_popup TYPE sychar01 VALUE 'A',
|
||||||
|
run_via_rfc TYPE sychar01 VALUE 'R',
|
||||||
|
run_in_batch TYPE sychar01 VALUE 'B',
|
||||||
|
run_loc_parallel TYPE sychar01 VALUE 'L',
|
||||||
|
run_direct TYPE sychar01 VALUE 'L',
|
||||||
|
END OF co_run_mode.
|
||||||
|
|
||||||
DATA:
|
DATA:
|
||||||
mo_inspection TYPE REF TO cl_ci_inspection,
|
mo_inspection TYPE REF TO cl_ci_inspection,
|
||||||
mv_objectset_name TYPE sci_objs,
|
mv_objectset_name TYPE sci_objs,
|
||||||
mv_inspection_name TYPE sci_insp.
|
mv_inspection_name TYPE sci_insp,
|
||||||
|
mv_run_mode TYPE sychar01.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
find_all_subpackages
|
find_all_subpackages
|
||||||
|
@ -64,7 +75,9 @@ CLASS zcl_abapgit_code_inspector DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
io_inspection TYPE REF TO cl_ci_inspection
|
io_inspection TYPE REF TO cl_ci_inspection
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_list) TYPE scit_alvlist,
|
VALUE(rt_list) TYPE scit_alvlist
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
create_inspection
|
create_inspection
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -84,6 +97,8 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD cleanup.
|
METHOD cleanup.
|
||||||
|
|
||||||
|
IF mo_inspection IS BOUND.
|
||||||
|
|
||||||
mo_inspection->delete(
|
mo_inspection->delete(
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
locked = 1
|
locked = 1
|
||||||
|
@ -91,10 +106,13 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
not_authorized = 3
|
not_authorized = 3
|
||||||
exceptn_appl_exists = 4
|
exceptn_appl_exists = 4
|
||||||
OTHERS = 5 ).
|
OTHERS = 5 ).
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
zcx_abapgit_exception=>raise( |Couldn't delete inspection. Subrc = { sy-subrc }| ).
|
zcx_abapgit_exception=>raise( |Couldn't delete inspection. Subrc = { sy-subrc }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
io_set->delete(
|
io_set->delete(
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
exists_in_insp = 1
|
exists_in_insp = 1
|
||||||
|
@ -103,6 +121,7 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
not_authorized = 4
|
not_authorized = 4
|
||||||
exists_in_objs = 5
|
exists_in_objs = 5
|
||||||
OTHERS = 6 ).
|
OTHERS = 6 ).
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
zcx_abapgit_exception=>raise( |Couldn't delete objectset. Subrc = { sy-subrc }| ).
|
zcx_abapgit_exception=>raise( |Couldn't delete objectset. Subrc = { sy-subrc }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -120,6 +139,13 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
" Both are deleted afterwards.
|
" Both are deleted afterwards.
|
||||||
mv_inspection_name = mv_objectset_name = |{ sy-uname }_{ sy-datum }_{ sy-uzeit }|.
|
mv_inspection_name = mv_objectset_name = |{ sy-uname }_{ sy-datum }_{ sy-uzeit }|.
|
||||||
|
|
||||||
|
" We have to disable parallelization in batch because of lock errors.
|
||||||
|
IF sy-batch = abap_true.
|
||||||
|
mv_run_mode = co_run_mode-run_via_rfc.
|
||||||
|
ELSE.
|
||||||
|
mv_run_mode = co_run_mode-run_loc_parallel.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -136,7 +162,10 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
error_in_enqueue = 2
|
error_in_enqueue = 2
|
||||||
not_authorized = 3
|
not_authorized = 3
|
||||||
OTHERS = 4 ).
|
OTHERS = 4 ).
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Failed to create inspection. Subrc = { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ro_inspection->set(
|
ro_inspection->set(
|
||||||
p_chkv = io_variant
|
p_chkv = io_variant
|
||||||
|
@ -236,11 +265,14 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
|
|
||||||
io_inspection->run(
|
io_inspection->run(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
p_howtorun = 'L'
|
p_howtorun = mv_run_mode
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
invalid_check_version = 1
|
invalid_check_version = 1
|
||||||
OTHERS = 2 ).
|
OTHERS = 2 ).
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Code inspector run failed. Subrc = { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
io_inspection->plain_list(
|
io_inspection->plain_list(
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -280,6 +312,12 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
lo_set = create_objectset( ).
|
lo_set = create_objectset( ).
|
||||||
|
|
||||||
|
IF lines( lo_set->iobjlst-objects ) = 0.
|
||||||
|
" no objects, nothing to check
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
lo_variant = create_variant( ).
|
lo_variant = create_variant( ).
|
||||||
|
|
||||||
mo_inspection = create_inspection(
|
mo_inspection = create_inspection(
|
||||||
|
@ -294,13 +332,10 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
|
|
||||||
" ensure cleanup
|
" ensure cleanup
|
||||||
cleanup( lo_set ).
|
cleanup( lo_set ).
|
||||||
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_exception
|
ix_previous = lx_error ).
|
||||||
EXPORTING
|
|
||||||
previous = lx_error.
|
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -61,7 +61,10 @@ CLASS zcl_abapgit_syntax_check IMPLEMENTATION.
|
||||||
error_in_enqueue = 3
|
error_in_enqueue = 3
|
||||||
not_authorized = 4
|
not_authorized = 4
|
||||||
OTHERS = 5 ).
|
OTHERS = 5 ).
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Couldn't create variant. Subrc = { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ls_variant-testname = 'CL_CI_TEST_SYNTAX_CHECK'.
|
ls_variant-testname = 'CL_CI_TEST_SYNTAX_CHECK'.
|
||||||
INSERT ls_variant INTO TABLE lt_variant.
|
INSERT ls_variant INTO TABLE lt_variant.
|
||||||
|
@ -72,7 +75,10 @@ CLASS zcl_abapgit_syntax_check IMPLEMENTATION.
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
not_enqueued = 1
|
not_enqueued = 1
|
||||||
OTHERS = 2 ).
|
OTHERS = 2 ).
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Couldn't set variant. Subrc = { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
mo_variant->save(
|
mo_variant->save(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -82,7 +88,10 @@ CLASS zcl_abapgit_syntax_check IMPLEMENTATION.
|
||||||
transport_error = 2
|
transport_error = 2
|
||||||
not_authorized = 3
|
not_authorized = 3
|
||||||
OTHERS = 4 ).
|
OTHERS = 4 ).
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Couldn't save variant. Subrc = { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ro_variant = mo_variant.
|
ro_variant = mo_variant.
|
||||||
|
|
||||||
|
@ -92,6 +101,8 @@ CLASS zcl_abapgit_syntax_check IMPLEMENTATION.
|
||||||
|
|
||||||
super->cleanup( io_set ).
|
super->cleanup( io_set ).
|
||||||
|
|
||||||
|
IF mo_variant IS BOUND.
|
||||||
|
|
||||||
mo_variant->delete(
|
mo_variant->delete(
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
exists_in_insp = 1
|
exists_in_insp = 1
|
||||||
|
@ -100,10 +111,13 @@ CLASS zcl_abapgit_syntax_check IMPLEMENTATION.
|
||||||
not_authorized = 4
|
not_authorized = 4
|
||||||
transport_error = 5
|
transport_error = 5
|
||||||
OTHERS = 6 ).
|
OTHERS = 6 ).
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
zcx_abapgit_exception=>raise( |Couldn't delete variant. Subrc = { sy-subrc }| ).
|
zcx_abapgit_exception=>raise( |Couldn't delete variant. Subrc = { sy-subrc }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user