mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
63 lines
1.4 KiB
ABAP
63 lines
1.4 KiB
ABAP
CLASS zcl_abapgit_migrations DEFINITION
|
|
PUBLIC FINAL
|
|
CREATE PUBLIC.
|
|
|
|
PUBLIC SECTION.
|
|
CLASS-METHODS run
|
|
RAISING
|
|
zcx_abapgit_exception
|
|
zcx_abapgit_not_found.
|
|
|
|
PROTECTED SECTION.
|
|
PRIVATE SECTION.
|
|
|
|
CLASS-METHODS migrate_offline_repos.
|
|
ENDCLASS.
|
|
|
|
|
|
|
|
CLASS zcl_abapgit_migrations IMPLEMENTATION.
|
|
|
|
|
|
METHOD migrate_offline_repos.
|
|
|
|
DATA:
|
|
lt_repos TYPE zif_abapgit_repo_srv=>ty_repo_list,
|
|
li_repo LIKE LINE OF lt_repos,
|
|
lo_dot TYPE REF TO zcl_abapgit_dot_abapgit.
|
|
|
|
TRY.
|
|
" Get offline repos only
|
|
lt_repos = zcl_abapgit_repo_srv=>get_instance( )->list( abap_true ).
|
|
|
|
LOOP AT lt_repos INTO li_repo.
|
|
lo_dot = li_repo->get_dot_abapgit( ).
|
|
" Move repo name from URL fields to .abapGit.xml
|
|
IF li_repo->ms_data-url IS NOT INITIAL AND lo_dot->get_name( ) IS INITIAL.
|
|
lo_dot->set_name( li_repo->ms_data-url ).
|
|
li_repo->set_dot_abapgit( lo_dot ).
|
|
ENDIF.
|
|
ENDLOOP.
|
|
CATCH zcx_abapgit_exception ##NO_HANDLER.
|
|
ENDTRY.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD run.
|
|
|
|
" Migrate STDTEXT to TABLE
|
|
zcl_abapgit_persist_migrate=>run( ).
|
|
|
|
" Create ZIF_APACK_MANIFEST interface
|
|
zcl_abapgit_apack_migration=>run( ).
|
|
|
|
" Migrate checksums from repo metadata to separate DB object
|
|
zcl_abapgit_repo_cs_migration=>run( ).
|
|
|
|
" Migrate offline repo metadata
|
|
migrate_offline_repos( ).
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|