mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
interface for ZCL_ABAPGIT_REPO_SRV
This commit is contained in:
parent
b7c045210b
commit
45aa71f2da
|
@ -5,70 +5,23 @@ CLASS zcl_abapgit_repo_srv DEFINITION
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
INTERFACES zif_abapgit_repo_srv .
|
||||||
|
|
||||||
CLASS-METHODS get_instance
|
CLASS-METHODS get_instance
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_srv) TYPE REF TO zcl_abapgit_repo_srv .
|
VALUE(ri_srv) TYPE REF TO zif_abapgit_repo_srv .
|
||||||
METHODS list
|
|
||||||
RETURNING
|
|
||||||
VALUE(rt_list) TYPE zif_abapgit_definitions=>ty_repo_ref_tt
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS new_online
|
|
||||||
IMPORTING
|
|
||||||
!iv_url TYPE string
|
|
||||||
!iv_branch_name TYPE string
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
RETURNING
|
|
||||||
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo_online
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS new_offline
|
|
||||||
IMPORTING
|
|
||||||
!iv_url TYPE string
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
RETURNING
|
|
||||||
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo_offline
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS delete
|
|
||||||
IMPORTING
|
|
||||||
!io_repo TYPE REF TO zcl_abapgit_repo
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS get
|
|
||||||
IMPORTING
|
|
||||||
!iv_key TYPE zif_abapgit_persistence=>ty_value
|
|
||||||
RETURNING
|
|
||||||
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS is_repo_installed
|
|
||||||
IMPORTING
|
|
||||||
!iv_url TYPE string
|
|
||||||
!iv_target_package TYPE devclass OPTIONAL
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_installed) TYPE abap_bool
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS switch_repo_type
|
|
||||||
IMPORTING
|
|
||||||
!iv_key TYPE zif_abapgit_persistence=>ty_value
|
|
||||||
!iv_offline TYPE abap_bool
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS validate_package
|
|
||||||
IMPORTING
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
METHODS purge
|
|
||||||
IMPORTING
|
|
||||||
!io_repo TYPE REF TO zcl_abapgit_repo
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
CLASS-DATA go_ref TYPE REF TO zcl_abapgit_repo_srv .
|
ALIASES delete
|
||||||
|
FOR zif_abapgit_repo_srv~delete .
|
||||||
|
ALIASES get
|
||||||
|
FOR zif_abapgit_repo_srv~get .
|
||||||
|
ALIASES list
|
||||||
|
FOR zif_abapgit_repo_srv~list .
|
||||||
|
ALIASES validate_package
|
||||||
|
FOR zif_abapgit_repo_srv~validate_package .
|
||||||
|
|
||||||
|
CLASS-DATA gi_ref TYPE REF TO zif_abapgit_repo_srv .
|
||||||
DATA mv_init TYPE abap_bool VALUE abap_false ##NO_TEXT.
|
DATA mv_init TYPE abap_bool VALUE abap_false ##NO_TEXT.
|
||||||
DATA mo_persistence TYPE REF TO zcl_abapgit_persistence_repo .
|
DATA mo_persistence TYPE REF TO zcl_abapgit_persistence_repo .
|
||||||
DATA mt_list TYPE zif_abapgit_definitions=>ty_repo_ref_tt .
|
DATA mt_list TYPE zif_abapgit_definitions=>ty_repo_ref_tt .
|
||||||
|
@ -116,79 +69,14 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
||||||
ENDMETHOD. "class_constructor
|
ENDMETHOD. "class_constructor
|
||||||
|
|
||||||
|
|
||||||
METHOD delete.
|
|
||||||
|
|
||||||
io_repo->delete( ).
|
|
||||||
|
|
||||||
DELETE TABLE mt_list FROM io_repo.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
ENDMETHOD. "delete
|
|
||||||
|
|
||||||
|
|
||||||
METHOD get.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lo_list> LIKE LINE OF mt_list.
|
|
||||||
|
|
||||||
|
|
||||||
IF mv_init = abap_false.
|
|
||||||
refresh( ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
LOOP AT mt_list ASSIGNING <lo_list>.
|
|
||||||
IF <lo_list>->get_key( ) = iv_key.
|
|
||||||
ro_repo = <lo_list>.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
zcx_abapgit_exception=>raise( 'repo not found, get' ).
|
|
||||||
|
|
||||||
ENDMETHOD. "get
|
|
||||||
|
|
||||||
|
|
||||||
METHOD get_instance.
|
METHOD get_instance.
|
||||||
IF go_ref IS INITIAL.
|
IF gi_ref IS INITIAL.
|
||||||
CREATE OBJECT go_ref.
|
CREATE OBJECT gi_ref TYPE zcl_abapgit_repo_srv.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
rv_srv = go_ref.
|
ri_srv = gi_ref.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD is_repo_installed.
|
|
||||||
|
|
||||||
DATA: lt_repo TYPE zif_abapgit_definitions=>ty_repo_ref_tt,
|
|
||||||
lo_repo TYPE REF TO zcl_abapgit_repo,
|
|
||||||
lv_url TYPE string,
|
|
||||||
lv_package TYPE devclass,
|
|
||||||
lo_repo_online TYPE REF TO zcl_abapgit_repo_online,
|
|
||||||
lv_err TYPE string.
|
|
||||||
|
|
||||||
lt_repo = list( ).
|
|
||||||
|
|
||||||
LOOP AT lt_repo INTO lo_repo.
|
|
||||||
CHECK lo_repo->is_offline( ) = abap_false.
|
|
||||||
lo_repo_online ?= lo_repo.
|
|
||||||
|
|
||||||
lv_url = lo_repo_online->get_url( ).
|
|
||||||
lv_package = lo_repo_online->get_package( ).
|
|
||||||
CHECK to_upper( lv_url ) = to_upper( iv_url ).
|
|
||||||
|
|
||||||
" Validate bindings
|
|
||||||
"TODO refactor: move this message out of this method
|
|
||||||
IF iv_target_package IS NOT INITIAL AND iv_target_package <> lv_package.
|
|
||||||
lv_err = |Installation to package { lv_package } detected. |
|
|
||||||
&& |Cancelling installation|.
|
|
||||||
zcx_abapgit_exception=>raise( lv_err ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
rv_installed = abap_true.
|
|
||||||
EXIT.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD. "is_repo_installed
|
|
||||||
|
|
||||||
|
|
||||||
METHOD is_sap_object_allowed.
|
METHOD is_sap_object_allowed.
|
||||||
|
|
||||||
rv_allowed = cl_enh_badi_def_utility=>is_sap_system( ).
|
rv_allowed = cl_enh_badi_def_utility=>is_sap_system( ).
|
||||||
|
@ -201,104 +89,6 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD list.
|
|
||||||
|
|
||||||
IF mv_init = abap_false.
|
|
||||||
refresh( ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
rt_list = mt_list.
|
|
||||||
|
|
||||||
ENDMETHOD. "list
|
|
||||||
|
|
||||||
|
|
||||||
METHOD new_offline.
|
|
||||||
|
|
||||||
DATA: ls_repo TYPE zif_abapgit_persistence=>ty_repo,
|
|
||||||
lv_key TYPE zif_abapgit_persistence=>ty_repo-key.
|
|
||||||
|
|
||||||
|
|
||||||
validate_package( iv_package ).
|
|
||||||
|
|
||||||
lv_key = mo_persistence->add(
|
|
||||||
iv_url = iv_url
|
|
||||||
iv_branch_name = ''
|
|
||||||
iv_package = iv_package
|
|
||||||
iv_offline = abap_true
|
|
||||||
is_dot_abapgit = zcl_abapgit_dot_abapgit=>build_default( )->get_data( ) ).
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
ls_repo = mo_persistence->read( lv_key ).
|
|
||||||
CATCH zcx_abapgit_not_found.
|
|
||||||
zcx_abapgit_exception=>raise( 'new_offline not found' ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
CREATE OBJECT ro_repo
|
|
||||||
EXPORTING
|
|
||||||
is_data = ls_repo.
|
|
||||||
|
|
||||||
add( ro_repo ).
|
|
||||||
|
|
||||||
ENDMETHOD. "new_offline
|
|
||||||
|
|
||||||
|
|
||||||
METHOD new_online.
|
|
||||||
|
|
||||||
DATA: ls_repo TYPE zif_abapgit_persistence=>ty_repo,
|
|
||||||
lv_key TYPE zif_abapgit_persistence=>ty_repo-key.
|
|
||||||
|
|
||||||
|
|
||||||
ASSERT NOT iv_url IS INITIAL
|
|
||||||
AND NOT iv_branch_name IS INITIAL
|
|
||||||
AND NOT iv_package IS INITIAL.
|
|
||||||
|
|
||||||
validate_package( iv_package ).
|
|
||||||
zcl_abapgit_url=>validate( |{ iv_url }| ).
|
|
||||||
|
|
||||||
lv_key = mo_persistence->add(
|
|
||||||
iv_url = iv_url
|
|
||||||
iv_branch_name = iv_branch_name
|
|
||||||
iv_package = iv_package
|
|
||||||
iv_offline = abap_false
|
|
||||||
is_dot_abapgit = zcl_abapgit_dot_abapgit=>build_default( )->get_data( ) ).
|
|
||||||
TRY.
|
|
||||||
ls_repo = mo_persistence->read( lv_key ).
|
|
||||||
CATCH zcx_abapgit_not_found.
|
|
||||||
zcx_abapgit_exception=>raise( 'new_online not found' ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
CREATE OBJECT ro_repo
|
|
||||||
EXPORTING
|
|
||||||
is_data = ls_repo.
|
|
||||||
|
|
||||||
add( ro_repo ).
|
|
||||||
|
|
||||||
ro_repo->initialize( ).
|
|
||||||
ro_repo->find_remote_dot_abapgit( ).
|
|
||||||
|
|
||||||
ENDMETHOD. "new_online
|
|
||||||
|
|
||||||
|
|
||||||
METHOD purge.
|
|
||||||
|
|
||||||
DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt.
|
|
||||||
|
|
||||||
|
|
||||||
IF io_repo->get_local_settings( )-write_protected = abap_true.
|
|
||||||
zcx_abapgit_exception=>raise( 'Cannot purge. Local code is write-protected by repo config' ).
|
|
||||||
ELSEIF zcl_abapgit_auth=>is_allowed( zif_abapgit_auth=>gc_authorization-uninstall ) = abap_false.
|
|
||||||
zcx_abapgit_exception=>raise( 'Not authorized' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
lt_tadir = zcl_abapgit_tadir=>read( io_repo->get_package( ) ).
|
|
||||||
|
|
||||||
zcl_abapgit_objects=>delete( lt_tadir ).
|
|
||||||
|
|
||||||
delete( io_repo ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD refresh.
|
METHOD refresh.
|
||||||
|
|
||||||
DATA: lt_list TYPE zif_abapgit_persistence=>tt_repo,
|
DATA: lt_list TYPE zif_abapgit_persistence=>tt_repo,
|
||||||
|
@ -330,7 +120,174 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
||||||
ENDMETHOD. "refresh
|
ENDMETHOD. "refresh
|
||||||
|
|
||||||
|
|
||||||
METHOD switch_repo_type.
|
METHOD zif_abapgit_repo_srv~delete.
|
||||||
|
|
||||||
|
io_repo->delete( ).
|
||||||
|
|
||||||
|
DELETE TABLE mt_list FROM io_repo.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~get.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <lo_list> LIKE LINE OF mt_list.
|
||||||
|
|
||||||
|
|
||||||
|
IF mv_init = abap_false.
|
||||||
|
refresh( ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
LOOP AT mt_list ASSIGNING <lo_list>.
|
||||||
|
IF <lo_list>->get_key( ) = iv_key.
|
||||||
|
ro_repo = <lo_list>.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
zcx_abapgit_exception=>raise( 'repo not found, get' ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~is_repo_installed.
|
||||||
|
|
||||||
|
DATA: lt_repo TYPE zif_abapgit_definitions=>ty_repo_ref_tt,
|
||||||
|
lo_repo TYPE REF TO zcl_abapgit_repo,
|
||||||
|
lv_url TYPE string,
|
||||||
|
lv_package TYPE devclass,
|
||||||
|
lo_repo_online TYPE REF TO zcl_abapgit_repo_online,
|
||||||
|
lv_err TYPE string.
|
||||||
|
|
||||||
|
lt_repo = list( ).
|
||||||
|
|
||||||
|
LOOP AT lt_repo INTO lo_repo.
|
||||||
|
CHECK lo_repo->is_offline( ) = abap_false.
|
||||||
|
lo_repo_online ?= lo_repo.
|
||||||
|
|
||||||
|
lv_url = lo_repo_online->get_url( ).
|
||||||
|
lv_package = lo_repo_online->get_package( ).
|
||||||
|
CHECK to_upper( lv_url ) = to_upper( iv_url ).
|
||||||
|
|
||||||
|
" Validate bindings
|
||||||
|
"TODO refactor: move this message out of this method
|
||||||
|
IF iv_target_package IS NOT INITIAL AND iv_target_package <> lv_package.
|
||||||
|
lv_err = |Installation to package { lv_package } detected. |
|
||||||
|
&& |Cancelling installation|.
|
||||||
|
zcx_abapgit_exception=>raise( lv_err ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
rv_installed = abap_true.
|
||||||
|
EXIT.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~list.
|
||||||
|
|
||||||
|
IF mv_init = abap_false.
|
||||||
|
refresh( ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
rt_list = mt_list.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~new_offline.
|
||||||
|
|
||||||
|
DATA: ls_repo TYPE zif_abapgit_persistence=>ty_repo,
|
||||||
|
lv_key TYPE zif_abapgit_persistence=>ty_repo-key.
|
||||||
|
|
||||||
|
|
||||||
|
validate_package( iv_package ).
|
||||||
|
|
||||||
|
lv_key = mo_persistence->add(
|
||||||
|
iv_url = iv_url
|
||||||
|
iv_branch_name = ''
|
||||||
|
iv_package = iv_package
|
||||||
|
iv_offline = abap_true
|
||||||
|
is_dot_abapgit = zcl_abapgit_dot_abapgit=>build_default( )->get_data( ) ).
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
ls_repo = mo_persistence->read( lv_key ).
|
||||||
|
CATCH zcx_abapgit_not_found.
|
||||||
|
zcx_abapgit_exception=>raise( 'new_offline not found' ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
CREATE OBJECT ro_repo
|
||||||
|
EXPORTING
|
||||||
|
is_data = ls_repo.
|
||||||
|
|
||||||
|
add( ro_repo ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~new_online.
|
||||||
|
|
||||||
|
DATA: ls_repo TYPE zif_abapgit_persistence=>ty_repo,
|
||||||
|
lv_key TYPE zif_abapgit_persistence=>ty_repo-key.
|
||||||
|
|
||||||
|
|
||||||
|
ASSERT NOT iv_url IS INITIAL
|
||||||
|
AND NOT iv_branch_name IS INITIAL
|
||||||
|
AND NOT iv_package IS INITIAL.
|
||||||
|
|
||||||
|
validate_package( iv_package ).
|
||||||
|
zcl_abapgit_url=>validate( |{ iv_url }| ).
|
||||||
|
|
||||||
|
lv_key = mo_persistence->add(
|
||||||
|
iv_url = iv_url
|
||||||
|
iv_branch_name = iv_branch_name
|
||||||
|
iv_package = iv_package
|
||||||
|
iv_offline = abap_false
|
||||||
|
is_dot_abapgit = zcl_abapgit_dot_abapgit=>build_default( )->get_data( ) ).
|
||||||
|
TRY.
|
||||||
|
ls_repo = mo_persistence->read( lv_key ).
|
||||||
|
CATCH zcx_abapgit_not_found.
|
||||||
|
zcx_abapgit_exception=>raise( 'new_online not found' ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
CREATE OBJECT ro_repo
|
||||||
|
EXPORTING
|
||||||
|
is_data = ls_repo.
|
||||||
|
|
||||||
|
add( ro_repo ).
|
||||||
|
|
||||||
|
ro_repo->initialize( ).
|
||||||
|
ro_repo->find_remote_dot_abapgit( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~purge.
|
||||||
|
|
||||||
|
* todo, this should be a method on the repo instead
|
||||||
|
|
||||||
|
DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt.
|
||||||
|
|
||||||
|
|
||||||
|
IF io_repo->get_local_settings( )-write_protected = abap_true.
|
||||||
|
zcx_abapgit_exception=>raise( 'Cannot purge. Local code is write-protected by repo config' ).
|
||||||
|
ELSEIF zcl_abapgit_auth=>is_allowed( zif_abapgit_auth=>gc_authorization-uninstall ) = abap_false.
|
||||||
|
zcx_abapgit_exception=>raise( 'Not authorized' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
lt_tadir = zcl_abapgit_tadir=>read( io_repo->get_package( ) ).
|
||||||
|
|
||||||
|
zcl_abapgit_objects=>delete( lt_tadir ).
|
||||||
|
|
||||||
|
delete( io_repo ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~switch_repo_type.
|
||||||
|
|
||||||
|
* todo, this should be a method on the repo instead?
|
||||||
|
|
||||||
DATA lo_repo TYPE REF TO zcl_abapgit_repo.
|
DATA lo_repo TYPE REF TO zcl_abapgit_repo.
|
||||||
|
|
||||||
|
@ -358,10 +315,10 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
||||||
is_data = lo_repo->ms_data.
|
is_data = lo_repo->ms_data.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD. "switch_repo_type
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD validate_package.
|
METHOD zif_abapgit_repo_srv~validate_package.
|
||||||
|
|
||||||
DATA: lv_as4user TYPE tdevc-as4user,
|
DATA: lv_as4user TYPE tdevc-as4user,
|
||||||
lt_repos TYPE zif_abapgit_persistence=>tt_repo.
|
lt_repos TYPE zif_abapgit_persistence=>tt_repo.
|
||||||
|
@ -393,5 +350,5 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( |Package { iv_package } already in use| ).
|
zcx_abapgit_exception=>raise( |Package { iv_package } already in use| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD. "validate_package
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
63
src/zif_abapgit_repo_srv.intf.abap
Normal file
63
src/zif_abapgit_repo_srv.intf.abap
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
INTERFACE zif_abapgit_repo_srv
|
||||||
|
PUBLIC .
|
||||||
|
|
||||||
|
|
||||||
|
METHODS delete
|
||||||
|
IMPORTING
|
||||||
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS get
|
||||||
|
IMPORTING
|
||||||
|
!iv_key TYPE zif_abapgit_persistence=>ty_value
|
||||||
|
RETURNING
|
||||||
|
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS is_repo_installed
|
||||||
|
IMPORTING
|
||||||
|
!iv_url TYPE string
|
||||||
|
!iv_target_package TYPE devclass OPTIONAL
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_installed) TYPE abap_bool
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS list
|
||||||
|
RETURNING
|
||||||
|
VALUE(rt_list) TYPE zif_abapgit_definitions=>ty_repo_ref_tt
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS new_offline
|
||||||
|
IMPORTING
|
||||||
|
!iv_url TYPE string
|
||||||
|
!iv_package TYPE devclass
|
||||||
|
RETURNING
|
||||||
|
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo_offline
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS new_online
|
||||||
|
IMPORTING
|
||||||
|
!iv_url TYPE string
|
||||||
|
!iv_branch_name TYPE string
|
||||||
|
!iv_package TYPE devclass
|
||||||
|
RETURNING
|
||||||
|
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo_online
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS purge
|
||||||
|
IMPORTING
|
||||||
|
!io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS switch_repo_type
|
||||||
|
IMPORTING
|
||||||
|
!iv_key TYPE zif_abapgit_persistence=>ty_value
|
||||||
|
!iv_offline TYPE abap_bool
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
METHODS validate_package
|
||||||
|
IMPORTING
|
||||||
|
!iv_package TYPE devclass
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
ENDINTERFACE.
|
16
src/zif_abapgit_repo_srv.intf.xml
Normal file
16
src/zif_abapgit_repo_srv.intf.xml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<VSEOINTERF>
|
||||||
|
<CLSNAME>ZIF_ABAPGIT_REPO_SRV</CLSNAME>
|
||||||
|
<VERSION>1</VERSION>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>Repo services</DESCRIPT>
|
||||||
|
<EXPOSURE>2</EXPOSURE>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
</VSEOINTERF>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
Loading…
Reference in New Issue
Block a user