mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
124 lines
3.7 KiB
ABAP
124 lines
3.7 KiB
ABAP
INTERFACE zif_abapgit_repo_srv
|
|
PUBLIC .
|
|
|
|
|
|
TYPES:
|
|
ty_repo_list TYPE STANDARD TABLE OF REF TO zif_abapgit_repo WITH DEFAULT KEY,
|
|
|
|
BEGIN OF ty_label,
|
|
label TYPE string,
|
|
END OF ty_label,
|
|
ty_labels TYPE STANDARD TABLE OF ty_label WITH NON-UNIQUE DEFAULT KEY
|
|
WITH NON-UNIQUE SORTED KEY key_label COMPONENTS label.
|
|
|
|
METHODS init.
|
|
METHODS delete
|
|
IMPORTING
|
|
!ii_repo TYPE REF TO zif_abapgit_repo
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS get
|
|
IMPORTING
|
|
!iv_key TYPE zif_abapgit_persistence=>ty_value
|
|
RETURNING
|
|
VALUE(ri_repo) TYPE REF TO zif_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
|
|
IMPORTING
|
|
!iv_offline TYPE abap_bool DEFAULT abap_undefined
|
|
RETURNING
|
|
VALUE(rt_list) TYPE ty_repo_list
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS list_favorites
|
|
IMPORTING
|
|
!iv_offline TYPE abap_bool DEFAULT abap_undefined
|
|
RETURNING
|
|
VALUE(rt_list) TYPE ty_repo_list
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS new_offline
|
|
IMPORTING
|
|
!iv_name TYPE string
|
|
!iv_package TYPE devclass
|
|
!iv_folder_logic TYPE string DEFAULT zif_abapgit_dot_abapgit=>c_folder_logic-full
|
|
!iv_labels TYPE string OPTIONAL
|
|
!iv_ign_subpkg TYPE abap_bool DEFAULT abap_false
|
|
!iv_main_lang_only TYPE abap_bool DEFAULT abap_false
|
|
!iv_abap_lang_vers TYPE string OPTIONAL
|
|
RETURNING
|
|
VALUE(ri_repo) TYPE REF TO zif_abapgit_repo
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS new_online
|
|
IMPORTING
|
|
!iv_url TYPE string
|
|
!iv_branch_name TYPE string OPTIONAL
|
|
!iv_display_name TYPE string OPTIONAL
|
|
!iv_name TYPE string OPTIONAL
|
|
!iv_package TYPE devclass
|
|
!iv_folder_logic TYPE string DEFAULT zif_abapgit_dot_abapgit=>c_folder_logic-prefix
|
|
!iv_labels TYPE string OPTIONAL
|
|
!iv_ign_subpkg TYPE abap_bool DEFAULT abap_false
|
|
!iv_main_lang_only TYPE abap_bool DEFAULT abap_false
|
|
!iv_abap_lang_vers TYPE string OPTIONAL
|
|
RETURNING
|
|
VALUE(ri_repo) TYPE REF TO zif_abapgit_repo
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS purge
|
|
IMPORTING
|
|
!ii_repo TYPE REF TO zif_abapgit_repo
|
|
!is_checks TYPE zif_abapgit_definitions=>ty_delete_checks
|
|
!iv_keep_repo TYPE abap_bool DEFAULT abap_false
|
|
RETURNING
|
|
VALUE(ri_log) TYPE REF TO zif_abapgit_log
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS validate_package
|
|
IMPORTING
|
|
!iv_package TYPE devclass
|
|
!iv_ign_subpkg TYPE abap_bool DEFAULT abap_false
|
|
!iv_chk_exists TYPE abap_bool DEFAULT abap_true
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS validate_url
|
|
IMPORTING
|
|
!iv_url TYPE string
|
|
!iv_chk_exists TYPE abap_bool DEFAULT abap_true
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS get_repo_from_package
|
|
IMPORTING
|
|
!iv_package TYPE devclass
|
|
!iv_ign_subpkg TYPE abap_bool DEFAULT abap_false
|
|
EXPORTING
|
|
VALUE(ei_repo) TYPE REF TO zif_abapgit_repo
|
|
!ev_reason TYPE string
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS get_repo_from_url
|
|
IMPORTING
|
|
!iv_url TYPE string
|
|
EXPORTING
|
|
!ei_repo TYPE REF TO zif_abapgit_repo
|
|
!ev_reason TYPE string
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS get_label_list
|
|
RETURNING
|
|
VALUE(rt_labels) TYPE ty_labels
|
|
RAISING
|
|
zcx_abapgit_exception.
|
|
|
|
ENDINTERFACE.
|