mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 20:32:26 +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`,
|
late TYPE zif_abapgit_object=>ty_deserialization_step VALUE `LATE`,
|
||||||
END OF gc_step_id.
|
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
|
METHODS serialize
|
||||||
IMPORTING
|
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