Skip to content
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

Merged
merged 9 commits into from Sep 21, 2023

Conversation

mbtools
Copy link
Member

@mbtools mbtools commented Sep 12, 2023

Enhance UI to select ABAP Language Version (only visible if ALAV experimental feature is enabled)

Repo Settings:

image

Ref #6154, #6298

Enhance UI to select ABAP Language Version (only visible if `ALAV` experimental feature is enabled)
@mbtools mbtools added the user interface How to interact with abapGit label Sep 12, 2023
@larshp
Copy link
Member

larshp commented Sep 14, 2023

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

@fabianlupa
Copy link
Member

+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.

@larshp
Copy link
Member

larshp commented Sep 14, 2023

but has onpremise or cloud specific subpackages that only get pulled where supported

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

@mbtools
Copy link
Member Author

mbtools commented Sep 14, 2023

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.

@fabianlupa
Copy link
Member

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.?

  1. Main repo, needs to work in all environments -> language version ABAP for Cloud Development (?) without usage of cloud specific APIs
  2. OnPremise "addon" repo -> language version Standard
  3. Cloud "addon" repo -> language version ABAP for Cloud Development

I'd be interested to know if there are better / more convenient strategies, though this is not the right place to discuss this :)

@larshp
Copy link
Member

larshp commented Sep 15, 2023

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

@mbtools mbtools changed the title Add ABAP Language Version to Repo Settings Add ABAP Language Version to Repo Settings (experimental) Sep 15, 2023
@larshp larshp merged commit 1ca062d into main Sep 21, 2023
6 checks passed
@larshp larshp deleted the mbtools/alav_repo_settings branch September 21, 2023 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
user interface How to interact with abapGit
Development

Successfully merging this pull request may close these issues.

None yet

3 participants