# PRQA Plugin

#### Plugin Information

 Plugin ID Changes prqa-plugin In Latest Release Since Latest Release 2.0.9 (archives) Jul 18, 2014 1.532 GitHub Open Issues Igor Kostenko (id: isanych) Alexandru Ion (id: AlexIon) 2014-Apr 143 2014-May 157 2014-Jun 165 2014-Jul 160 2014-Aug 150 2014-Sep 156 2014-Oct 167 2014-Nov 169 2014-Dec 154 2015-Jan 167 2015-Feb 172 2015-Mar 184

#### Originally developed by

A plugin for doing static code analysis using PRQA.

This plugin was developed and maintained by Praqma up til release 1.2.2.

For later releases Praqma is no longer to the maintainer of this plugin and service and feature requests should be directed directly to Programming Research.

# Programming Research Code Analysis Plugin

## Features

This plugin is able to analyze configured PRQA projects.

The plugin will allow you to configure PRQA Tool to support old analysis interface for QA·C, QA·C++ and new analysis interface using QA·Framework.

The plugin will allow you to automate the creation and analysis of PRQA enabled projects, present the overall analysis, and enable you to perform the analysis as a part of your continuous integration strategy.

The plugin will display a graphical history depicting the number of messages, and overall compliance levels in your project.

As of version 1.1.0 we can now also upload projects to QA·Verify Server.

## Prerequisites for "QA·Framework"

 Supported versions of QA·FrameworkWe currently support QA·Framework 1.0.3. If you encounter any issues drop us a note.

### Installed Applications

Prior to installing and using this prqa plugin the user must ensure that the the following PRQA applications are installed:

• QA·Framework
• QA·Verify Server (Optional)

### QA·Framework Setup

If you wish you can use the plugin to setup the environment for you. You do that by going from 'Manage jenkins' -> 'Configure System'. You should see an option to add a QA·Framework Installation Configuration.

This is an example of a QA·Framework configuration, where we have entered the default installation directories. The plugin will automatically expand locations and add the necessary bin folders to your path.

You can add as many of QA·Framework as you like, and plugin allows to have multiple versions of the QA·Framework installed. A best practice is to include the QA·Framework version number (or some other identification) in the Installation Name, rather than just using 'QA·Framework'.This is because you might have multiple version of 'QA·Framework' installed on your machine, so if you need to add Installation Names for new version of the tool - it's easier to see exactly which version you want to use when configuring the job.

 Automatic installThis option is to let Jenkins install QA·Framework for you on demand, to the location you configured above. If you check this option, you'll then be asked to configure a silent installer for QA·Framework. Note: This feature is not implemented yet.﻿

Post-build Actions
You need to add post build action to your Jenkins job if you wish to perform analysis and view the report.

Click on "Add post-build action" and select Programming Research Report

you have two options per post-build action, either you can select QA·Frameowrk (if you are using new user interface for PRQA Solutions) or Existing PRQA Tool for old user interface.

Programming Research Report for QA·Framework

Select QA·Framework option by clicking on radio button

Setup section will allow you to select the QA·Framework installation configuration along with project specific settings.

###### QA·Framework Installations:

Installation options are configured in the QA·Framework section in the global Jenkins configuration, you need to select one of the configuration (Refer - QA·Framework Setup section)
QA·Framework Project:

Enter the path to the directory containing the prqaproject.xml project file to be analyzed.
If the project file is in the top level directory of this module in the repository, then you can leave this blank.
If the project file is inside the Jenkins workspace, they you can just supply the relative path to the directory from the project root directory

 QA·Framework Project creationPrerequisite for PRQA Jenkins plugin is that your source project have prqaproject file created.

if you don't have prqa project created for your project then you can follow the below instructions.

Make your you have option to add build setup and it is above "Post-build Actions" . If this option is not available the please check your Jenkins plugin.

If your build machine is a windows machine then select "Execute Windows batch command" option or select Execute shell option.
Its possible that you are already have one of these terminals set to run your make or some other build script and if that is the case then you can use the same window to add command line options to create and configure prqaproject.

you can use command line interface for QA·Framework and perform administrative functionalities like setting debug level and license server to make sure that the tool is set and licenses are available.
crate prqaproject using --qaf-project-config subcommand and then perform sync by running build. If you have any other plugin that does build then you can use wrapper to add files and settings to prqaproject.
example: make CXX="qacli admin -P /my/proj/ -a -z 'gcc -c' --

