Improve progress bar and log for pull (#5311)

- Eliminate flashing of progress bar during deserialize
- Updated description for deserialize steps
- Add steps to log (see below)

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2022-02-14 02:25:27 -05:00 committed by GitHub
parent 21ab83330f
commit 92b583bb18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 28 deletions

View File

@ -183,26 +183,16 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
METHOD activate_new. METHOD activate_new.
DATA: li_progress TYPE REF TO zif_abapgit_progress.
IF gt_objects IS INITIAL. IF gt_objects IS INITIAL.
RETURN. RETURN.
ENDIF. ENDIF.
li_progress = zcl_abapgit_progress=>get_instance( 100 ).
IF iv_ddic = abap_true. IF iv_ddic = abap_true.
li_progress->show( iv_current = 98
iv_text = 'Activating DDIC' ).
activate_ddic( ii_log ). activate_ddic( ii_log ).
ELSE. ELSE.
li_progress->show( iv_current = 98
iv_text = 'Activating non DDIC' ).
activate_old( ii_log ). activate_old( ii_log ).
ENDIF. ENDIF.
@ -376,19 +366,9 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
lo_cross TYPE REF TO cl_wb_crossreference, lo_cross TYPE REF TO cl_wb_crossreference,
ls_item TYPE zif_abapgit_definitions=>ty_item, ls_item TYPE zif_abapgit_definitions=>ty_item,
lv_error TYPE c LENGTH 1, lv_error TYPE c LENGTH 1,
lv_include TYPE programm, lv_include TYPE programm.
li_progress TYPE REF TO zif_abapgit_progress.
li_progress = zcl_abapgit_progress=>get_instance( lines( gt_classes ) ).
LOOP AT gt_classes INTO ls_class. LOOP AT gt_classes INTO ls_class.
IF sy-tabix MOD 20 = 0.
li_progress->show(
iv_current = sy-tabix
iv_text = 'Updating where-used lists' ).
ENDIF.
CASE ls_class-object. CASE ls_class-object.
WHEN 'CLAS'. WHEN 'CLAS'.
lv_include = cl_oo_classname_service=>get_classpool_name( ls_class-clsname ). lv_include = cl_oo_classname_service=>get_classpool_name( ls_class-clsname ).

View File

@ -630,10 +630,12 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
check_objects_locked( iv_language = io_repo->get_dot_abapgit( )->get_main_language( ) check_objects_locked( iv_language = io_repo->get_dot_abapgit( )->get_main_language( )
it_items = lt_items ). it_items = lt_items ).
ii_log->add_success( |Prepare Deserialize| ).
lo_folder_logic = zcl_abapgit_folder_logic=>get_instance( ). lo_folder_logic = zcl_abapgit_folder_logic=>get_instance( ).
LOOP AT lt_results ASSIGNING <ls_result>. LOOP AT lt_results ASSIGNING <ls_result>.
li_progress->show( iv_current = sy-tabix li_progress->show( iv_current = sy-tabix
iv_text = |Deserialize { <ls_result>-obj_name }| ). iv_text = |Prepare Deserialize: { <ls_result>-obj_type } { <ls_result>-obj_name }| ).
CLEAR ls_item. CLEAR ls_item.
ls_item-obj_type = <ls_result>-obj_type. ls_item-obj_type = <ls_result>-obj_type.
@ -727,6 +729,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
ENDLOOP. ENDLOOP.
li_progress->off( ).
"run deserialize for all steps and it's objects "run deserialize for all steps and it's objects
SORT lt_steps BY order. SORT lt_steps BY order.
LOOP AT lt_steps ASSIGNING <ls_step>. LOOP AT lt_steps ASSIGNING <ls_step>.
@ -746,8 +750,6 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
zcl_abapgit_default_transport=>get_instance( )->reset( ). zcl_abapgit_default_transport=>get_instance( )->reset( ).
li_progress->off( ).
ENDMETHOD. ENDMETHOD.
@ -769,12 +771,15 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
zcl_abapgit_objects_activation=>clear( ). zcl_abapgit_objects_activation=>clear( ).
ii_log->add_success( |Step { is_step-order } - { is_step-descr }| ).
li_progress = zcl_abapgit_progress=>get_instance( lines( is_step-objects ) ). li_progress = zcl_abapgit_progress=>get_instance( lines( is_step-objects ) ).
LOOP AT is_step-objects ASSIGNING <ls_obj>. LOOP AT is_step-objects ASSIGNING <ls_obj>.
li_progress->show( li_progress->show(
iv_current = sy-tabix iv_current = sy-tabix
iv_text = |Deserialize { is_step-descr } - { <ls_obj>-item-obj_name }| ). iv_text = |Step { is_step-order } - { is_step-descr }:| &&
| { <ls_obj>-item-obj_type } { <ls_obj>-item-obj_name }| ).
TRY. TRY.
<ls_obj>-obj->deserialize( iv_package = <ls_obj>-package <ls_obj>-obj->deserialize( iv_package = <ls_obj>-package
@ -796,6 +801,9 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
ENDLOOP. ENDLOOP.
li_progress->show( iv_current = lines( is_step-objects )
iv_text = |Step { is_step-order } - Activating Objects| ).
CASE is_step-step_id. CASE is_step-step_id.
WHEN zif_abapgit_object=>gc_step_id-ddic. WHEN zif_abapgit_object=>gc_step_id-ddic.
zcl_abapgit_objects_activation=>activate( zcl_abapgit_objects_activation=>activate(
@ -815,6 +823,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
ii_log = ii_log ). ii_log = ii_log ).
ENDCASE. ENDCASE.
li_progress->off( ).
* Call postprocessing * Call postprocessing
li_exit = zcl_abapgit_exit=>get_instance( ). li_exit = zcl_abapgit_exit=>get_instance( ).
@ -857,19 +867,19 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>. APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>.
<ls_step>-step_id = zif_abapgit_object=>gc_step_id-ddic. <ls_step>-step_id = zif_abapgit_object=>gc_step_id-ddic.
<ls_step>-descr = 'Import DDIC objects'. <ls_step>-descr = 'Deserialize DDIC Objects'.
<ls_step>-syntax_check = abap_false. <ls_step>-syntax_check = abap_false.
<ls_step>-order = 1. <ls_step>-order = 1.
APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>. APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>.
<ls_step>-step_id = zif_abapgit_object=>gc_step_id-abap. <ls_step>-step_id = zif_abapgit_object=>gc_step_id-abap.
<ls_step>-descr = 'Import objects main'. <ls_step>-descr = 'Deserialize non-DDIC Objects'.
<ls_step>-syntax_check = abap_false. <ls_step>-syntax_check = abap_false.
<ls_step>-order = 2. <ls_step>-order = 2.
APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>. APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>.
<ls_step>-step_id = zif_abapgit_object=>gc_step_id-late. <ls_step>-step_id = zif_abapgit_object=>gc_step_id-late.
<ls_step>-descr = 'Import late objects'. <ls_step>-descr = 'Post-process Objects'.
<ls_step>-syntax_check = abap_true. <ls_step>-syntax_check = abap_true.
<ls_step>-order = 3. <ls_step>-order = 3.
ENDMETHOD. ENDMETHOD.