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.cpd; 021 022import com.google.common.collect.ImmutableList; 023import org.sonar.api.*; 024import org.sonar.plugins.cpd.decorators.DuplicationDensityDecorator; 025import org.sonar.plugins.cpd.decorators.SumDuplicationsDecorator; 026import org.sonar.plugins.cpd.index.IndexFactory; 027 028import java.util.List; 029 030@Properties({ 031 @Property( 032 key = CoreProperties.CPD_CROSS_RPOJECT, 033 defaultValue = CoreProperties.CPD_CROSS_RPOJECT_DEFAULT_VALUE + "", 034 name = "Cross project duplication detection", 035 description = "Sonar supports the detection of cross project duplications. Activating this property will slightly increase each Sonar analysis time.", 036 project = true, 037 module = true, 038 global = true, 039 category = CoreProperties.CATEGORY_DUPLICATIONS, 040 type = PropertyType.BOOLEAN) 041}) 042public final class CpdPlugin extends SonarPlugin { 043 044 public List getExtensions() { 045 return ImmutableList.of( 046 CpdSensor.class, 047 SumDuplicationsDecorator.class, 048 DuplicationDensityDecorator.class, 049 IndexFactory.class, 050 SonarEngine.class, 051 SonarBridgeEngine.class); 052 } 053 054}