Plugin will automatically run project analysis and produce the report.  Enabling "Generate report" option will add "Rule Compliance Report"  to build artefacts.

Cross-Module Analysis:

If you already have cross module analysis (CMA) project and you want to perform CMA analysis then you need to select "Perform Cross-Module analysis" option and specify CMA project.
If you don't have CMA project then you can use command line interface for QA·Framework tocreate CMA project (refer QA·Framework manual for project creation)

you need to select a server configuration to be used when uploading to QA·Verify.
you can set server configurations in the Jenkins->Manage Jenkins->Configure System->PRQA Plugin Global Configuration section.

you can select default QA·Verify Config file  and VCS Config file located under "config" directory of product install directory.
if you already have these files configured to your project them you can select those file instead of selection default template.

 This field is mandatory and should not be empty!By default "Perform cross module analysis" and "Upload results to QA·Verify" options are not selection but error messages associated with text box are still visible because of known limitation to Jenkins plugin. Work around for hiding error message is to select and deselect the options.

## Prerequisites for "Existing PRQA Tool"

 Supported versions of QA·C and QA·C++We currently support QA·C 6.0 upwards and QA·C++ 2.0 upwards. If you encounter any issues drop us a note.

### Installed Applications

Prior to installing and using this plugin the user must ensure that the the following PRQA applications are installed:

• QA·C and/or QA·C++
• QAW
• QAR
• QA·Verify Client (Optional)

QAW for Linux and Solaris
QAW for Windows
QAR for Linux
QAR for Solaris
QAR for Windows

### Environment

 A bit more about the toolsIf you use the default products in the setup page like this (either QA·C or QA·C++) the requirements for the enviroment applies.  Otherwise if you use your configured tool the plugin will create this environment for you. Variables will be set as follows is you define your own PRQA product: QAC(PP)PATH - 'Product installation path' from tool config QAC(PP)BIN - 'Product installation path' from tool config + bin  QAC(PP)OUTPATH - workspace QAC(PP)TEMP - '%TEMP%' on Windows '/tmp' on Unix (When running tomcat this get sets to tomcats temp dir) QAW and QAR bin directories are added to the path - the bin part is automatically appended to the values entered in the product configuration.

The following programs must on the path on the machine who hosts the job.

• qaw
• qar
• qac
• qacpp
• qaimport (Optional - If you want to use the QA Verify upload feature)
• upload (Optional - If you want to use the QA Verify upload feature)

Note: When the plugin runs a program it will call it with just it's name, for example to run QA·C it will run 'qac'. This can cause a problem on Windows where the executable is called 'qac.exe' and there is a shortcut in the same directory (or earlier in the %PATH%) called 'qac.lnk'. Under the Windows command shell rules, 'qac.lnk' will be run before 'qac.exe' when the command 'qac' is given. Rename the shortcut if this happens.

It is also required that QA·C and QA·C++ have the following environment variables set:

For QA·C

• QACPATH
• QACBIN
• QACOUTPATH
• QACHELPFILES
• QACTEMP

For QA·C++

• QACPPPATH
• QACPPBIN
• QACPPOUTPATH
• QACPPHELPFILES
• QACPPTEMP

The environment for QA·C and QA·C++ can be setup using a batch file or shell script supplied with the tools in their bin directories. Thus the following commands can be used to setup the environment:

Windows:
c:\PRQA\QAC-8.1.1-R\bin\qacconf.bat
set PATH=C:\PRQA\QAW-2.3.2\bin;C:\PRQA\QAR-2.1\bin;C:\PRQA\QAVerify-1.4\Client;%PATH%

