001 /* 002 * Sonar, open source software quality management tool. 003 * Copyright (C) 2008-2011 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 */ 020 package org.sonar.api; 021 022 import org.sonar.api.resources.ProjectFileSystem; 023 024 /** 025 * CoreProperties is used to group various properties of Sonar as well 026 * as default values of configuration in a single place 027 * 028 * @since 1.11 029 */ 030 public interface CoreProperties { 031 032 /* Global settings */ 033 String SONAR_HOME = "sonar.home"; 034 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 035 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 036 037 /** 038 * @since 2.6 039 */ 040 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 041 042 /** 043 * @since 2.6 044 */ 045 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 046 047 /** 048 * @since 2.6 049 */ 050 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 051 052 /** 053 * To determine value of this property use {@link ProjectFileSystem#getSourceCharset()}. 054 * 055 * @since 2.6 056 */ 057 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 058 059 /** 060 * Value format is yyyy-MM-dd 061 */ 062 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 063 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 064 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 065 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 066 067 /** 068 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873 069 */ 070 @Deprecated 071 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration"; 072 073 /* Checkstyle */ 074 String CHECKSTYLE_PLUGIN = "checkstyle"; 075 076 /* Cobertura */ 077 String COBERTURA_PLUGIN = "cobertura"; 078 String COBERTURA_REPORT_PATH_PROPERTY = "sonar.cobertura.reportPath"; 079 String COBERTURA_MAXMEM_PROPERTY = "sonar.cobertura.maxmen"; 080 String COBERTURA_MAXMEM_DEFAULT_VALUE = "64m"; 081 082 /* Sonar Core */ 083 String CORE_PLUGIN = "core"; 084 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 085 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 086 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 087 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources"; 088 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true; 089 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 090 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight"; 091 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10"; 092 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth"; 093 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30; 094 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 095 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 096 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 097 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 098 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 099 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 100 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 101 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 102 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 103 String SERVER_VERSION = "sonar.core.version"; 104 String SERVER_ID = "sonar.core.id"; 105 String SERVER_STARTTIME = "sonar.core.startTime"; // format is yyyy-MM-dd'T'HH:mm:ssZ 106 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies"; 107 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false; 108 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins"; 109 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins"; 110 111 /** 112 * @since 2.10 113 */ 114 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 115 116 /** 117 * @since 2.10 118 * @see #SERVER_BASE_URL 119 */ 120 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 121 122 /* CPD */ 123 String CPD_PLUGIN = "cpd"; 124 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 125 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100; 126 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals"; 127 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true"; 128 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers"; 129 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false"; 130 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 131 132 /* Design */ 133 134 /** 135 * Indicates whether Java bytecode analysis should be skipped. 136 * 137 * @since 2.0 138 */ 139 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 140 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 141 142 /** 143 * Indicates whether Package Design Analysis should be skipped. 144 * 145 * @since 2.9 146 */ 147 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 148 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 149 150 /* Findbugs */ 151 String FINDBUGS_PLUGIN = "findbugs"; 152 String FINDBUGS_EFFORT_PROPERTY = "sonar.findbugs.effort"; 153 String FINDBUGS_EFFORT_DEFAULT_VALUE = "Default"; 154 String FINDBUGS_REPORT_PATH = "sonar.findbugs.reportPath"; 155 String FINDBUGS_TIMEOUT_PROPERTY = "sonar.findbugs.timeout"; 156 long FINDBUGS_TIMEOUT_DEFAULT_VALUE = 600000; 157 158 /* Google Analytics */ 159 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 160 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 161 162 /* PMD */ 163 String PMD_PLUGIN = "pmd"; 164 165 /* Squid */ 166 String SQUID_PLUGIN = "squid"; 167 168 /* Surefire */ 169 String SUREFIRE_PLUGIN = "surefire"; 170 String SUREFIRE_REPORTS_PATH_PROPERTY = "sonar.surefire.reportsPath"; 171 172 /* Time machine periods */ 173 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period"; 174 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis"; 175 String TIMEMACHINE_MODE_DATE = "date"; 176 String TIMEMACHINE_MODE_VERSION = "version"; 177 String TIMEMACHINE_MODE_DAYS = "days"; 178 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS; 179 String TIMEMACHINE_DEFAULT_PERIOD_2 = "5"; 180 String TIMEMACHINE_DEFAULT_PERIOD_3 = "30"; 181 String TIMEMACHINE_DEFAULT_PERIOD_4 = ""; 182 String TIMEMACHINE_DEFAULT_PERIOD_5 = ""; 183 }