Skip to content

DDLS: Update documentation: new file extension in CDS #161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
albertmink opened this issue Aug 13, 2021 · 15 comments · Fixed by #299
Closed

DDLS: Update documentation: new file extension in CDS #161

albertmink opened this issue Aug 13, 2021 · 15 comments · Fixed by #299
Labels
decided Design decision made. Implementation by SAP is open

Comments

@albertmink
Copy link
Contributor

With the definition of a ABAP file format for CDS it is introduced a new file extension, see #160

Let's document the new one here
https://github.com/SAP/abap-file-formats/blob/main/doc/specification.md#file-extensions

@albertmink albertmink added the documentation Improvements or additions to documentation label Aug 13, 2021
@BeckerWdf
Copy link
Contributor

BeckerWdf commented Aug 13, 2021

See also the discussions in: #160 (comment)

Questions raised there are:

  1. Is ABAP flavoured CDS a subset or superset of the other CDS?
  2. Do you want to register different parsers for different ABAP flavoured CDS object types like DDLS, DCLS, DDLX, ...?
  3. Do we want to keep the pattern object_type.language?
  4. Do we break the pattern object_type.language when both are identical?

@BeckerWdf
Copy link
Contributor

See also the discussions in: #160 (comment)

Questions raised there are:

  1. Is ABAP flavoured CDS a subset or superset of the other CDS?

It's both. ABAP flavoured CDS does not implement the complete CDS specification (e.g. no structured types up to now). And it has ABAP specific extensions (like the usage of ABAP data elements.

  1. Do you want to register different parsers for different ABAP flavoured CDS object types like DDLS, DCLS, DDLX, ...?

At least ADT has a separate (RND based) parser for each CDS object type. So the answer it most probably: Yes.

  1. Do we want to keep the pattern object_type.language?
  2. Do we break the pattern object_type.language when both are identical?

These two are a matter of taste.

An by the way. What's the correct extension then for the ´.objectdependencies.json´ file?
´.objectdependencies.json´ or ´.ddls.objectdependencies.json´?

@schneidermic0
Copy link
Contributor

An by the way. What's the correct extension then for the ´.objectdependencies.json´ file?
´.objectdependencies.json´ or ´.ddls.objectdependencies.json´?

@BeckerWdf From my point of view, it would be ´.ddls.objectdependencies.json´. See https://github.com/SAP/abap-file-formats/blob/main/doc/specification.md#content-type

@larshp
Copy link
Collaborator

larshp commented Aug 13, 2021

should the title of this isuse be updated? "Update documentation: new file extension in CDS", its more a question of first finding the file extension?

@larshp larshp changed the title Update documentation: new file extension in CDS DDLS: Update documentation: new file extension in CDS Aug 13, 2021
@albertmink albertmink removed the documentation Improvements or additions to documentation label Aug 13, 2021
@larshp
Copy link
Collaborator

larshp commented Jan 24, 2022

having undecided file extensions and moving forward will,

  • promote the use of the extension, making it more difficult to change the extension
  • will promote building of syntax highlighting for a new language, which already exists
  • tooling will be released which we cannot influence, making it a requirement for all tooling to handle possible legacy filenaming
  • trigger linguist change proccesses, which is difficult enough already
  • trigger building of Eclipse tooling, which can possibility be shipped, increasing complexity of future features and updates
  • possibly impact the CAP CDS ecosystem, overlapping tooling, overlapping highlighting, feature requests, bug reports etc

@BeckerWdf
Copy link
Contributor

having undecided file extensions and moving forward will,
Which file extension is undecided?

@larshp
Copy link
Collaborator

larshp commented Jan 24, 2022

".cds"

@BeckerWdf
Copy link
Contributor

So what do you not like with the ".cds" extension?
For ABAP source code it's ".abap" so ".cds" sounds logical.

@larshp
Copy link
Collaborator

larshp commented Jan 24, 2022

see comments in #160

from my point of view, DDLS is work-in-progress, suggest finishing the issues for DDLS before adding new object types

@schneidermic0
Copy link
Contributor

Are we talking about a decision between the following two options?

Option A: Currently, the pushed file extensions for CDS source code in this repository is .cds.

Option B: As far as I understand @larshp suggests to use .acds or something similar (as mentioned in #160 (comment)) in order to differentiate between ABAP CDS and (e.g.) CAP's CDS.

@larshp
Copy link
Collaborator

larshp commented Jan 24, 2022

Option C: "asddls", "asdcls", "asddlxs"

All options have different impact and tasks to be done to support the language

@schneidermic0
Copy link
Contributor

@BeckerWdf @larshp Let's have a look at this topic in our next sync meeting

@larshp
Copy link
Collaborator

larshp commented Feb 3, 2022

  • <obj_name>.ddls.acds
  • <obj_name>.ddlx.acds

sdf

  • <obj_name>.clas.abap
  • <obj_name>.intf.abap

@schneidermic0
Copy link
Contributor

We had just our sync meeting with @larshp and @BeckerWdf.

We came to the conclusion that we shall go for option B: The file extension for the source code of DDLS objects (as well as other CDS related object types) shall be .acds in the future.

Some additional information on the decision:

  • We choose .acds instead of .cds to indicate ABAP's "dialect" of core data services (CDS).
  • We also discussed whether it makes sense to have a dedicated file extension for DDLS, DDLX, .... We decided to keep it similar to ABAP source code artefacts (like programs, classes, interfaces, ...) to have just one file extension.
  • Very likely, we will need a new file extension for objects like behaviour definitions or service definitions.

@schneidermic0 schneidermic0 added the decided Design decision made. Implementation by SAP is open label Feb 3, 2022
@BeckerWdf
Copy link
Contributor

see #297

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
decided Design decision made. Implementation by SAP is open
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants