Skip to content

Commit ccb2fb6

Browse files
committed
Add devclass validation
1 parent ae49887 commit ccb2fb6

File tree

3 files changed

+42
-16
lines changed

3 files changed

+42
-16
lines changed

src/#apmg#cl_package_json_valid.clas.abap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ CLASS /apmg/cl_package_json_valid IMPLEMENTATION.
111111
APPEND LINES OF lcl_validate=>validate_persons( manifest ) TO result.
112112
APPEND LINES OF lcl_validate=>validate_engines( manifest ) TO result.
113113
APPEND LINES OF lcl_validate=>validate_dependencies( manifest ) TO result.
114+
APPEND LINES OF lcl_validate=>validate_devclass( manifest ) TO result.
114115

115116
ENDMETHOD.
116117

src/#apmg#cl_package_json_valid.clas.locals_imp.abap

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ CLASS lcl_validate DEFINITION.
3232
RETURNING
3333
VALUE(result) TYPE string_table.
3434

35+
CLASS-METHODS validate_devclass
36+
IMPORTING
37+
!manifest TYPE /apmg/if_types=>ty_manifest
38+
RETURNING
39+
VALUE(result) TYPE string_table.
40+
3541
ENDCLASS.
3642

3743
CLASS lcl_validate IMPLEMENTATION.
@@ -250,4 +256,22 @@ CLASS lcl_validate IMPLEMENTATION.
250256

251257
ENDMETHOD.
252258

259+
METHOD validate_devclass.
260+
261+
IF manifest-devclass-default IS NOT INITIAL AND
262+
/apmg/cl_package_json_valid=>is_valid_sap_package( manifest-devclass-default ) = abap_false.
263+
INSERT |Invalid default SAP package: { manifest-devclass-default }| INTO TABLE result.
264+
ENDIF.
265+
266+
IF manifest-devclass-abap_language_version IS NOT INITIAL AND
267+
manifest-devclass-abap_language_version <> zif_abapgit_dot_abapgit=>c_abap_language_version-undefined AND
268+
manifest-devclass-abap_language_version <> zif_abapgit_dot_abapgit=>c_abap_language_version-ignore AND
269+
manifest-devclass-abap_language_version <> zif_abapgit_dot_abapgit=>c_abap_language_version-standard AND
270+
manifest-devclass-abap_language_version <> zif_abapgit_dot_abapgit=>c_abap_language_version-key_user AND
271+
manifest-devclass-abap_language_version <> zif_abapgit_dot_abapgit=>c_abap_language_version-cloud_development.
272+
INSERT |Invalid ABAP language version: { manifest-devclass-abap_language_version }| INTO TABLE result.
273+
ENDIF.
274+
275+
ENDMETHOD.
276+
253277
ENDCLASS.

src/#apmg#if_package_json.intf.abap

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,23 @@ INTERFACE /apmg/if_package_json PUBLIC.
1717

1818
TYPES:
1919
BEGIN OF ty_package,
20-
key TYPE /apmg/if_persist_apm=>ty_key,
21-
package TYPE devclass,
22-
name TYPE string,
23-
version TYPE string,
24-
description TYPE string,
25-
type TYPE string,
26-
private TYPE abap_bool,
27-
changed_by TYPE as4user,
28-
changed_at TYPE string,
29-
changed_at_raw TYPE timestampl,
30-
bundle TYPE abap_bool,
31-
parent TYPE devclass,
32-
favorite TYPE abap_bool, " settings
33-
write_protected TYPE abap_bool, " settings
34-
labels TYPE string_table, " settings
35-
instance TYPE REF TO /apmg/if_package_json,
20+
key TYPE /apmg/if_persist_apm=>ty_key,
21+
package TYPE devclass,
22+
name TYPE string,
23+
version TYPE string,
24+
description TYPE string,
25+
type TYPE string,
26+
private TYPE abap_bool,
27+
changed_by TYPE as4user,
28+
changed_at TYPE string,
29+
changed_at_raw TYPE timestampl,
30+
bundle TYPE abap_bool,
31+
parent TYPE devclass,
32+
abap_language_version TYPE uccheck,
33+
favorite TYPE abap_bool, " settings
34+
write_protected TYPE abap_bool, " settings
35+
labels TYPE string_table, " settings
36+
instance TYPE REF TO /apmg/if_package_json,
3637
END OF ty_package,
3738
ty_packages TYPE STANDARD TABLE OF ty_package
3839
WITH NON-UNIQUE KEY primary_key COMPONENTS key

0 commit comments

Comments
 (0)