andau / abapCI

Continuous Integration for ABAP
MIT License
62 stars 14 forks source link

Show ATC findings #29

Open JustACasual opened 3 years ago

JustACasual commented 3 years ago

Hi Andau,

great plugin, I think it is solving a major gap in the SAP development workflow, that is the automatic ATC run directly upon activation of source code. It is running fine, but what I don't understand is how I should evaluate the results. If I run ATC manually from Eclipse. I get a nice result list in the 'ATC problems' view. Event better, in my editor, all the findings are highlighted. If I don't run the ATC manually, but activate only, AbapCI starts running and executes the ATC (perfect!). But then I only get the message 'ATC errors' in the status bar, but the errors are not shown in the 'ATC problems' view nor are they shown in the editor.

Do I miss out something? How can I easily see all the errors from the current automatic ATC run, so I can start working on them?

Would be great if you come back to me although I see that this repo seems not to be under maintenance anymore.

Gruß, Sebastian

andau commented 3 years ago

the "ATC problems" view is an view of the ATC, which is not easily updateable by an plugin, at least I do not know an easy way. Instead the standard view of eclipse, the problem view is updated with ATC errors by the plugin.

The status bar only shows if there are ATC errors or not, in case if there are one or more than one ATC error, by clicking on the status bar you are pointed to the location of the first ATC error. Well there should also be available a mouse over with a quick info about the ATC errors.

JustACasual commented 3 years ago

Hi @andau thanks for your feedback! Unfortunately, I cannot confirm the described behaviour. When I activate, I see that ATC was run in the ABAP CI View, but not in the problems view. Problems View is only updated if I run ATC manually.

Also, editor will never get any marks from your plugin, right? If I run ATC manually, I see the findings directly in the editor.

andau commented 3 years ago

Ok, it seams that the problem view does not work in every case. I am personally working with the widget and when it shows an unexpected ATC error - the click on the widget gets you to that error.

The marks are not triggered by the plugin, this feature is not implemented by the plugin.

JustACasual commented 3 years ago

Yeah ok I see that this might be working in a scenario, where your code is more or less clean and free of ATC problems. In this case, you activate, the plugin runs and shows you the new ATC problem in the widget. You doubleclick and get to the source code.

But from my experience and lots of customers I already developed code for. I am very often in situations where I need to add functionality in the middle of thousands of lines of legacy code. And even if it is not like that, it is very likely that you are using a package which already contains legacy code and the plugin is only activatable on package level.

So in any case, once I activate, I will not be able to see errors/warnings that came up in my newly developed code because they are hidden in 100s of legacy findings. Also if I understood you right, you just confirmed that neither the problems list, nor the ATC findings list get reliably updated by the plugin, so I never even get a list of all the detected problems. Just a pointer to one finding in the widget.

Let me emphasize, I do not want to denigrate your work, you developed a plugin that covers your needs and then you also made it open source for everyone to use, that's amazing! It is just that SAP themselves point to your plugin very often as a solution for missing features in their official IDE.

And it is important to put the fact down for anyone reading this in the future, that your plugin may be used to automatically run ATC upon activation, but it does not offer any way to see the full result. I reallyreally hope SAP takes up on your work and offers a full feature in ADT or even in SAPGui, for the older people...

fidley commented 2 years ago

What about this class? https://github.com/fidley/ADT-Classic-Outline-Frontend/issues/9 AtcDisplayController is able to run the display. I'm trying to implement this in ADT Classic Outline as well.

fidley commented 1 year ago

Hi @andau ,

I've found the way to call the ATC/Unit test and display them in the proper view, but only for default ATC check variant.

For ATC firstly there need to be focus done on editor and then IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class); handlerService.executeCommand("com.sap.adt.atc.ui.launchShortcut.run", null);

Fur Unit tests also focus on editor and then

IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class); handlerService.executeCommand("com.sap.adt.tool.abap.unit.launchShortcut.run", null);