Try at local <-> remote package naming

This commit is contained in:
Fabian Lupa 2017-09-09 15:57:00 +02:00
parent bcbf52d6e2
commit b5e1345e8b
4 changed files with 38 additions and 18 deletions

View File

@ -164,7 +164,7 @@ CLASS lcl_file_status IMPLEMENTATION.
IF lo_dot_abapgit->is_ignored(
iv_path = <ls_result>-path
iv_filename = <ls_result>-filename ) = abap_true.
iv_filename = <ls_result>-filename ) = abap_true. "OR <ls_result>-obj_type = 'DEVC' ##TODO.
DELETE rt_results INDEX lv_index.
ENDIF.
ENDLOOP.
@ -224,6 +224,7 @@ CLASS lcl_file_status IMPLEMENTATION.
ev_is_xml = lv_is_xml ).
CHECK lv_is_xml = abap_true. " Skip all but obj definitions
CHECK ls_item-obj_type <> 'DEVC' ##TODO.
ls_item-devclass = lcl_tadir=>get_object_package(
iv_object = ls_item-obj_type

View File

@ -27,8 +27,8 @@ CLASS lcl_object_devc DEFINITION
iv_lock TYPE abap_bool
RAISING lcx_exception.
DATA:
mv_devclass TYPE devclass,
mv_local_devclass TYPE devclass,
mv_repo_devclass TYPE devclass,
mv_installation_package TYPE devclass.
ENDCLASS.
@ -36,7 +36,8 @@ CLASS lcl_object_devc IMPLEMENTATION.
METHOD constructor.
super->constructor( is_item = is_item
iv_language = iv_language ).
mv_devclass = is_item-obj_name.
mv_local_devclass = is_item-devclass. " This may be empty at this point
mv_repo_devclass = is_item-obj_name.
ENDMETHOD.
METHOD get_package.
@ -61,7 +62,7 @@ CLASS lcl_object_devc IMPLEMENTATION.
ENDMETHOD.
METHOD lif_object~changed_by.
rv_user = get_package( mv_devclass )->changed_by.
rv_user = get_package( mv_local_devclass )->changed_by.
ENDMETHOD.
METHOD lif_object~compare_to_remote_version.
@ -79,7 +80,7 @@ CLASS lcl_object_devc IMPLEMENTATION.
" Unfortunately deleted objects that are still contained in an unreleased transport request
" also count towards the contained objects counter.
li_package = get_package( mv_devclass ).
li_package = get_package( mv_local_devclass ).
li_package->get_changeable( IMPORTING e_changeable = lv_changeable ).
IF lv_changeable = abap_false.
@ -140,13 +141,15 @@ CLASS lcl_object_devc IMPLEMENTATION.
ls_save_sign TYPE paksavsign.
FIELD-SYMBOLS: <ls_usage_data> TYPE scomppdtln.
mv_local_devclass = iv_package.
io_xml->read(
EXPORTING
iv_name = 'DEVC'
CHANGING
cg_data = ls_package_data ).
mv_local_devclass = mv_devclass.
* mv_local_devclass = mv_local_devclass.
" Is it the top level package?
* IF ls_package_data-parentcl IS INITIAL.
@ -158,7 +161,9 @@ CLASS lcl_object_devc IMPLEMENTATION.
* ENDIF.
* ENDIF.
li_package = get_package( mv_devclass ).
li_package = get_package( mv_local_devclass ).
ls_package_data-devclass = mv_local_devclass.
CLEAR ls_package_data-parentcl. ##TODO "
ls_data_sign-ctext = abap_true.
* ls_data_sign-korrflag = abap_true.
@ -167,7 +172,7 @@ CLASS lcl_object_devc IMPLEMENTATION.
ls_data_sign-dlvunit = abap_true.
ls_data_sign-comp_posid = abap_true.
ls_data_sign-component = abap_true.
ls_data_sign-parentcl = abap_true.
* ls_data_sign-parentcl = abap_true.
ls_data_sign-perminher = abap_true.
ls_data_sign-intfprefx = abap_true.
ls_data_sign-packtype = abap_true.
@ -181,7 +186,7 @@ CLASS lcl_object_devc IMPLEMENTATION.
ls_data_sign-project_passdown = abap_true.
IF ls_package_data-ctext IS INITIAL.
ls_package_data-ctext = mv_devclass.
ls_package_data-ctext = mv_local_devclass.
ENDIF.
IF ls_package_data-dlvunit IS INITIAL.
ls_package_data-dlvunit = 'HOME'.
@ -292,9 +297,10 @@ CLASS lcl_object_devc IMPLEMENTATION.
ENDMETHOD.
METHOD lif_object~exists.
ASSERT mv_local_devclass IS NOT INITIAL ##TODO.
cl_package_helper=>check_package_existence(
EXPORTING
i_package_name = mv_devclass
i_package_name = mv_local_devclass
IMPORTING
e_package_exists = rv_bool
EXCEPTIONS
@ -338,7 +344,7 @@ CLASS lcl_object_devc IMPLEMENTATION.
ls_usage_data TYPE scomppdtln,
li_usage TYPE REF TO if_package_permission_to_use.
li_package = get_package( mv_devclass ).
li_package = get_package( mv_local_devclass ).
IF li_package IS NOT BOUND.
lcx_exception=>raise( |Could not find package to serialize.| ).
ENDIF.
@ -355,8 +361,8 @@ CLASS lcl_object_devc IMPLEMENTATION.
lcx_exception=>raise( |Error from IF_PACKAGE->GET_ALL_ATTRIBUTES { sy-subrc }| ).
ENDIF.
ls_package_data-devclass = mv_devclass.
IF mv_devclass = mv_installation_package.
ls_package_data-devclass = mv_repo_devclass.
IF mv_local_devclass = mv_installation_package. ##TODO
CLEAR ls_package_data-parentcl.
ENDIF.
@ -380,8 +386,7 @@ CLASS lcl_object_devc IMPLEMENTATION.
EXCEPTIONS
object_invalid = 1
unexpected_error = 2
OTHERS = 3
).
OTHERS = 3 ).
IF sy-subrc <> 0.
lcx_exception=>raise( |Error from IF_PACKAGE->GET_PERMISSION_TO_USE { sy-subrc }| ).
ENDIF.
@ -446,10 +451,10 @@ CLASS lcl_object_devc IMPLEMENTATION.
object_not_changeable = 1
object_invalid = 2
intern_err = 3
OTHERS = 4
).
OTHERS = 4 ).
IF sy-subrc <> 0.
lcx_exception=>raise( |Error from IF_PACKAGE_PERMISSION_TO_USE->SET_ALL_ATTRIBUTES { sy-subrc }| ).
lcx_exception=>raise(
|Error from IF_PACKAGE_PERMISSION_TO_USE->SET_ALL_ATTRIBUTES { sy-subrc }| ).
ENDIF.
ELSE.

