package hudson.plugins.codescanner; import hudson.maven.MavenModuleSet; import hudson.model.AbstractProject; import hudson.model.FreeStyleProject; import hudson.plugins.analysis.core.PluginDescriptor; import net.sf.json.JSONObject; import org.apache.maven.project.MavenProject; import org.kohsuke.stapler.StaplerRequest; /** * Descriptor for the class {@link CodescannerPublisher}. Used as a singleton. The * class is marked as public so that it can be accessed from views. * * @author Maximilian Odendahl */ public final class CodescannerDescriptor extends PluginDescriptor { /** Plug-in name. */ private static final String PLUGIN_NAME = "codescanner"; /** Icon to use for the result and project action. */ private static final String ACTION_ICON = "/plugin/codescanner/icons/warnings-24x24.png"; /** * Instantiates a new find bugs descriptor. */ CodescannerDescriptor() { super(CodescannerPublisher.class); } /** {@inheritDoc} */ @Override public String getDisplayName() { return Messages.Codescanner_Publisher_Name(); } /** {@inheritDoc} */ @Override public String getPluginName() { return PLUGIN_NAME; } /** {@inheritDoc} */ @Override public String getIconUrl() { return ACTION_ICON; } /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public boolean isApplicable(final Class<? extends AbstractProject> jobType) { return FreeStyleProject.class.isAssignableFrom(jobType); } /** {@inheritDoc} */ @Override public CodescannerPublisher newInstance(final StaplerRequest request, final JSONObject formData) throws FormException { CodescannerPublisher publisher = request.bindJSON(CodescannerPublisher.class, formData); return publisher; } }