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.
DATA: li_progress TYPE REF TO zif_abapgit_progress.
IF gt_objects IS INITIAL.
RETURN.
ENDIF.
li_progress = zcl_abapgit_progress=>get_instance( 100 ).
IF iv_ddic = abap_true.
li_progress->show( iv_current = 98
iv_text = 'Activating DDIC' ).
activate_ddic( ii_log ).
ELSE.
li_progress->show( iv_current = 98
iv_text = 'Activating non DDIC' ).
activate_old( ii_log ).
ENDIF.
@ -376,19 +366,9 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION.
lo_cross TYPE REF TO cl_wb_crossreference,
ls_item TYPE zif_abapgit_definitions=>ty_item,
lv_error TYPE c LENGTH 1,
lv_include TYPE programm,
li_progress TYPE REF TO zif_abapgit_progress.
li_progress = zcl_abapgit_progress=>get_instance( lines( gt_classes ) ).
lv_include TYPE programm.
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.
WHEN 'CLAS'.
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( )
it_items = lt_items ).
ii_log->add_success( |Prepare Deserialize| ).
lo_folder_logic = zcl_abapgit_folder_logic=>get_instance( ).
LOOP AT lt_results ASSIGNING <ls_result>.
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.
ls_item-obj_type = <ls_result>-obj_type.
@ -727,6 +729,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
ENDLOOP.
li_progress->off( ).
"run deserialize for all steps and it's objects
SORT lt_steps BY order.
LOOP AT lt_steps ASSIGNING <ls_step>.
@ -746,8 +750,6 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
zcl_abapgit_default_transport=>get_instance( )->reset( ).
li_progress->off( ).
ENDMETHOD.
@ -769,12 +771,15 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
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 ) ).
LOOP AT is_step-objects ASSIGNING <ls_obj>.
li_progress->show(
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.
<ls_obj>-obj->deserialize( iv_package = <ls_obj>-package
@ -796,6 +801,9 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
ENDLOOP.
li_progress->show( iv_current = lines( is_step-objects )
iv_text = |Step { is_step-order } - Activating Objects| ).
CASE is_step-step_id.
WHEN zif_abapgit_object=>gc_step_id-ddic.
zcl_abapgit_objects_activation=>activate(
@ -815,6 +823,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
ii_log = ii_log ).
ENDCASE.
li_progress->off( ).
* Call postprocessing
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>.
<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>-order = 1.
APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>.
<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>-order = 2.
APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>.
<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>-order = 3.
ENDMETHOD.