Add "ignore sub-packages" option to package export (#6815)

This commit is contained in:
Marc Bernard 2024-02-16 09:18:45 +01:00 committed by GitHub
parent 30415249ac
commit d4f6879a18
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 15 deletions

View File

@ -34,6 +34,7 @@ CLASS zcl_abapgit_zip DEFINITION
!iv_package TYPE devclass
!iv_folder_logic TYPE string
!iv_main_lang_only TYPE abap_bool
!iv_ign_subpkg TYPE abap_bool OPTIONAL
RAISING
zcx_abapgit_exception .
CLASS-METHODS load
@ -196,6 +197,7 @@ CLASS zcl_abapgit_zip IMPLEMENTATION.
lv_zip_xstring TYPE xstring.
ls_local_settings-main_language_only = iv_main_lang_only.
ls_local_settings-ignore_subpackages = iv_ign_subpkg.
lo_dot_abapgit = zcl_abapgit_dot_abapgit=>build_default( ).
lo_dot_abapgit->set_folder_logic( iv_folder_logic ).
@ -219,6 +221,7 @@ CLASS zcl_abapgit_zip IMPLEMENTATION.
lo_frontend_serv->file_download(
iv_path = lv_path
iv_xstr = lv_zip_xstring ).
ENDMETHOD.

View File

@ -23,6 +23,7 @@ CLASS zcl_abapgit_gui_page_ex_pckage DEFINITION
BEGIN OF c_id,
package TYPE string VALUE 'package',
folder_logic TYPE string VALUE 'folder_logic',
ignore_subpackages TYPE string VALUE 'ignore_subpackages',
main_lang_only TYPE string VALUE 'main_lang_only',
END OF c_id.
@ -74,15 +75,18 @@ CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
METHOD export_package.
DATA lv_package TYPE devclass.
DATA lv_folder_logic TYPE string.
DATA lv_ign_subpkg TYPE abap_bool.
DATA lv_main_lang_only TYPE abap_bool.
lv_package = mo_form_data->get( c_id-package ).
lv_folder_logic = mo_form_data->get( c_id-folder_logic ).
lv_ign_subpkg = mo_form_data->get( c_id-ignore_subpackages ).
lv_main_lang_only = mo_form_data->get( c_id-main_lang_only ).
zcl_abapgit_zip=>export_package(
iv_package = lv_package
iv_folder_logic = lv_folder_logic
iv_ign_subpkg = lv_ign_subpkg
iv_main_lang_only = lv_main_lang_only ).
ENDMETHOD.
@ -110,10 +114,14 @@ CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION.
)->option(
iv_label = 'Mixed'
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
)->checkbox(
iv_name = c_id-ignore_subpackages
iv_label = 'Ignore Subpackages'
iv_hint = 'Export selected package only'
)->checkbox(
iv_name = c_id-main_lang_only
iv_label = 'Serialize Main Language Only'
iv_hint = 'Ignore translations, serialize just main language'
iv_hint = 'Ignore translations, export just main language'
)->command(
iv_label = 'Export Package to ZIP'
iv_action = c_event-export_package