How to Configure SonarQube for delphi? - delphi

I want to configure SonarQube so it can analyze Delphi project too, and when I search online I saw there used to be a delphi plugin for SonarQube. But when I look at the plugins with the latest build it doesn't show the delphi plugin.
Is the plugin still available in an other way?
Or is it possible to configure SonarQube for delphi without the plugin?

As of G. Ann response was actually discontinued puglin for Sonar, but searching the internet, and recently (3 days) the developer Fabricio Columbus made it happen!
We tested and is running the current version of Sonar:
Compatible with SonarQube 4.5.x and SonarQube 5.1.2
https://github.com/fabriciocolombo/sonar-delphi
Release: https://github.com/fabriciocolombo/sonar-delphi/releases
JAR: https://github.com/fabriciocolombo/sonar-delphi/releases/download/0.3.3-SNAPSHOT/sonar-delphi-plugin-0.3.3-SNAPSHOT.jar
PS: Translated from Portuguese to English by Google Translate.

To analyze the files of language X, you need a plugin for language X that recognize's X's structure, syntax &etc. Without that you can't derive metrics (LOC, complexity, &etc.) or recognize bad code (i.e. raise issues for antipatterns.) So to answer your second question first, you won't be able to analyze Delphi code without some kind of Delphi plugin.
The Delphi plugin was deprecated quite a while ago because it seemed to suffer from a lack of interest all around & didn't evolve to maintain compatibility with the platform as it evolved.
If you look, you can find downloads of the old plugin, but to use it, you'd have to retrogress to a quite old version of the platform, & I don't recommend that. I'm not sure how far back you'd have to go - you could crack open the jar and get that from the pom - but it looks like the last mailing list activity on this plugin was Feb. 2012. So again, I don't recommend going this route.

Related

Editor suggestions with git integration

Can anyone suggest choices for a modern(ish) editor or IDE (mainly for use on Linux hosts/guests) that has good Git integration and if possible some level of vi/vim keystroke compatibility available ?
I mainly work with ansible, puppet, python (including pyspark), docker, k8s and editing via sshfs would also help, as would being able to use the ssh protocol (rather than git's own protocol) for remote git repo interaction.
I am considering Atom as I believe most or all of what I want can be accomplished through addition of various modules.
I was a big Atom user in the past but in the last few years I've moved to Visual Studio Code https://code.visualstudio.com/, the git integration is really good.
The real advantage though is the plugins, I work a lot with Puppet and the official Puppet plugin is a really good https://puppet-vscode.github.io/.
Most of the documentation I write is in markdown so having a plugin to preview markdown saves me a lot of time.
I've just recently started doing some work with Terraform and the plugin for that has made it a breeze https://marketplace.visualstudio.com/items?itemName=HashiCorp.terraform. This https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker is a great Docker plugin.
There is a stack of other plugins I use all the time to help with JSON, YAML, DOT and Ruby files and marking ToDo's in files.
I haven't used one but I'd expect there is a vim/vi, I come from a Solaris/Linux background so I was naturally very resistant to using any Microsoft products but VSC has won me over despite that prejudice.

OpenAM source code failed to build using ant?

We are using this openAM 9.5 RC1 branch source in our project. https://github.com/svn2github/openam.git
In order to fix some bugs, we have to modify existing openAM's amserver library. For this, we have downloaded the source code from above location and tried to compile it offline using ant (as stated in README). But we are not able to compile it anyhow (even after making necessary changes, adding dependencies etc.)
Is there any way to construct required library (amserver.jar) from this source code ?
The OpenAM 9.5.x and 10.0.x versions are rather difficult to build, but from 11.0.0 the build process should be much more simpler since the project has been migrated over to Maven build system.
In any case, the version you are using (Snapshot 9.5.1 RC1) is very much outdated and most likely has several critical issues (not to mention the security issues).
I would strongly advise against putting effort into backporting fixes to that ancient version. Instead you should realize that you are running a more than 4 years old version of a security component, and upgrade your system to a more recent version as soon as possible.

SonarQube Analysis for Erlang

I am trying to run sonar analysis for Erlang. I have downloaded the plug-ins and with 60+ rules, it is able to tell me which part of the source code is not compliant.
However, I cannot get the SQALE rating to work correctly, in particular, the technical debt always shows 0.0 days. How do I configure this?
It is not configurable, basically the plug-in does not support this SQALE feature. In fact, the most recent version of SonarQube does not use SQALE anymore.

Zeos 7 Failing to install

I have installed the Zeos 7 Beta on my own machine but it fails on my client's laptop. We're both running Delphi xe2, his is Entreprise, mine is Pro. His machine is running 64-bit windows 7, mine is running Window 7 32-bit.
When I do Compile all on ZeosDbo or ProjectGoup16 it seems to get through ZCore.dpk but then shows 2 fatal errors:
ZCore.dpk(1) E2225 Never-build package 'ZCore' must be recompiled
ZParseSQL.dpk(33) E2202 Required package 'ZCore' not found
This is production code we are working on, so I hope we can find a solution and get back to working on this
Zeos forum thread: http://zeos.firmos.at/viewtopic.php?t=3633
That is one error, the 1st one. The second is merely post-effect.
Perhaps you can do better than downloading beta ZIPs: until they have mature release you just can download each day "nightly" changes by version-control tools, like Git or SVN or whatever Zeos team is using.
Such errors are usually quickly fixed (they are simple) but long released(they are so moot that no one would bother making release for them).
Just open http://zeos.firmos.at/portal.php and read where to get most instant updates and how to report problems.
Actually - there it is, http://svn.code.sf.net/p/zeoslib/code-0/trunk/
Install TortoiseSVN and be on the edge until 7.0.1 or 7.0.2 final release
The page also says: Please report bugs for this version to our brand new bugtracker on sourceforge https://sourceforge.net/p/zeoslib/tickets/
Please do. Open Source is about participating. At least participate by registering bugs.
About the essence of problem read official documentation and "See Also" section.
Someone should decide about package binary update strategy. And the decision should be kept for all packages (okay, you can mix it in some conditions, but that is not to be suggested). So basically you have three choices:
Make your own decision and put all Zeos packages into the strategy of your choice. That puts the responsibility upon yourself to maintain this fork for a while until you come back to vanilla ZeosDB.
Report the bug to ZeosDB team and ask their suggestion, then change those settings for all the packages as suggested by them.
Report the bug to ZeosDB team and wait until they'd fix it in their SVN and then do SVN Update.
Personally i'd go with 1 option, but i am ready to be FLOSS libraries co-developer.
Option 3 would be the most slow yet the most easy for you.
Option 2... well... i can not see why you should choose that, except for trying to avoid version controls at any cost, which is bad idea per se.
I also suggest you to read http://www.catb.org/esr/faqs/smart-questions.html
That would help you effectively communicate at ZeosDB forums - and you'd have to if you want to be "on the edge" (and if you do not - then wait for public release like 7.0.2).

Do you know alternatives in Ant to generate project documentation?

I'm wondering are there more current and active alternative tools to the Apache Forrest product for project documentation that developers are using?. It seems to be stuck in v0.8 release since 2007.
I'm thinking about using the maven site via Ant to generate a HTML report with the various javadoc, pmd and findbug reports for my project. Just wondering what other developers are using out there.
maven can grenerate copious amounts of project documentation.
I'd point you to the maven documentation for this, but the maven documentation is, ironically, rubbish.
We generate most of our documentation from source using a new open source build system for Java called EBuild (features) that is a great alternative to Maven. You may have to adopt EBuild-specific conventions to make the most of that though.
There's some detailed articles on the deficiencies of Ant and also Maven on the site.

Resources