Linux:
. /var/opt/prqa/.profile
﻿PATH=/var/opt/prqa/QAW-2.3.2/bin:/var/opt/prqa/QAR-2.1/bin:/var/opt/prqa/QAVerify-1.4/client:$PATH These settings must exist in the environment that the slave runs in, though how they are set depends on how the slaves are launched. The simplest solution is to add the required settings to the system environment. Alternatively they could put into the startup or login script for the user that runs the Jenkins ﻿slave.jar file. ## Setup If you wish you can use the plugin to setup the environment for you. You do that by going from 'Manage jenkins' -> 'Configure System'. You should see an option to add a PRQA Product Configuration. This is an example of a PRQA Product Configuration, where we have entered the default installation directories. The plugin will automatically expand locations and add the necessary bin folders to your path. You can configure as many of those as you like, and it allows to have multiple versions of the same tool installed. It is best to include the product version number (or some other identification) in the Installation Name, rather than just using 'QAC' or 'QAC+'. This is partly because there are default tool entries of 'QA·C' and 'QA·C+' on the job configuration page which it's easy to get confused with (these entries are form the original version of the plugin and have been retained for compatibility). The other reason is if you need to add Installation Names for new version of the tool - it's easier to see exactly which one you want when configuring the job.  Automatic installYou shouldn't check the 'Install automatically' button. Currently there exists no installers for the tool. Just add it, and it will be available as a option to select for your configured jobs. Look like this: ### Report generation The analysis is configured to run as a post-build step. Setting it up you have two choices: 1. You can generate a report from a project file 2. You can generate a report from a file list, and an optional settings file. When you select file list no primary analysis is done, and we assume that the files have been analyzed beforehand. Selecting a Project file as report source will run primary analysis. The configuration looks like this: The values for all the fields you're required to enter can either be absolute, or relative to the workspace. The Project file should have been saved with relative paths (on Windows) or using environment variables (on Windows or Linux). This ensures that project correctly refers to all the files within it wherever it is checked out. The typical exception to this is the Compiler Personality, which usually has an absolute path since it is specific to the machine. It is assumed that all slaves are identical, so the path to the PRQA Project file in the plugin settings can be absolute, as the project will always be built in the same path location, whatever slave it is built on. You have the option to use several advanced analysis options, including CMA, dependency based analysis, and dataflow analysis. The first set of checkboxes are self explanatory, do you wish to create additional reports alongside the Compliance report? The 'Add threshold' button is used to add thresholds to build stability. We currently have 3 kinds. Messages, File Compliance and Project Compliance. only have messages between the level 5 and 9 count towards the total. The configuration section for each threshold has 2 values. • First value, is the target value. For the project and file compliance this is a percentage, everything above and equal to this value will be considered stable. For messages, it is number of messages withing threshold. • Second value, the checkbox 'continous improvement', will assume that the new value is greater or equal to the previous stable for the file compliance and project compliance. For messages, the opposite holds true. A build will never be marked as 'Failed' when doing the comparison, only configuration errors or analysis errors will mark the build as Failed. If a build does not live up to the expected standards, it will be marked Unstable. This holds true if just one of the requirements are not met. The plugin will default to 'None' in the initial configuration. ### QA·Verify upload As of version 1.1.0 we support uploading of projects to QA·Verify servers.  QA·Verify UploadWe currently require an already existing QA·Verify Project prior to uploading with the plugin. In order for that to work, you'll need to configure a QA·Verify server instance, this is done in the Jenkins Global Configuration pages. The section you should look out for looks like this: Look for PRQA Plugin Global Configuration Press Add and type in the correct credentials for your QA·Verify Server user. Now you're ready to configure your PRQA enabled Jenkins job to use this server. On you job configuration page, checking 'Upload to QA·Verify' will expand into the following: The fields here should be self explanatory. It enables you to select the VCS Configuration file, whether all code should be uploaded, and where the source origin is located. The source origin will default to the current workspace if nothing is specified, and is used on the QA·Verify server to specify the top level of the source directory structure. It is used to remove the leading parts of pathnames, so the paths to files (in the Web Message Browser for example) are shown from the project root only. . ## Plugin output  Watch online demoPRQA-Plugin demo The plugin will create graphs showing the current number of messages and the current project compliance levels. The Jobs project pages (Front page will display something like this) • Will show historical depiction of your overall compliance history • Will create a link to the QA·Verify server that was used in upload. • Will have relevant build artifacts in artifacts list, for easy access to generated reports and logs Advanced Logging We highly recommend installing the Logging Plugin developed and made public by Praqma. This allows consolidated logging, which basically means that any output from the built in java logger ends up on the master. We have added a lot of tracing statements through the plugin components, which will allow us to quickly locate and fix eventual future discovered defects.  RequirementsIn order to fully utilize this we recommend updating your master/slaves to use the latest version (1.483 as at the time of this writing) with the following settings. Remember to update both your master and slaves to this version. It will not work with earlier versions of the Jenkins core. Put this in your job configuration: The logging plugin will be available for installation through the Jenkins Update Center. ## Known Issues • When creating or modifying the global configuration pages, you should hit 'Apply' before you press 'Save'. Otherwise changes won't be saved to disk. ## Release notes ## Changelog ### Version 2.0.9 • QA·Framework 1.0.3 supported ### Version 1.2.2 • Fixed: Graph should use messages within current selected threshold (JENKINS-20045) ### Version 1.2.1 • Fixed: Graph incorrectly scales to max number of messages (JENKINS-18018) • Improved the behaviour of the plugin. New way to add thresholds. ### Version 1.2 • Implemented File list as a report source. (JENKINS-17283) • Tool installations, you can now configure multiple versions of PRQA tools for use. (JENKINS-17282) • Better threshold handling. (JENKINS-15905) ### Version 1.1.3 • Fixed a small issue with missing CMA in upload part. ### Version 1.1.2 • Fixed an error introduced in 1.1.1 which caused analysis without CMA option to fail. ### Version 1.1.1 ### Version 1.1.0 ### Version 1.0.5 • Fixed an issue with incorrect permissions for logger in JENKINS-14802 ### Version 1.0.4 • Fixed layout issues with the new publishers as a dropdown list feature in JENKINS-13786 ### Version 1.0.3 ### Version 1.0.2 • Fixed a critical issue that would cause Jenkins clients to violently exiting and terminate underlying jvm: JENKINS-13761 • Fixed various spelling issues in GUI: JENKINS-13777 • Updated Programming Research Icon: JENKINS-13778 ### Version 1.0.1 • Fixed various cosmetic issues and corrected a few spelling mistakes. • Fixed logic error in Max Messages comparison • Changed it so that threshold values are now stored on a per-build basis. • Changed fields to default to 0. • Removed Java from the list of supported products. • Made project link graphs slightly bigger than before. ### Version 1.0 • First official Jenkins release. • Shows threshold graphs. • Fixed bug where quick consecutive builds would lock workspace files. ## Labels plugin-notifier plugin-notifier Delete plugin-report plugin-report Delete prqa-plugin prqa-plugin Delete praqma praqma Delete Enter labels to add to this page: Looking for a label? Just start typing. ## Child Pages (1) Page: Deprecated ## Comments (31) 1. May 17, 2012 Hello, Maybe I'm wrong, but I guess you did a typo when you explain the "... Hello, Maybe I'm wrong, but I guess you did a typo when you explain the "a proper build step" section, it should be "Execute Windows Batch Command" instead "Execute shell", at least if you are using windows instead linux. Regards 2. Aug 21, 2012 Hi, Is the plugin compatible with all versions of QAC? Regards, Samuel Hi, Is the plugin compatible with all versions of QAC? Regards, Samuel 3. Sep 05, 2012 Hey Samuel, We haven't tested with all versions of QAC, but we are reasonably&n... Hey Samuel, We haven't tested with all versions of QAC, but we are reasonably that the plugin will work with QAC 6.0 and up. Regards, Mads 4. Oct 08, 2012 Is there any of the older versions that will work with Jenkins core version 1.42... Is there any of the older versions that will work with Jenkins core version 1.424.2 ? //Mikael 1. Oct 10, 2012 Hey Mikael, It should work, no guarantees though. I don't know if the plugin wi... Hey Mikael, It should work, no guarantees though. I don't know if the plugin will show up in the update center, but you can go here: http://repo.jenkins-ci.org/releases/net/praqma/prqa-plugin/1.1.0/ and download that .hpi file and the install it manually by upload in jenkins. Would be nice if you wanted to test it out. Regards, Mads 5. Mar 06, 2013 Hello, I am new to Jenkins and I have installed the PRQA Plugin and set all the... Hello, I am new to Jenkins and I have installed the PRQA Plugin and set all the environment variables as suggested on the PRQA Plugin Page. But I get the following error, This job will create a report with the following selected parameters: QAR selected project file: C:\Program Files (x86)\PRQA\QAC-7.0\projects\ComM\ComM.prj QAR selected product: qac QAR selected report type: Compliance Attempting to delete old log file: C:\.jenkins\jobs\comM-Autosar\workspace\qavupload.log Attempting to delete old log file: C:\.jenkins\jobs\comM-Autosar\workspace\qaimport.log Sucessfully cleaned up 0 old file(s) Using QAR version: Version 1.2 Analyzing with tool: QAC Deep Flow Static Analyser 7.0 build 77 for Mar 29 2007 for Windows ExecutingCommand: qaw qac "C:\Program Files (x86)\PRQA\QAC-7.0\projects\ComM\ComM.prj" -mode depend -maseq "pal %Q %P+ %L+#qar %Q %P+ %L+ -po qar::report_type=Compliance\ Report -po qar::viewing_program=noviewer -po qar::report_format=xhtml -po qar::project_name=%J -po qar::output_path=C:\.jenkins\jobs\comM-Autosar\workspace" Finished remote reporting. Failed getting results java.util.concurrent.ExecutionException: java.io.IOException: Failed in PRQARemoteComplianceReport with message(PrqaCommandLineException) Failed in report generation at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at hudson.remoting.LocalChannel$2.get(LocalChannel.java:77) at net.praqma.jenkins.plugin.prqa.notifier.PRQANotifier.perform(PRQANotifier.java:292) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:814) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:786)
at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:733)
at hudson.model.Run.execute(Run.java:1592)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:237)
Caused by: java.io.IOException: Failed in PRQARemoteComplianceReport with message(PrqaCommandLineException)
Failed in report generation
at net.praqma.jenkins.plugin.prqa.PRQARemoteComplianceReport.invoke(PRQARemoteComplianceReport.java:95)
at net.praqma.jenkins.plugin.prqa.PRQARemoteComplianceReport.invoke(PRQARemoteComplianceReport.java:20)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2348) at hudson.remoting.LocalChannel$1.call(LocalChannel.java:52)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
Caused by: null
Caught exception with message:
Failed in report generation
Caused by:
net.praqma.util.execute.AbnormalProcessTerminationException: 'qaw' n'est pas reconnu en tant que commande interne
ou externe, un programme ex‚cutable ou un fichier de commandes.
at net.praqma.prqa.reports.PRQAReport.executeQAR(PRQAReport.java:194)
at net.praqma.prqa.reports.PRQAComplianceReport.generateReport(PRQAComplianceReport.java:45)
at net.praqma.prqa.reports.PRQAComplianceReport.generateReport(PRQAComplianceReport.java:16)
at net.praqma.jenkins.plugin.prqa.PRQARemoteComplianceReport.invoke(PRQARemoteComplianceReport.java:75)
... 8 more
Caused by: net.praqma.util.execute.AbnormalProcessTerminationException: 'qaw' n'est pas reconnu en tant que commande interne
ou externe, un programme ex‚cutable ou un fichier de commandes.
at net.praqma.util.execute.CommandLine.run(CommandLine.java:189)
at net.praqma.util.execute.CommandLine.run(CommandLine.java:74)
at net.praqma.prqa.PRQACommandLineUtility.run(PRQACommandLineUtility.java:43)
at net.praqma.prqa.products.QAR.generateReportFiles(QAR.java:67)
at net.praqma.prqa.reports.PRQAReport.executeQAR(PRQAReport.java:192)
... 11 more


