more syntax check #911

This commit is contained in:
larshp 2017-09-12 19:45:37 +00:00
parent 9f126932cc
commit 374e69146c

View File

@ -6,14 +6,30 @@ public section.
class-methods RUN
importing
!IV_PACKAGE type DEVCLASS .
!IV_PACKAGE type DEVCLASS
returning
value(RT_LIST) type SCIT_ALVLIST .
protected section.
class-methods CREATE_INSPECTION
importing
!IO_SET type ref to CL_CI_OBJECTSET
!IO_VARIANT type ref to CL_CI_CHECKVARIANT
returning
value(RO_INSPECTION) type ref to CL_CI_INSPECTION .
class-methods CREATE_OBJECTSET
importing
!IV_PACKAGE type DEVCLASS
returning
value(RO_SET) type ref to CL_CI_OBJECTSET .
class-methods CREATE_VARIANT
returning
value(RO_VARIANT) type ref to CL_CI_CHECKVARIANT .
class-methods RUN_INSPECTION
importing
!IO_INSPECTION type ref to CL_CI_INSPECTION
returning
value(RT_LIST) type SCIT_ALVLIST .
private section.
ENDCLASS.
@ -22,45 +38,121 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_SYNTAX_CHECK IMPLEMENTATION.
METHOD create_inspection.
cl_ci_inspection=>create(
EXPORTING
p_user = sy-uname
p_name = ''
RECEIVING
p_ref = ro_inspection
EXCEPTIONS
locked = 1
error_in_enqueue = 2
not_authorized = 3
OTHERS = 4 ).
ASSERT sy-subrc = 0.
ro_inspection->set(
p_chkv = io_variant
p_objs = io_set
* p_deldate = CONV sci_deldat( sy-datum + 1 )
).
ENDMETHOD.
METHOD create_objectset.
CONSTANTS: lc_anonymous TYPE sci_objs VALUE ''.
DATA: lt_objects TYPE scistadir,
ls_flags TYPE sci_flgl.
FIELD-SYMBOLS: <ls_package> LIKE LINE OF lt_objects-sodevc.
DATA: lt_objs TYPE scit_objs,
lt_packages TYPE cl_pak_package_queries=>tt_subpackage_info,
ls_package LIKE LINE OF lt_packages,
ls_obj LIKE LINE OF lt_objs.
ro_set = cl_ci_objectset=>create(
p_user = sy-uname
p_name = lc_anonymous ).
cl_pak_package_queries=>get_all_subpackages(
EXPORTING
im_package = iv_package
im_also_local_packages = abap_true
IMPORTING
et_subpackages = lt_packages ).
APPEND INITIAL LINE TO lt_objects-sodevc ASSIGNING <ls_package>.
<ls_package>-sign = 'I'.
<ls_package>-option = 'CP'.
CONCATENATE iv_package '*' INTO <ls_package>-low.
* todo, find all subpackages
ls_package-package = iv_package.
INSERT ls_package INTO TABLE lt_packages.
ls_flags-class = abap_true.
ls_flags-fugrs = abap_true.
ls_flags-repos = abap_true.
ls_flags-wdyns = abap_true.
ls_flags-ddics = abap_true.
ls_flags-typps = abap_true.
* todo
ls_obj-objtype = 'PROG'.
ls_obj-objname = 'ZABAPGIT'.
INSERT ls_obj INTO TABLE lt_objs.
ro_set->save_objectset(
p_tadir = lt_objects
p_sel_flags = ls_flags ).
ro_set = cl_ci_objectset=>save_from_list( lt_objs ).
ENDMETHOD.
METHOD create_variant.
DATA: lt_variant TYPE sci_tstvar,
ls_variant LIKE LINE OF lt_variant.
cl_ci_checkvariant=>create(
EXPORTING
p_user = sy-uname
RECEIVING
p_ref = ro_variant
EXCEPTIONS
chkv_already_exists = 1
locked = 2
error_in_enqueue = 3
not_authorized = 4
OTHERS = 5 ).
ASSERT sy-subrc = 0.
ls_variant-testname = 'CL_CI_TEST_SYNTAX_CHECK'.
INSERT ls_variant INTO TABLE lt_variant.
ro_variant->set_variant(
EXPORTING
p_variant = lt_variant
EXCEPTIONS
not_enqueued = 1
OTHERS = 2 ).
ASSERT sy-subrc = 0.
ENDMETHOD.
METHOD run.
create_objectset( iv_package ).
DATA: lo_set TYPE REF TO cl_ci_objectset,
lo_inspection TYPE REF TO cl_ci_inspection,
lo_variant TYPE REF TO cl_ci_checkvariant.
* todo: add returning parameter
lo_set = create_objectset( iv_package ).
lo_variant = create_variant( ).
lo_inspection = create_inspection(
io_set = lo_set
io_variant = lo_variant ).
rt_list = run_inspection( lo_inspection ).
ENDMETHOD.
METHOD run_inspection.
io_inspection->run(
EXCEPTIONS
invalid_check_version = 1
OTHERS = 2 ).
ASSERT sy-subrc = 0.
io_inspection->plain_list(
IMPORTING
p_list = rt_list ).
ENDMETHOD.
ENDCLASS.