001/* 002 * SonarQube, open source software quality management tool. 003 * Copyright (C) 2008-2014 SonarSource 004 * mailto:contact AT sonarsource DOT com 005 * 006 * SonarQube 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 * SonarQube 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 License 017 * along with this program; if not, write to the Free Software Foundation, 018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 019 */ 020package org.sonar.xoo; 021 022import org.sonar.api.SonarPlugin; 023import org.sonar.xoo.extensions.XooProjectBuilder; 024import org.sonar.xoo.lang.*; 025import org.sonar.xoo.rule.*; 026import org.sonar.xoo.scm.XooBlameCommand; 027import org.sonar.xoo.scm.XooScmProvider; 028 029import java.util.Arrays; 030import java.util.List; 031 032/** 033 * Plugin entry-point, as declared in pom.xml. 034 */ 035public class XooPlugin extends SonarPlugin { 036 037 /** 038 * Declares all the extensions implemented in the plugin 039 */ 040 @Override 041 public List getExtensions() { 042 return Arrays.asList( 043 Xoo.class, 044 XooRulesDefinition.class, 045 XooQualityProfile.class, 046 047 XooFakeExporter.class, 048 XooFakeImporter.class, 049 XooFakeImporterWithMessages.class, 050 051 // SCM 052 XooScmProvider.class, 053 XooBlameCommand.class, 054 055 // CPD 056 XooCpdMapping.class, 057 XooTokenizer.class, 058 059 // sensors 060 MeasureSensor.class, 061 SyntaxHighlightingSensor.class, 062 SymbolReferencesSensor.class, 063 DependencySensor.class, 064 ChecksSensor.class, 065 RandomAccessSensor.class, 066 DeprecatedResourceApiSensor.class, 067 068 OneIssuePerLineSensor.class, 069 OneIssueOnDirPerFileSensor.class, 070 CreateIssueByInternalKeySensor.class, 071 072 // Other 073 XooProjectBuilder.class); 074 } 075}