Merge pull request #579 from larshp/ignore_subpackages

ignore subpackages
This commit is contained in:
Lars Hvam 2017-01-26 07:41:55 +01:00 committed by GitHub
commit 39b285cb9d
4 changed files with 44 additions and 28 deletions

View File

@ -98,20 +98,21 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
TYPES: ty_local_checksum_tt TYPE STANDARD TABLE OF ty_local_checksum WITH DEFAULT KEY.
TYPES: BEGIN OF ty_repo_xml,
url TYPE string,
branch_name TYPE string,
sha1 TYPE ty_sha1,
package TYPE devclass,
offline TYPE sap_bool,
local_checksums TYPE ty_local_checksum_tt,
master_language TYPE spras,
head_branch TYPE string, " HEAD symref of the repo, master branch
write_protect TYPE sap_bool, " Deny destructive ops: pull, switch branch ...
url TYPE string,
branch_name TYPE string,
sha1 TYPE ty_sha1,
package TYPE devclass,
offline TYPE sap_bool,
local_checksums TYPE ty_local_checksum_tt,
master_language TYPE spras,
head_branch TYPE string, " HEAD symref of the repo, master branch
write_protect TYPE sap_bool, " Deny destructive ops: pull, switch branch ...
ignore_subpackages TYPE sap_bool,
END OF ty_repo_xml.
TYPES: BEGIN OF ty_repo,
key TYPE lcl_persistence_db=>ty_value.
INCLUDE TYPE ty_repo_xml.
INCLUDE TYPE ty_repo_xml.
TYPES: END OF ty_repo.
TYPES: tt_repo TYPE STANDARD TABLE OF ty_repo WITH DEFAULT KEY.
TYPES: tt_repo_keys TYPE STANDARD TABLE OF ty_repo-key WITH DEFAULT KEY.
@ -222,7 +223,7 @@ CLASS lcl_persistence_background DEFINITION FINAL.
TYPES: BEGIN OF ty_background,
key TYPE lcl_persistence_db=>ty_value.
INCLUDE TYPE ty_xml.
INCLUDE TYPE ty_xml.
TYPES: END OF ty_background.
TYPES: tt_background TYPE STANDARD TABLE OF ty_background WITH DEFAULT KEY.

View File

@ -34,6 +34,8 @@ CLASS lcl_repo DEFINITION ABSTRACT FRIENDS lcl_repo_srv.
RETURNING VALUE(rv_language) TYPE spras,
is_write_protected
RETURNING VALUE(rv_yes) TYPE sap_bool,
ignore_subpackages
RETURNING VALUE(rv_yes) TYPE sap_bool,
delete
RAISING lcx_exception,
get_dot_abapgit

View File

@ -508,8 +508,8 @@ CLASS lcl_repo IMPLEMENTATION.
lt_cache TYPE SORTED TABLE OF ty_file_item
WITH NON-UNIQUE KEY item.
DATA: lt_filter TYPE SORTED TABLE OF tadir
WITH NON-UNIQUE KEY object obj_name,
DATA: lt_filter TYPE SORTED TABLE OF tadir
WITH NON-UNIQUE KEY object obj_name,
lv_filter_exist TYPE abap_bool.
FIELD-SYMBOLS: <ls_file> LIKE LINE OF lt_files,
@ -535,7 +535,9 @@ CLASS lcl_repo IMPLEMENTATION.
iv_data = <ls_return>-file-data ).
lt_cache = mt_local.
lt_tadir = lcl_tadir=>read( get_package( ) ).
lt_tadir = lcl_tadir=>read(
iv_package = get_package( )
iv_ignore_subpackages = ignore_subpackages( ) ).
lt_filter = it_filter.
lv_filter_exist = boolc( lines( lt_filter ) > 0 ) .
@ -655,17 +657,22 @@ CLASS lcl_repo IMPLEMENTATION.
rv_yes = ms_data-write_protect.
ENDMETHOD. "is_write_protected
METHOD ignore_subpackages.
rv_yes = ms_data-ignore_subpackages.
ENDMETHOD.
METHOD rebuild_local_checksums. "LOCAL (BASE)
DATA: lt_local TYPE ty_files_item_tt,
ls_last_item TYPE ty_item,
lt_checksums TYPE lcl_persistence_repo=>ty_local_checksum_tt.
DATA: lt_local TYPE ty_files_item_tt,
ls_last_item TYPE ty_item,
lt_checksums TYPE lcl_persistence_repo=>ty_local_checksum_tt.
FIELD-SYMBOLS: <ls_checksum> LIKE LINE OF lt_checksums,
<ls_file_sig> LIKE LINE OF <ls_checksum>-files,
<ls_local> LIKE LINE OF lt_local.
lt_local = get_files_local( ).
lt_local = get_files_local( ).
DELETE lt_local " Remove non-code related files except .abapgit
WHERE item IS INITIAL

View File

@ -12,8 +12,9 @@ CLASS lcl_tadir DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS:
read
IMPORTING iv_package TYPE tadir-devclass
RETURNING VALUE(rt_tadir) TYPE ty_tadir_tt
IMPORTING iv_package TYPE tadir-devclass
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false
RETURNING VALUE(rt_tadir) TYPE ty_tadir_tt
RAISING lcx_exception,
read_single
IMPORTING iv_pgmid TYPE tadir-pgmid DEFAULT 'R3TR'
@ -33,9 +34,10 @@ CLASS lcl_tadir DEFINITION FINAL.
RETURNING VALUE(rt_tadir) TYPE ty_tadir_tt
RAISING lcx_exception,
build
IMPORTING iv_package TYPE tadir-devclass
iv_path TYPE string
RETURNING VALUE(rt_tadir) TYPE ty_tadir_tt
IMPORTING iv_package TYPE tadir-devclass
iv_path TYPE string
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false
RETURNING VALUE(rt_tadir) TYPE ty_tadir_tt
RAISING lcx_exception.
ENDCLASS. "lcl_tadir DEFINITION
@ -110,8 +112,9 @@ CLASS lcl_tadir IMPLEMENTATION.
METHOD read.
* start recursion
rt_tadir = build( iv_package = iv_package
iv_path = '' ).
rt_tadir = build( iv_package = iv_package
iv_path = ''
iv_ignore_subpackages = iv_ignore_subpackages ).
rt_tadir = check_exists( rt_tadir ).
@ -161,9 +164,12 @@ CLASS lcl_tadir IMPLEMENTATION.
ENDLOOP.
* look for subpackages
SELECT * FROM tdevc INTO TABLE lt_tdevc
WHERE parentcl = iv_package
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
IF iv_ignore_subpackages = abap_false.
SELECT * FROM tdevc INTO TABLE lt_tdevc
WHERE parentcl = iv_package
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
ENDIF.
LOOP AT lt_tdevc ASSIGNING <ls_tdevc>.
lv_len = strlen( iv_package ).
IF <ls_tdevc>-devclass(lv_len) <> iv_package.