What is the PRQARemoteComplianceReport error and how can I resolve this errror?

Regards,
Kevin

1. Mar 06, 2013

Hi Kevin. The plugin has dependencies to the CLI utilities qaw and qar. These u...

Hi Kevin.

The plugin has dependencies to the CLI utilities qaw and qar. These utilities can be downloaded from Programming Research web site. Have a look at the section "Installed applications" on the plugin's wiki.

The tools must be in the path of the user who runs the Jenkins session.

Cheers

6. Apr 05, 2013

Hi, Can  You help me ? I want to  create *.prj  file  ...

Hi,

Can  You help me ?

I want to  create *.prj  file  for project during project builds.

please, tell me that  what  does  script_settings.bat contains ?   it contains Configuration of project or what?

Thanks,

Nitin Mandani

1. Apr 05, 2013

Hi Nithin I'm nut quite sure if it a link gone bad or... but yes there are a co...

Hi Nithin

I'm nut quite sure if it a link gone bad or... but yes there are a convert_ide_proj.bat file which is the proper way of doing this.

The script_setting file is the generic setting file, it sets up all sorts of environment variables. But no project specific information only the generic stuff, for the specific info there should be a project_settings.bat file next to your own IDE project file, after you have tried to convert it.

You should know that with the way Jenkins have implemented build steps, you are still required to configure the tool setup for the plugin on the Jenkins global config page, even though you have just set them up in the build step seconds before.

