mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Code inspector for offline repositories
Before this commit it wasn't possible to run code inspection for offline repos. A dump occured. With this commit it is possible to run code inspections for offline repos, too.
This commit is contained in:
parent
e132c17205
commit
5d439e3699
|
@ -18,7 +18,7 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA: mo_repo TYPE REF TO zcl_abapgit_repo_online.
|
||||
DATA: mo_repo TYPE REF TO zcl_abapgit_repo.
|
||||
|
||||
METHODS:
|
||||
render_content REDEFINITION.
|
||||
|
@ -38,7 +38,9 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
METHODS:
|
||||
build_menu
|
||||
RETURNING
|
||||
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar,
|
||||
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
run_code_inspector
|
||||
RAISING
|
||||
|
@ -61,7 +63,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD build_menu.
|
||||
|
@ -78,6 +80,10 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
|||
lv_opt = zif_abapgit_definitions=>gc_html_opt-crossout.
|
||||
ENDIF.
|
||||
|
||||
IF mo_repo->is_offline( ) = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF mo_stage IS BOUND.
|
||||
|
||||
" Staging info already available, we can directly
|
||||
|
@ -233,11 +239,12 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
|||
DATA: lo_repo_online TYPE REF TO zcl_abapgit_repo_online,
|
||||
ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
|
||||
lo_repo_online ?= mo_repo.
|
||||
|
||||
CASE iv_action.
|
||||
WHEN c_actions-stage.
|
||||
|
||||
lo_repo_online ?= mo_repo.
|
||||
|
||||
IF is_stage_allowed( ) = abap_true.
|
||||
" we need to refresh as the source might have changed
|
||||
lo_repo_online->refresh( ).
|
||||
|
@ -256,11 +263,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
|||
|
||||
WHEN c_actions-commit.
|
||||
|
||||
lo_repo_online ?= mo_repo.
|
||||
|
||||
IF is_stage_allowed( ) = abap_true.
|
||||
|
||||
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_commit
|
||||
EXPORTING
|
||||
io_repo = mo_repo
|
||||
io_repo = lo_repo_online
|
||||
io_stage = mo_stage.
|
||||
ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
|
||||
|
||||
|
|
|
@ -102,6 +102,11 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
is_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS run_code_inspector
|
||||
RETURNING
|
||||
value(rt_list) TYPE scit_alvlist
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
@ -111,6 +116,7 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
DATA mv_do_local_refresh TYPE abap_bool .
|
||||
DATA mv_last_serialization TYPE timestamp .
|
||||
DATA ms_data TYPE zif_abapgit_persistence=>ty_repo .
|
||||
DATA mv_code_inspector_successful TYPE abap_bool .
|
||||
|
||||
METHODS set
|
||||
IMPORTING
|
||||
|
@ -130,6 +136,32 @@ ENDCLASS.
|
|||
|
||||
CLASS zcl_abapgit_repo IMPLEMENTATION.
|
||||
|
||||
METHOD run_code_inspector.
|
||||
|
||||
DATA: li_code_inspector TYPE REF TO zif_abapgit_code_inspector,
|
||||
lv_check_variant TYPE string.
|
||||
|
||||
lv_check_variant = get_local_settings( )-code_inspector_check_variant.
|
||||
|
||||
IF lv_check_variant IS INITIAL.
|
||||
zcx_abapgit_exception=>raise( |No check variant maintained in repo settings.| ).
|
||||
ENDIF.
|
||||
|
||||
li_code_inspector = zcl_abapgit_factory=>get_code_inspector(
|
||||
iv_package = get_package( )
|
||||
iv_check_variant_name = |{ lv_check_variant }| ).
|
||||
|
||||
rt_list = li_code_inspector->run( ).
|
||||
|
||||
DELETE rt_list WHERE kind = 'N'.
|
||||
|
||||
READ TABLE rt_list TRANSPORTING NO FIELDS
|
||||
WITH KEY kind = 'E'.
|
||||
|
||||
mv_code_inspector_successful = boolc( sy-subrc <> 0 ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
|
|
|
@ -73,11 +73,7 @@ CLASS zcl_abapgit_repo_online DEFINITION
|
|||
VALUE(rt_unnecessary_local_objects) TYPE zif_abapgit_definitions=>ty_tadir_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS run_code_inspector
|
||||
RETURNING
|
||||
VALUE(rt_list) TYPE scit_alvlist
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
METHODS deserialize
|
||||
REDEFINITION .
|
||||
METHODS get_files_remote
|
||||
|
@ -92,7 +88,6 @@ CLASS zcl_abapgit_repo_online DEFINITION
|
|||
DATA mv_branch TYPE zif_abapgit_definitions=>ty_sha1 .
|
||||
DATA mv_initialized TYPE abap_bool .
|
||||
DATA mt_status TYPE zif_abapgit_definitions=>ty_results_tt .
|
||||
DATA mv_code_inspector_successful TYPE abap_bool .
|
||||
|
||||
METHODS handle_stage_ignore
|
||||
IMPORTING
|
||||
|
@ -398,33 +393,6 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION.
|
|||
ENDMETHOD. " reset_status.
|
||||
|
||||
|
||||
METHOD run_code_inspector.
|
||||
|
||||
DATA: li_code_inspector TYPE REF TO zif_abapgit_code_inspector,
|
||||
lv_check_variant TYPE string.
|
||||
|
||||
lv_check_variant = get_local_settings( )-code_inspector_check_variant.
|
||||
|
||||
IF lv_check_variant IS INITIAL.
|
||||
zcx_abapgit_exception=>raise( |No check variant maintained in repo settings.| ).
|
||||
ENDIF.
|
||||
|
||||
li_code_inspector = zcl_abapgit_factory=>get_code_inspector(
|
||||
iv_package = get_package( )
|
||||
iv_check_variant_name = |{ lv_check_variant }| ).
|
||||
|
||||
rt_list = li_code_inspector->run( ).
|
||||
|
||||
DELETE rt_list WHERE kind = 'N'.
|
||||
|
||||
READ TABLE rt_list TRANSPORTING NO FIELDS
|
||||
WITH KEY kind = 'E'.
|
||||
|
||||
mv_code_inspector_successful = boolc( sy-subrc <> 0 ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_branch_name.
|
||||
|
||||
IF ms_data-local_settings-write_protected = abap_true.
|
||||
|
|
Loading…
Reference in New Issue
Block a user