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.design; 021 022import com.google.common.collect.ImmutableList; 023import org.sonar.api.Extension; 024import org.sonar.api.SonarPlugin; 025import org.sonar.plugins.design.batch.FileTangleIndexDecorator; 026import org.sonar.plugins.design.batch.MavenDependenciesSensor; 027import org.sonar.plugins.design.batch.PackageTangleIndexDecorator; 028import org.sonar.plugins.design.batch.ProjectDsmDecorator; 029import org.sonar.plugins.design.batch.SuspectLcom4DensityDecorator; 030import org.sonar.plugins.design.ui.dependencies.DependenciesViewer; 031import org.sonar.plugins.design.ui.libraries.GwtLibrariesPage; 032import org.sonar.plugins.design.ui.page.GwtDesignPage; 033import org.sonar.plugins.design.ui.widgets.ChidamberKemererWidget; 034import org.sonar.plugins.design.ui.widgets.FileDesignWidget; 035import org.sonar.plugins.design.ui.widgets.PackageDesignWidget; 036 037import java.util.List; 038 039public class DesignPlugin extends SonarPlugin { 040 041 public List<Class<? extends Extension>> getExtensions() { 042 return ImmutableList.of( 043 // Batch 044 MavenDependenciesSensor.class, 045 ProjectDsmDecorator.class, 046 PackageTangleIndexDecorator.class, 047 FileTangleIndexDecorator.class, 048 SuspectLcom4DensityDecorator.class, 049 GwtLibrariesPage.class, 050 051 // UI 052 GwtDesignPage.class, 053 DependenciesViewer.class, 054 FileDesignWidget.class, 055 PackageDesignWidget.class, 056 ChidamberKemererWidget.class); 057 } 058}