sincerely

/Jes

1. Apr 05, 2013

7. Apr 13, 2013

Hello, I have configured PRQA plugin into jenkins application to generate qac r...

Hello,

I have configured PRQA plugin into jenkins application to generate qac reports.

my ouptut showing as below

as per above console output, configurations settings of QAC,QAW,QAR are ok. But i was unable to generate compilance report for my folder.

please let me know what is the error

sincerely
satya

1. Apr 15, 2013

Hi Satya, I've sent you an email with a suggestion, if you have not recived it ...

Hi Satya,

I've sent you an email with a suggestion, if you have not recived it you can catch me at this email: man@praqma.net.

Best Regards,

1. Apr 19, 2013

Hi Mads, I'm facing the same problem. Could you please send me the suggestion y...

I'm facing the same problem. Could you please send me the suggestion you've sent to Satya?

Thanks!

Best regards,

Charles

8. Jun 12, 2013

Hello, Thx for this plugin. ich have a problem with the plugin in conjunction...

Hello,

Thx for this plugin.

ich have a problem with the plugin in conjunction with QAC. The QACpp version is running fine.

It seems that the Compliance Report.xhtml isn't generated.(see the screenshot)

Add to that there are no chart generated on the job view.

Hope that someone could give an advice.

Andre

1. Dec 18, 2013

