SAP / abap-file-formats

File formats that define and specify the file representation for ABAP development objects
MIT License
58 stars 55 forks source link

Tooling #55

Open larshp opened 3 years ago

larshp commented 3 years ago

we can talk about this in the next call

schneidermic0 commented 3 years ago

Sure ;)

larshp commented 3 years ago

I'm leaning towards defining the data structures in ABAP, example: https://gist.github.com/larshp/a9556931fb454ae372ef045e0ed8b21a (don't look much at the actual fields, but the structure/setup instead)

We are ABAP biased, the purpose and target is ABAP, people defining the data structures will know ABAP.

schneidermic0 commented 3 years ago

Actually, I like this idea.

larshp commented 3 years ago

First consider the idea, then after that, we can talk about how to practically achieve this 😁

larshp commented 3 years ago

Some suggestions discussed,

xtough commented 3 years ago

Just to mention it: As soon as we commit a single line of ABAP source, we have to decide on a serialization format. This is a recursive hen-egg-problem. This is not just about the inner structure (target language version, metadata format) of files but also about file names and directory structures.

Ultimate question is: a) Shall this be agnostic to concrete Git client implementations (abapGit vs. gCTS)? b) Or shall this be readily importable with a concrete client?

Since folder structures of abapGit and gCTS are currently incompatible, (b) would at best work for one concrete client. On the other hand, (a) would not be importable out-of-the-box without additional adaptations, either directly in the import logic of the respective Git clients, or via some "boiler plate" repository that federates the plain files from abap-file-formats into the right folder structure of either abapGit or gCTS...

larshp commented 3 years ago

first priority: do the design, not looking at tooling too much

for abapGit we can have changes out to anyone in short time, and also command line git will always work, which enables everyone to use their favorite editor(vscode?)

I started https://github.com/larshp/abap-transmogrify some time ago

larshp commented 3 years ago

proof of concept: https://github.com/abap-openapi/abap-type-to-json-schema will now traverse a ABAP structure via RTTI, and runs on both NodeJS and ABAP AS

schneidermic0 commented 3 years ago

Cool. We plan to look into the conversion of an ABAP type to Json schema in on of our next sprints as well.

larshp commented 3 years ago

cool, just note https://github.com/SAP/abap-file-formats/issues/55#issuecomment-824825860

schneidermic0 commented 2 years ago

Just adding a link to our ABAP file formats tools repository: https://github.com/SAP/abap-file-formats-tools

It provides ABAP code to generate JSON schema file from an AFF ABAP type.