mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
New Offline: Auto create package if non-existing (#5634)
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
parent
402c970b5e
commit
f386846858
|
@ -99,6 +99,11 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
ct_files TYPE zif_abapgit_definitions=>ty_files_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS check_and_create_package
|
||||
IMPORTING
|
||||
iv_package TYPE devclass
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA mt_local TYPE zif_abapgit_definitions=>ty_files_item_tt .
|
||||
|
@ -159,6 +164,30 @@ ENDCLASS.
|
|||
|
||||
CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
|
||||
|
||||
METHOD check_and_create_package.
|
||||
|
||||
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
DATA lv_package TYPE devclass.
|
||||
|
||||
ls_item-obj_type = 'DEVC'.
|
||||
ls_item-obj_name = iv_package.
|
||||
|
||||
IF zcl_abapgit_objects=>exists( ls_item ) = abap_false.
|
||||
" Check if any package is included in remote
|
||||
READ TABLE mt_remote TRANSPORTING NO FIELDS
|
||||
WITH KEY file
|
||||
COMPONENTS filename = zcl_abapgit_filename_logic=>c_package_file.
|
||||
IF sy-subrc <> 0.
|
||||
" If not, prompt to create it
|
||||
lv_package = zcl_abapgit_services_basis=>create_package( iv_package ).
|
||||
IF lv_package IS NOT INITIAL.
|
||||
COMMIT WORK AND WAIT.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD bind_listener.
|
||||
mi_listener = ii_listener.
|
||||
|
|
|
@ -31,11 +31,7 @@ CLASS zcl_abapgit_repo_online DEFINITION
|
|||
ALIASES get_switched_origin
|
||||
FOR zif_abapgit_repo_online~get_switched_origin.
|
||||
|
||||
METHODS check_and_create_package
|
||||
IMPORTING
|
||||
!iv_package TYPE devclass
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
|
||||
METHODS get_files_remote
|
||||
REDEFINITION .
|
||||
|
@ -79,32 +75,6 @@ ENDCLASS.
|
|||
|
||||
CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD check_and_create_package.
|
||||
|
||||
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
DATA lv_package TYPE devclass.
|
||||
|
||||
ls_item-obj_type = 'DEVC'.
|
||||
ls_item-obj_name = iv_package.
|
||||
|
||||
IF zcl_abapgit_objects=>exists( ls_item ) = abap_false.
|
||||
" Check if any package is included in remote
|
||||
READ TABLE mt_remote TRANSPORTING NO FIELDS
|
||||
WITH KEY file
|
||||
COMPONENTS filename = zcl_abapgit_filename_logic=>c_package_file.
|
||||
IF sy-subrc <> 0.
|
||||
" If not, prompt to create it
|
||||
lv_package = zcl_abapgit_services_basis=>create_package( iv_package ).
|
||||
IF lv_package IS NOT INITIAL.
|
||||
COMMIT WORK AND WAIT.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD fetch_remote.
|
||||
|
||||
DATA: li_progress TYPE REF TO zif_abapgit_progress,
|
||||
|
|
|
@ -522,6 +522,8 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
|
|||
|
||||
ls_repo-local_settings-main_language_only = iv_main_lang_only.
|
||||
lo_repo->set_local_settings( ls_repo-local_settings ).
|
||||
lo_repo->check_and_create_package( iv_package ).
|
||||
|
||||
ri_repo = lo_repo.
|
||||
|
||||
ENDMETHOD.
|
||||
|
|
Loading…
Reference in New Issue
Block a user