001/* 002 * Sonar, open source software quality management tool. 003 * Copyright (C) 2008-2012 SonarSource 004 * mailto:contact AT sonarsource DOT com 005 * 006 * Sonar is free software; you can redistribute it and/or 007 * modify it under the terms of the GNU Lesser General Public 008 * License as published by the Free Software Foundation; either 009 * version 3 of the License, or (at your option) any later version. 010 * 011 * Sonar is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 014 * Lesser General Public License for more details. 015 * 016 * You should have received a copy of the GNU Lesser General Public 017 * License along with Sonar; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 019 */ 020package org.sonar.plugins.checkstyle; 021 022import com.google.common.collect.ImmutableList; 023import org.sonar.api.Extension; 024import org.sonar.api.Properties; 025import org.sonar.api.Property; 026import org.sonar.api.PropertyType; 027import org.sonar.api.SonarPlugin; 028 029import java.util.List; 030 031@Properties({ 032 @Property(key = CheckstyleConstants.FILTERS_KEY, 033 defaultValue = CheckstyleConstants.FILTERS_DEFAULT_VALUE, 034 name = "Filters", 035 description = "Checkstyle support three error filtering mechanisms : SuppressionCommentFilter, SuppressWithNearbyCommentFilter and SuppressionFilter." 036 + "This property allows to configure all those filters with a native XML format." 037 + " See <a href='http://checkstyle.sourceforge.net/config.html'>Checkstyle configuration page</a> to get more information on those filters.", 038 project = false, 039 global = true, 040 type = PropertyType.TEXT)}) 041public final class CheckstylePlugin extends SonarPlugin { 042 043 public List<Class<? extends Extension>> getExtensions() { 044 return ImmutableList.of( 045 CheckstyleSensor.class, 046 CheckstyleConfiguration.class, 047 CheckstyleExecutor.class, 048 CheckstyleAuditListener.class, 049 CheckstyleProfileExporter.class, 050 CheckstyleProfileImporter.class, 051 CheckstyleRuleRepository.class, 052 SonarWayProfile.class, 053 SunConventionsProfile.class, 054 SonarWayWithFindbugsProfile.class); 055 } 056}