Hello Andre I have the same problem , did you get any advice? thanks charl...

Hello Andre
I have the same problem , did you get any advice?

thanks

charlie

9. Jul 30, 2013

What are the qcncodecs, and where can they be fetched? I'm getting this error: ...

What are the qcncodecs, and where can they be fetched?

I'm getting this error:

09:09:01 Programming Research Quality Assurance Plugin version 1.2.0
09:09:02 QA·C OK - QAC Deep Flow Static Analyser 7.0 build 77 for  Mar 29 2007 for Windows
09:09:02 QAW OK - qaw version 2.3.2
09:09:02 QAR OK - Version 2.1
09:09:02 Report command:
09:09:02 qaw qac -via "C:\path\to\source_file_list" -via "path\to\options\default_result_command_file" -sfba -maseq "qar %Q %P+ %L+ -po qar::report_type=Compliance\ Report -po qar::viewing_program=noviewer -po qar::report_format=xhtml -po qar::project_name=%J -po qar::output_path=C:\path\to\some\dir"
09:09:04 java.io.FileNotFoundException: C:\path\to\some\dir\Compliance Report.xhtml (The system cannot find the file specified)
09:09:04 Build step 'Programming Research Report' marked build as failure
09:09:04 Finished: FAILURE


When running the qaw command separately in a new command window, this result is given:

