mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
add method to determine if running in cloud (#2515)
* add method to determine if running in cloud add new class and method to determine if abapGit is running on ABAP cloud/Steampunk systems, part of an effort to align codelines #2511 * fix naming * add simple unit test
This commit is contained in:
parent
a0a8131db4
commit
88822bb735
|
@ -16,6 +16,8 @@ INTERFACE zif_abapgit_object
|
|||
late TYPE zif_abapgit_object=>ty_deserialization_step VALUE `LATE`,
|
||||
END OF gc_step_id.
|
||||
|
||||
CONSTANTS c_abap_version_sap_cp TYPE progdir-uccheck VALUE '5' ##NO_TEXT.
|
||||
CONSTANTS c_abap_version_default TYPE progdir-uccheck VALUE 'X' ##NO_TEXT.
|
||||
|
||||
METHODS serialize
|
||||
IMPORTING
|
||||
|
|
36
src/zcl_abapgit_environment.clas.abap
Normal file
36
src/zcl_abapgit_environment.clas.abap
Normal file
|
@ -0,0 +1,36 @@
|
|||
CLASS zcl_abapgit_environment DEFINITION
|
||||
PUBLIC
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
CLASS-METHODS is_cloud
|
||||
RETURNING
|
||||
VALUE(rv_cloud) TYPE abap_bool .
|
||||
PROTECTED SECTION.
|
||||
|
||||
CLASS-DATA gv_cloud TYPE abap_bool VALUE abap_undefined ##NO_TEXT.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_ENVIRONMENT IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD is_cloud.
|
||||
|
||||
IF gv_cloud = abap_undefined.
|
||||
TRY.
|
||||
CALL METHOD ('CL_COS_UTILITIES')=>('IS_SAP_CLOUD_PLATFORM')
|
||||
RECEIVING
|
||||
rv_is_sap_cloud_platform = gv_cloud.
|
||||
CATCH cx_sy_dyn_call_illegal_method.
|
||||
gv_cloud = abap_false.
|
||||
ENDTRY.
|
||||
ENDIF.
|
||||
|
||||
rv_cloud = gv_cloud.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
31
src/zcl_abapgit_environment.clas.testclasses.abap
Normal file
31
src/zcl_abapgit_environment.clas.testclasses.abap
Normal file
|
@ -0,0 +1,31 @@
|
|||
|
||||
CLASS ltcl_test DEFINITION FOR TESTING
|
||||
DURATION SHORT
|
||||
RISK LEVEL HARMLESS FINAL.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA:
|
||||
mo_cut TYPE REF TO zcl_abapgit_environment.
|
||||
|
||||
METHODS:
|
||||
setup,
|
||||
is_cloud FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_test IMPLEMENTATION.
|
||||
|
||||
METHOD setup.
|
||||
|
||||
CREATE OBJECT mo_cut.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_cloud.
|
||||
|
||||
mo_cut->is_cloud( ).
|
||||
* no assertions, just make sure the dynamic code runs
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
18
src/zcl_abapgit_environment.clas.xml
Normal file
18
src/zcl_abapgit_environment.clas.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_ABAPGIT_ENVIRONMENT</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>abapGit - Environment information</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
Loading…
Reference in New Issue
Block a user