mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
repo: change logic for creation vs package creation 2 (#6626)
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
parent
f46f5ce58e
commit
193051b0f6
|
@ -71,14 +71,14 @@ CLASS zcl_abapgit_services_repo DEFINITION
|
|||
VALUE(rv_package) TYPE devclass
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
CLASS-METHODS check_and_create_package
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
CLASS-METHODS check_package_exists
|
||||
IMPORTING
|
||||
!iv_package TYPE devclass
|
||||
!it_remote TYPE zif_abapgit_git_definitions=>ty_files_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
CLASS-METHODS delete_unnecessary_objects
|
||||
IMPORTING
|
||||
|
@ -180,7 +180,7 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD check_and_create_package.
|
||||
METHOD check_package_exists.
|
||||
|
||||
IF zcl_abapgit_factory=>get_sap_package( iv_package )->exists( ) = abap_false.
|
||||
" Check if any package is included in remote
|
||||
|
@ -188,8 +188,10 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
|
|||
WITH KEY file
|
||||
COMPONENTS filename = zcl_abapgit_filename_logic=>c_package_file.
|
||||
IF sy-subrc <> 0.
|
||||
" If not, prompt to create it
|
||||
create_package( iv_package ).
|
||||
" If not, give error
|
||||
zcx_abapgit_exception=>raise(
|
||||
iv_text = |Package { iv_package } does not exist and there's no package included in the repository|
|
||||
iv_longtext = 'Either select an existing package, create a new one, or add a package to the repository' ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
|
@ -369,6 +371,8 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
|
|||
|
||||
METHOD new_offline.
|
||||
|
||||
DATA lx_error TYPE REF TO zcx_abapgit_exception.
|
||||
|
||||
check_package( is_repo_params ).
|
||||
|
||||
" create new repo and add to favorites
|
||||
|
@ -381,9 +385,15 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
|
|||
iv_main_lang_only = is_repo_params-main_lang_only
|
||||
iv_abap_lang_vers = is_repo_params-abap_lang_vers ).
|
||||
|
||||
check_and_create_package(
|
||||
iv_package = is_repo_params-package
|
||||
it_remote = ro_repo->get_files_remote( ) ).
|
||||
TRY.
|
||||
check_package_exists(
|
||||
iv_package = is_repo_params-package
|
||||
it_remote = ro_repo->get_files_remote( ) ).
|
||||
CATCH zcx_abapgit_exception INTO lx_error.
|
||||
zcl_abapgit_repo_srv=>get_instance( )->delete( ro_repo ).
|
||||
COMMIT WORK.
|
||||
RAISE EXCEPTION lx_error.
|
||||
ENDTRY.
|
||||
|
||||
" Make sure there're no leftovers from previous repos
|
||||
ro_repo->zif_abapgit_repo~checksums( )->rebuild( ).
|
||||
|
@ -401,6 +411,8 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
|
|||
|
||||
METHOD new_online.
|
||||
|
||||
DATA lx_error TYPE REF TO zcx_abapgit_exception.
|
||||
|
||||
check_package( is_repo_params ).
|
||||
|
||||
ro_repo ?= zcl_abapgit_repo_srv=>get_instance( )->new_online(
|
||||
|
@ -414,9 +426,15 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
|
|||
iv_main_lang_only = is_repo_params-main_lang_only
|
||||
iv_abap_lang_vers = is_repo_params-abap_lang_vers ).
|
||||
|
||||
check_and_create_package(
|
||||
iv_package = is_repo_params-package
|
||||
it_remote = ro_repo->get_files_remote( ) ).
|
||||
TRY.
|
||||
check_package_exists(
|
||||
iv_package = is_repo_params-package
|
||||
it_remote = ro_repo->get_files_remote( ) ).
|
||||
CATCH zcx_abapgit_exception INTO lx_error.
|
||||
zcl_abapgit_repo_srv=>get_instance( )->delete( ro_repo ).
|
||||
COMMIT WORK.
|
||||
RAISE EXCEPTION lx_error.
|
||||
ENDTRY.
|
||||
|
||||
" Make sure there're no leftovers from previous repos
|
||||
ro_repo->zif_abapgit_repo~checksums( )->rebuild( ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user