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
Add ABAP Language Version to Repo Settings (experimental) #6488
Conversation
Enhance UI to select ABAP Language Version (only visible if `ALAV` experimental feature is enabled)
good to merge however, suggest adding a link to some documentation describing how it exactly works/what is the impact when changing these settings, seen from a user perspective |
+1 for docs, I didn't quite following all the discussions on this and would be curious if you can "mix" the ABAP Language Version (ALV? ALaV?) with subpackages. I. e. a repo that works onpremise and in the cloud but has onpremise or cloud specific subpackages that only get pulled where supported. Or if that requires separate repos / some kind of branching strategy. |
I'd recommend against such a setup. Git does always try to sync local and remote, and if having such a package setup, it will by design never be in sync. do a big package that is compatible with all target versions, and some smaller separate packages if something is version specific |
We will certainly document it. I will change the "Undefined" option to "Any (Object-specific ABAP Language Version)". This matches the current abapGit: Each object serializes/deserializes its own ABAP Language Version. We can continue to build "big packages" as Lars suggested. The other settings come into play when a project is running in a specific environment, only. For example, when you develop something for BTP (ABAP Cloud) using released classes that don't exist on-prem. Or the other way, you use classic features (Standard ABAP) that will never run in ABAP Cloud. Making this explicit in the metadata will also allow searching for/filtering of projects and avoid "try pulling it in a system to see if it will work" scenarios. |
That also means from an end user / developer perspective 3 repos for an application targeting both onprem and cloud? 3 repos to update, keep in sync, manage cross repo PRs etc.?
I'd be interested to know if there are better / more convenient strategies, though this is not the right place to discuss this :) |
its not the right place :) lemme continue for a setup like https://blogs.sap.com/2023/09/11/proof-of-concept-migrating-segw-project-to-abap-cloud/, there would only be "1. Main Repo" and no 2 and 3, they would be manual scaffolding like https://github.com/abap2UI5/abap2UI5#installation I'd recommend having as much code as possible in 1, and very small 2 and 3's if needed. This does require compromises, but the other alternative is double maintenance which is worse than a lot of things or have one main repo, with automatic translations to the opposite target, can get a long way using just sed |
Enhance UI to select ABAP Language Version (only visible if
ALAV
experimental feature is enabled)Repo Settings:
Ref #6154, #6298