View File

@ -621,6 +621,8 @@ CLASS lcl_objects IMPLEMENTATION.
io_dot = io_repo->get_dot_abapgit( )
iv_path = <ls_result>-path ).
ls_item-devclass = lv_package ##TODO.
lv_cancel = warning_package( is_item = ls_item
iv_package = lv_package ).
IF lv_cancel = abap_true.

View File

@ -188,6 +188,7 @@ CLASS lcl_tadir IMPLEMENTATION.
LOOP AT it_tadir ASSIGNING <ls_tadir>.
ls_item-obj_type = <ls_tadir>-object.
ls_item-obj_name = <ls_tadir>-obj_name.
ls_item-devclass = <ls_tadir>-devclass.
IF lcl_objects=>is_supported( ls_item ) = abap_true.
lv_exists = lcl_objects=>exists( ls_item ).
@ -239,6 +240,7 @@ CLASS lcl_tadir IMPLEMENTATION.
ls_exclude-low = 'STOB'. " auto generated by core data services
APPEND ls_exclude TO lt_excludes.
##TODO.
* IF sy-uname <> 'DEVELOPER' AND io_dot IS NOT BOUND OR io_dot->uses_advanced_packages( ) = abap_false.
* ls_exclude-low = 'DEVC'.
* APPEND ls_exclude TO lt_excludes.
@ -271,6 +273,16 @@ CLASS lcl_tadir IMPLEMENTATION.
WHEN 'SICF'.
* replace the internal GUID with a hash of the path
<ls_tadir>-obj_name+15 = read_sicf_url( <ls_tadir>-obj_name ).
WHEN 'DEVC'.
" The package on this system might be named differently to the one in the repository.
IF io_dot IS BOUND.
<ls_tadir>-obj_name = lcl_folder_logic=>path_to_package(
iv_top = iv_top
io_dot = io_dot
iv_path = lv_path ).
ENDIF.
ENDCASE.
ENDLOOP.