Skip to content

Commit 312b263

Browse files
committed
docs: expand renaming page with article content
Incorporate the LinkedIn article 'Renaming of ABAP Artifacts – The Power of abaplint & abapGit in ABAP Development': motivation (no package manager, single global version per system), step-by-step guide based on the abap2UI5-renamed template repository, and the ajson mirror as a real-world example of renaming in practice. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J3CfpdPhr5mMXJGfmhCaLf
1 parent d068ef9 commit 312b263

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

docs/advanced/renaming.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,15 @@ The entire abap2UI5 project lives under the `z2ui5` namespace. You may need to r
77
- Different modules, e.g., `z2ui5_sd`, `z2ui5_mm`
88
- Custom namespaces, e.g., `/ZZZ/`, `/YYY/`
99
- Release-specific naming, e.g., `z2411`, `z2502`
10+
- One installation per app, e.g., `z2ui5app1`, `z2ui5app2`
1011

1112
abap2UI5 works with the abaplint renaming feature and supports namespaces up to 9 characters, e.g., `zabap2ui5`.
1213

14+
#### Why Rename?
15+
ABAP stacks have no package manager: every object pulled with abapGit is created globally, so a system can hold only one version of abap2UI5 — and every app in the system is forced to use it. Pulling the latest version can then break existing apps. Public API changes are kept to a minimum, but a constantly evolving project cannot avoid them entirely.
16+
17+
Renaming closes this gap. It is not a true package management system, but it lets you install abap2UI5 multiple times under different namespaces in the same system and upgrade each installation at its own pace. At the app level, you simply implement the renamed app interface — e.g., `z2ui5_sd_if_app` or `z2411_if_app` instead of `z2ui5_if_app`.
18+
1319
#### How It Works
1420
[abaplint](https://abaplint.org) can rename ABAP artifacts across a whole repository: you define rename patterns (old name → new name, including regular expressions) in an abaplint configuration, and `abaplint --rename` rewrites every class, interface, and reference consistently, writing the result to an output folder:
1521

@@ -24,8 +30,22 @@ abap2UI5 works with the abaplint renaming feature and supports namespaces up to
2430

2531
The renamed copy is a complete, installable abapGit project under your own namespace — install it side by side with the original, pin it to a release, or ship it inside your product. The abap2UI5 CI runs this transformation on every change (`npm run rename`, workflow `test_rename.yaml`) to guarantee the codebase stays renameable.
2632

33+
#### Step-by-Step Guide
34+
The [abap2UI5-renamed](https://github.com/abap2UI5/abap2UI5-renamed) repository shows the full setup: a GitHub Action runs `abaplint abaplint_rename.json --rename` and commits the renamed artifacts back via pull request. Use it as a template for your own renaming repository:
35+
36+
1. **Fork** the [renaming repository](https://github.com/abap2UI5/abap2UI5-renamed)
37+
2. **Configure your namespace** in `abaplint_rename.json` — set the old and new names in the rename patterns
38+
3. **Run the GitHub Action** — open the Actions tab, enable workflows, and start the renaming job
39+
4. **Merge the pull request** the job creates; your repository now contains all abap2UI5 artifacts under the new namespace
40+
5. **Install with abapGit** — pull the renamed repository into your ABAP system
41+
42+
That's it — abap2UI5 now runs under your custom namespace, side by side with any other installation. Consider extending the GitHub Action to automate the process even further, e.g., pulling a fresh release on a regular schedule.
43+
2744
For a ready-made pipeline that builds a renamed release with your chosen add-ons included, see the [Builder](/advanced/builds).
2845

46+
#### Renaming in Practice: ajson
47+
abap2UI5 itself relies on this feature: its JSON handling comes from the open-source project [ajson](https://github.com/sbcgua/ajson), which is integrated under the `z2ui5` namespace via renaming — so there are no collisions if you pull both abap2UI5 and ajson separately into the same system. A GitHub Action in the [mirror-ajson](https://github.com/abap2UI5/mirror-ajson) repository checks weekly for upstream changes and automatically creates a pull request with the latest ajson version renamed to `z2ui5`. abapGit bundles ajson under its own namespace the same way — renaming with abaplint also makes it possible to integrate open-source projects into each other.
48+
2949
#### Further Reading
3050
- [Automagic standalone renaming of ABAP objects](https://community.sap.com/t5/application-development-blog-posts/automagic-standalone-renaming-of-abap-objects/ba-p/13499851)
3151
- [Renaming of ABAP Artifacts — The Power of abaplint and abapGit in ABAP Development](https://www.linkedin.com/pulse/renaming-abap-artifacts-power-abaplint-github-actions-development-kqede/)

0 commit comments

Comments
 (0)