Intro
abaplint is an open-source static analysis tool for ABAP, it runs well with continuous integration tools like
GitHub Apps,
GitHub Actions,
GitLab Pipelines,
Bitbucket Pipelines,
Azure Pipelines,
Travis, and more. But the developer had to create a
pull/
merge request before the logic was triggered, now it is possible to run the checks earlier in the development process.
Setup
The setup consists of 2 components,
https://github.com/abaplint/abaplint-abap-backend to be installed on the ABAP backend using
abapGit, it implements a custom code inspector check that can be added in the default variant.
https://github.com/abaplint/abaplint-cloud-foundry is a component that can be installed on your private cloud foundry environment, SAP offers a
free CF trial.
The configuration is done via the normal code inspector UI, but the configuration is global and not per variant. If the package is also configured in abapGit, it is easy to pull the abaplint.json configuration from the remote git repository.
For testing purposes, endpoint
http://sci.abaplint.org can be used instead of a private CF environment, use at own risk, unencrypted code will leave your infrastructure, plus the server is slow.
The
vscode extension can be used to edit the configuration locally and offers checking of the config file via the latest json schema.
Result
When the configuration is done, it's possible to run the code inspector checks using your favorite editor/environment. Note that the code inspector check will hook automagically into ADT or ATC.
Outlook
As with all IT, this is work in progress, multithreading
is not implemented on the server-side, in a CF set just add more instances.
There is lots of bugs, ABAP is a crazy language, but so far
300+ versions of abaplint have been released, and it will continue to evolve.