@@ -18,10 +18,18 @@ INTERFACE /apmg/if_types PUBLIC.
18
18
CONSTANTS c_version TYPE string VALUE '1.0.0' ##NO_TEXT .
19
19
20
20
TYPES :
21
+ "! SAP Package (always upper case)
22
+ ty_devclass TYPE devclass,
23
+ "! Name of package in registry (always lower case)
24
+ ty_name TYPE string ,
25
+ "! Semantic version of package
26
+ ty_version TYPE string ,
27
+ "! Package specification (version, range, tag name, git url, or tarball URL)
28
+ ty_spec TYPE string ##NEEDED ,
21
29
"! Email
22
- ty_email TYPE string ,
30
+ ty_email TYPE string ,
23
31
"! URI
24
- ty_uri TYPE string ,
32
+ ty_uri TYPE string ,
25
33
"! Person
26
34
BEGIN OF ty_person,
27
35
name TYPE string ,
@@ -87,19 +95,20 @@ INTERFACE /apmg/if_types PUBLIC.
87
95
signatures TYPE STANDARD TABLE OF ty_signature WITH KEY keyid,
88
96
END OF ty_dist,
89
97
"! SAP Package
90
- BEGIN OF ty_devclass,
91
- default TYPE devclass,
92
- abap_language_version TYPE uccheck,
93
- END OF ty_devclass.
98
+ BEGIN OF ty_sap_package,
99
+ default TYPE ty_devclass,
100
+ software_component TYPE dlvunit,
101
+ abap_language_version TYPE string ,
102
+ END OF ty_sap_package.
94
103
95
104
" *** PACKAGE.ABAP.JSON ***
96
105
97
106
TYPES :
98
107
"! Schema for package.abap.json
99
108
"! Everything but "icon" and "devclass" is also in regular npm package.json
100
109
BEGIN OF ty_package_json,
101
- name TYPE string ,
102
- version TYPE string ,
110
+ name TYPE ty_name ,
111
+ version TYPE ty_version ,
103
112
description TYPE string ,
104
113
type TYPE string ,
105
114
keywords TYPE string_table,
@@ -125,7 +134,7 @@ INTERFACE /apmg/if_types PUBLIC.
125
134
db TYPE string_table,
126
135
private TYPE abap_bool ,
127
136
readme TYPE string ,
128
- devclass TYPE ty_devclass ,
137
+ sap_package TYPE ty_sap_package ,
129
138
END OF ty_package_json.
130
139
131
140
" *** MANIFEST ***
@@ -148,8 +157,8 @@ INTERFACE /apmg/if_types PUBLIC.
148
157
"!
149
158
"! fetched with "accept: application/vnd.npm.install-v1+json" in the HTTP headers
150
159
BEGIN OF ty_manifest_abbreviated ##NEEDED ,
151
- name TYPE string ,
152
- version TYPE string ,
160
+ name TYPE ty_name ,
161
+ version TYPE ty_version ,
153
162
dependencies TYPE ty_dependencies,
154
163
dev_dependencies TYPE ty_dependencies,
155
164
optional_dependencies TYPE ty_dependencies,
@@ -167,11 +176,11 @@ INTERFACE /apmg/if_types PUBLIC.
167
176
168
177
TYPES :
169
178
"! Version Manifest
170
- BEGIN OF ty_version ,
171
- key TYPE string ,
172
- version TYPE ty_manifest,
173
- END OF ty_version ,
174
- ty_versions TYPE STANDARD TABLE OF ty_version WITH KEY key .
179
+ BEGIN OF ty_version_manifest ,
180
+ key TYPE string ,
181
+ manifest TYPE ty_manifest,
182
+ END OF ty_version_manifest ,
183
+ ty_version_manifests TYPE STANDARD TABLE OF ty_version_manifest WITH KEY key .
175
184
176
185
TYPES :
177
186
"! Tarball Attachment
@@ -185,15 +194,24 @@ INTERFACE /apmg/if_types PUBLIC.
185
194
END OF ty_attachment,
186
195
ty_attachments TYPE STANDARD TABLE OF ty_attachment WITH KEY key .
187
196
197
+ TYPES :
198
+ "! List of Objects for Global Directory (GTADIR)
199
+ BEGIN OF ty_tadir_object,
200
+ pgmid TYPE tadir-pgmid,
201
+ object TYPE tadir-object,
202
+ obj_name TYPE tadir-obj_name,
203
+ END OF ty_tadir_object,
204
+ ty_tadir_objects TYPE SORTED TABLE OF ty_tadir_object WITH UNIQUE KEY pgmid object obj_name.
205
+
188
206
TYPES :
189
207
"! Full packument (as fetched from registry)
190
208
"! Some fields are hoisted from latest version to root
191
209
BEGIN OF ty_packument ##NEEDED ,
192
- name TYPE string ,
210
+ name TYPE ty_name ,
193
211
description TYPE string ,
194
212
dist_tags TYPE ty_dist_tags,
195
213
time TYPE ty_times,
196
- versions TYPE ty_versions ,
214
+ versions TYPE ty_version_manifests ,
197
215
maintainers TYPE ty_persons,
198
216
readme TYPE string ,
199
217
users TYPE ty_users,
@@ -207,6 +225,7 @@ INTERFACE /apmg/if_types PUBLIC.
207
225
_id TYPE string ,
208
226
_rev TYPE string ,
209
227
_attachments TYPE ty_attachments,
228
+ _objects TYPE ty_tadir_objects,
210
229
access TYPE string ,
211
230
END OF ty_packument.
212
231
@@ -310,4 +329,14 @@ INTERFACE /apmg/if_types PUBLIC.
310
329
sybase TYPE string VALUE 'sybase' ,
311
330
END OF c_db.
312
331
332
+ CONSTANTS :
333
+ "! ABAP Language Version (same as zif_abapgit_dot_abapgit)
334
+ BEGIN OF c_abap_language_version,
335
+ standard TYPE string VALUE 'standard' ,
336
+ key_user TYPE string VALUE 'keyUser' ,
337
+ cloud_development TYPE string VALUE 'cloudDevelopment' ,
338
+ ignore TYPE string VALUE 'ignore' ,
339
+ undefined TYPE string VALUE 'undefined' , " any
340
+ END OF c_abap_language_version.
341
+
313
342
ENDINTERFACE .
0 commit comments