Skip to content

Commit

Permalink
Adding Yocto Scanner support
Browse files Browse the repository at this point in the history
Update the pom plugin of analysis-model-api-plugin to 12.6.0 that include
the yocto scanner model. The yocto scanner will use the icon from

https://fontawesome.com/icons/shield-halved?f=classic&s=solid

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
  • Loading branch information
panicking committed Sep 15, 2024
1 parent e2cbe02 commit 2719644
Show file tree
Hide file tree
Showing 4 changed files with 476 additions and 1 deletion.
2 changes: 1 addition & 1 deletion plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<changelist>-SNAPSHOT</changelist>
<module.name>${project.groupId}.warnings.ng</module.name>

<analysis-model-api.version>12.4.0</analysis-model-api.version>
<analysis-model-api.version>12.6.0</analysis-model-api.version>
<analysis-model-tests.version>${analysis-model-api.version}</analysis-model-tests.version>
<pull-request-monitoring.version>335.v525cd64ec76b_</pull-request-monitoring.version>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package io.jenkins.plugins.analysis.warnings;

import org.kohsuke.stapler.DataBoundConstructor;
import org.jenkinsci.Symbol;
import hudson.Extension;

import io.jenkins.plugins.analysis.core.model.AnalysisModelParser;
import io.jenkins.plugins.analysis.core.model.StaticAnalysisLabelProvider;
import io.jenkins.plugins.analysis.core.model.SymbolIconLabelProvider;

/**
* Provides a parser and customized messages for Yocto Scanner CLI (scannercli) reports.
*
* @author Michael Trimarchi
*/
public class YoctoScanner extends AnalysisModelParser {
private static final long serialVersionUID = 1L;
private static final String ID = "yoctocli";

/**
* Creates a new instance of {@link YoctoScanner}.
*/
@DataBoundConstructor
public YoctoScanner() {
super();
// empty constructor required for stapler
}

/** Descriptor for this static analysis tool. */
@Symbol("yoctoScanner")
@Extension
public static class Descriptor extends AnalysisModelParserDescriptor {
/** Creates the descriptor instance. */
public Descriptor() {
super(ID);
}

@Override
public boolean canScanConsoleLog() {
return false;
}

@Override
public boolean isPostProcessingEnabled() {
return false;
}

@Override
public StaticAnalysisLabelProvider getLabelProvider() {
return new SymbolIconLabelProvider(getId(), getDisplayName(), getDescriptionProvider(), "symbol-solid/shield-halved plugin-font-awesome-api");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,12 @@ void shouldFindAllYamlLintIssues() {
shouldFindIssuesOfTool(4, new YamlLint(), "yamllint.txt");
}

/** Runs the YamlLint parser on an output file that contains 4 issues. */
@Test
void shouldFindAllYoctoIssues() {
shouldFindIssuesOfTool(25, new YoctoScanner(), "yocto_scanner_result.json");
}

/** Runs the Iar parser on an output file that contains 6 issues. */
@Test
void shouldFindAllIarIssues() {
Expand Down
Loading

0 comments on commit 2719644

Please sign in to comment.