WARNING: No -op specification before first file, QACOUTPATH used (i.e. "C:\path\to\err_met_files\").
Viewer "noviewer" not available, result will not be rendered.
Cannot find translation codec: qcncodecs
usage:
standard.prdf.generator <product> -cmaf <file> options... f1...fn
standard.prdf.generator <product> -cmaf <file> options... -list filelist
C:\programs\qar\bin\..\prdf\bin\standard.prdf.generator failed. return code = 10

Trace written to C:\Users\userabc\qar.trace
Analyser "C:\programs\qar\bin\qar.exe" returns unknown code: 10


My PRQA configuration:

• Product: QAC
• Select report source: File list
• Perform Cross-Module analysis: unchecked
• Enable dependency based analysis: unchecked
• Enable dataflow analysis: unchecked
• Create Compliance Report: unchecked
• Upload results to QA·Verify: unchecked
1. Aug 26, 2013

Hi there kd, It looks like you're not pointing to a filelist file. qaw qac...

Hi there kd,

It looks like you're not pointing to a filelist file. qaw qac -via "C:\path\to\source_file_list" -via "path\to\options\default_result_command_file"

Sorry for the late reply. But that must be the reason for the issue you're seeing.

Best regards,

10. Dec 04, 2013

Hi, First thanks to have this wonderful plugin to make QAC++ check to be do...

Hi,

First thanks to have this wonderful plugin to make QAC++ check to be done automatically.

I want to know how can I directly look at the reported warning messages of the source file as we do in the GUI QAC++ message browser ?
B&R

tony

1. Dec 05, 2013

Hi Tony! First of all thank you for using our plugin! As far as i know,...

Hi Tony!

First of all thank you for using our plugin! As far as i know, the annotated source you see is stored in a binary file format, which the message browser then decodes.

I'm gonna query our contacts at PRQA to see if there is any way to provide this functionality, when i have an answer i'll get back to you.

If you like we can take the conversation via email, you can contact me at this address: man@praqma.net.

Best regards,

1. Dec 05, 2013

Thanks & Best regards

Charles

1. Dec 05, 2013

Yep i will keep you informed.

Yep i will keep you informed.

2. Dec 06, 2013

Thanks for your replay, and I will wait for your good messages.

I can be contacted by the email address bo-tony.chen@schneider-electric.com

B&R

tony

11. Dec 05, 2013

Hi Mads, I have a question related to the suppression report which is generated...

I have a question related to the suppression report which is generated by the plugin:

There is a section where the removed warnings are classified by group. Would it be also possible to classify the removed warning per QAC level? (level 1 until 8)

Charles

1. Dec 05, 2013

I'll have to look into this, the suppression report is an optional report, and a...

I'll have to look into this, the suppression report is an optional report, and as such we do not use that report to generate build data from.

The removed warnings are those that you've created a profile for, for QAC to ignore right? If so, that would be considered a new feature and i STRONGLY encourage you to create a detailed Jira feature request explaining in details what you would like to see, that will make it easier for us to estimate the feature, and hopefully get it sponsored by our plugin sponsor.

Best regards,

12. Jan 03, 2014

Hi,  I installed and configured the PRQA plugin according to your instruct...

Hi,

I installed and configured the PRQA plugin according to your instruction, but when I started to build, it failed and gave the error message as follows, I am sure that PRQA license service is working, and QAC can be launched successfully. But why it can not access the license data?

Started by user anonymous
Building in workspace D:\Program Files (x86)\Jenkins\jobs\myjob\workspace
cvs update -d -P -r HEAD -D 03 Jan 2014 14:08:08 +0800 workspace
cvs rlog -S -d03 Jan 2014 11:26:28 +0800<03 Jan 2014 14:08:08 +0800 word_count
Programming Research Quality Assurance Plugin version 1.2.2
This job will create a report with the following selected parameters:
QAR project file or file list: word_count.prj
QAR selected product: QA·C
QAR selected report type: Compliance

Most likely cause is a misconfigured tool, refer to documentation (https://wiki.jenkins-ci.org/display/JENKINS/PRQA+Plugin) on how to configure them.
Failed to detect QA·C version
QAC Deep Flow Static Analyser 8.1.1 (build 174) Sep 18 2012 for Windows

******************************************************************************

The licence request was refused:

******************************************************************************

Build step 'Programming Research Report' marked build as failure
Finished: FAILURE

Best regards

1. Jan 03, 2014

Hey bau lu, Thanks for trying out the plugin. As far as i know our plugin does ...

Hey bau lu,

Thanks for trying out the plugin. As far as i know our plugin does not do anything extraordinary, have you made sure that the plugin runs in the same context as when you ran QAC from the command line, the user that runs the jenkins instance must have read access to licensefile and server? Have you made sure that no active rdp sessions are running and taking the license away?

Is this a new problem? Or are you just starting out?

Best regards,

1. Jan 06, 2014

Hey Mads， Thank you for your reply. What do you mean by "the same context"? I ...

What do you mean by "the same context"? I ran QAC from the command line, the Jenkins service was started from the windows services list, is that the same context? I am sure that the Jenkins server and the QAC license server are in the same computer which is what I am using now, and the license is ready and not taken away.

I am just starting out, and this error stops me to go a further step...

In fact, I got a other virtual machine(VMware) which has been configured to work well, that virtual computer have a windows XP OS while mine has a Windows 7. In the virtual computer, if I stop the QAC license

service, I will got a error message as follows, you can see that it's different with the problem I met.******************************************************************************The license request was refused

connection refused at server(-111)******************************************************************************

1. Jan 07, 2014

Hey Bai lu, By "context" i mean the user acount that runs the jenkins instance,...

Hey Bai lu,

By "context" i mean the user acount that runs the jenkins instance, the logged in user and the account that runs the jenkins instance might not be the same, but i don't totally recall the licensing policy and how it is implemented. I really do not know what the error codes mean, and why it happens, i'll forward this conversation to my contact at PRQA, have you read the manual for QAC?

Error code-102; A FLEXid borrow error occurred. What that means i have no idea.

Best regards,

1. Jan 08, 2014

I tried to find something in QAC manual, but nothing helpul. Also, QAC is using ...

I tried to find something in QAC manual, but nothing helpul. Also, QAC is using the reprise for its license manager, the "Error code-102; A FLEXid borrow error occurred" should work for FLEXLM, so I think maybe it can not help......

I also contact the technical expert in PRQA, he suggested me to use QAC 8.1.2, I tried and failed again with the same error.

Started by user anonymous
Building in workspace D:\Program Files (x86)\Jenkins\jobs\myjob\workspace
cvs update -d -P -r HEAD -D 08 Jan 2014 10:45:16 +0800 workspace
cvs rlog -S -d08 Jan 2014 10:44:47 +0800<08 Jan 2014 10:45:16 +0800 word_count
Programming Research Quality Assurance Plugin version 1.2.2
This job will create a report with the following selected parameters:
QAR project file or file list: word_count.prj
QAR selected product: QA·C
QAR selected report type: Compliance

Most likely cause is a misconfigured tool, refer to documentation (https://wiki.jenkins-ci.org/display/JENKINS/PRQA+Plugin) on how to configure them.
Failed to detect QA·C version
QAC Deep Flow Static Analyser 8.1.2.6187 Sep 11 2013 for Windows 64-bit

******************************************************************************

The licence request was refused:

******************************************************************************

Build step 'Programming Research Report' marked build as failure
Finished: FAILURE

1. Jan 08, 2014

Finally I got through this, I changed the account to the one that I used to log ...

Finally I got through this, I changed the account to the one that I used to log in the windows, and it worked.

It seems that we can not use the local system account to start the Jenkins service.

Thank you very much, I can go a further step!

13. Dec 09

Hello, We recently upgraded from QAC 8.1 to QAC 8.2 and started use QAF with ou...

Hello,

We recently upgraded from QAC 8.1 to QAC 8.2 and started use QAF with our projects; however, we can't seem to get the Jenkins job set up correctly. Any insight you could provide would be extremely helpful.

Programming Research Quality Assurance Plugin version 2.0.9
This job will create a report with the following selected parameters:
workspace location C:\Program Files (x86)\Jenkins\jobs\GP_APPL_QAF_TEST\workspace
Failed getting results
This should not be happinging, writing error to log
Build step 'Programming Research Report' marked build as failure
Finished: FAILURE

Dec 04, 2014 9:04:32 AM INFO hudson.model.Run execute
GP_APPL_QAF_TEST #19 main build action completed: SUCCESS
Dec 04, 2014 9:04:32 AM SEVERE net.praqma.jenkins.plugin.prqa.notifier.PRQANotifier perform
Unhandled exception
java.lang.IllegalArgumentException
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at net.praqma.util.execute.CommandLine.run(CommandLine.java:123)
at net.praqma.prqa.products.QACli.getProductVersion(QACli.java:48)
at net.praqma.jenkins.plugin.prqa.PRQARemoteToolCheck.invoke(PRQARemoteToolCheck.java:282)
at net.praqma.jenkins.plugin.prqa.PRQARemoteToolCheck.invoke(PRQARemoteToolCheck.java:53)
at hudson.FilePath.act(FilePath.java:919)
at hudson.FilePath.act(FilePath.java:897)
at net.praqma.jenkins.plugin.prqa.notifier.PRQANotifier.perform(PRQANotifier.java:434)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild\$AbstractBuildExecution.post(AbstractBuild.java:683)
at hudson.model.Run.execute(Run.java:1784)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)


Thanks!