ABAP Continuous Integration Plugin now with Plug and Play
The Open Source ABAP Continuous Integration (abapCI) plugin for Eclipse is now available in Plug and Play mode (since version 0.4.0). That means, after installation over the Eclipse marketplace there is no configuration needed anymore to get the plugin up and running.
This Plug and Play mode is made possible by reusing the existing connectivity and CI functions of the ABAP Development Tools for SAP NetWeaver. A short summary and description for the AbapCI Plugin can be found in the Github repository – readme.md. (this will be extended and improved continuously – hopefully 🙂 )
Also there are some improvements in the usability of the plugin that hopefully meet the two main purposes of the plugin: save development time and provide immediate feedback.
Some time ago I was also asked to expand the functionality of the ABAP CI plugin to support more than one development project. Starting with the version released today, this feature is finally available.
Unit Testruns for more than one development project
By adding this feature to the plugin the introduction of a completely different data persistence model was necessary. I skipped the implementation of a migration from the old model to the new one and instead invested more time into the usability, especially the management of the Unit Testrun packages. Hopefully this new features outweight the lack of the migration.
Now there are three methods available to add ABAP packages to the Continuous Unit Testrun:
- manually within the view ABAP Continuous Integration
- with the Projects Explorer context menu item “Add to CI run”
- or automatically when an ABAP class of a not yet configured package is activated
More details can be found in the documentation.
There are some further features like a hyperlink to the failed Unit Tests in the ABAP CI Dashboard. This link opens automatically the corresponding ABAP class for the failed test by calling an ADT feature.
I am curious about your feedback, issues, further ideas and maybe pull requests to enhance the actual state of the ABAP CI plugin.
great work. I really like the automatic source code formatting. Do you see any chance to use it without the #autoformat directive?
Thanks. Technically its not a big thing to implement this -> therefore done.
So if you want to run the feature without a filter, you can do it starting with todays version 0.4.1 by setting the filter preference to the string '<NO_FILTER>'. Then every ABAP development object, which is edited in a text view (classes, testclasses, CDS-views, function modules, structures, ...) is autoformatted when saved or activated.
I am curious about how it works out for you. As I have a bit of concerns that some existing objects struggle with a fully automated autoformat feature (e.g. legacy code) another approach would be to extend the ABAP CI configuration by an option "Prefix in source code to disable formatter". But for the start I think the configuration should not be too complicated.
great, many thanks for the fast implementation. I tried it out and it works great so far. I’ll let you know when I find something.
after installing the plugin, my 'Darkest of dark' theme is messed up and I can't seem to get it back even though it's set in my 'Preferences'.
The ABAP keywords, among others, is (practically) unreadable now.
Any idea on how to solve this?
Anyone else with the same issue?
Thanks in advance.
Sorry for the inconvenience.
Are the two highlighted options shown below deactivated in your ABAP CI preferences section (should be the case when installed the first time).
If yes and you have still the problems please let me know your Eclipse version and I try to find out the reason later today.
As for the issue: I already de-installed the Darkest of dark theme just to start 'fresh' with a new install. However now I can't start Eclipse anymore since this results in an error which has probably something to do with de-installing the theme according to the log:
!MESSAGE The file css/e4-dark_quickfixview_preferencestyle.css Could not be found in bundle com.sap.adt.refactoring.ui
So I'm planning a new install of Eclipse. Probably somewhere in the coming week.
After that I will reinstall all the plugins and check the settings you mentioned above. If the error still exists I will come back to you.
What version of Eclipse did you use? I was running Eclipse Neon.3 (or was it 2?).
I use Oxygen. As far as I know this is the latest version officially supported by ABAP in Eclipse.
Let me know if it worked out with the dark theme in combination with the plugin too.
I finally installed a new version of Eclipse (ended up with Photon instead of Oxygen but okay) and installed the CI plugin (with the proposed settings) and the dark theme and now it's working just fine.
it's not working for local classes (within a function module). Is that a known issue or on the To-Do list?
Currently function modules (and also included local classes) are not supported by the automatic test and ATC check runs.
The reason is that unit tests should normally not be affected by a change from a function module and on the ATC side one have to run the ATC checks for the entire function group which is in my opinion too much load if done on every activation.
I installed this plugin and it works fine, thank you.
In the CI plugin window, we see the results as a table with the column headers
'Project Name / Package Name / Unit tests........"
Is there a way to see the actual results from the ATC? i.e. all the rows of data that are shown in the ATC. What I see now is the 'Statistics View', I would like to see the default view.
Currently to get the ATC results in the corresponding view you have to execute the command manually - standard ADT functionality.
In the future I would like to implement a dynamic change of the ATC annotations with each source code activation and/or an update of the problem views, but this needs some programming effort.
In the meantime you can use the "statistics" but especially the status bar widget to get quick the information if there are ATC errors at all and in case that there are few ATC errors you should have all important information in the status bar widget already available.