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.api; 021 022/** 023 * CoreProperties is used to group various properties of Sonar as well 024 * as default values of configuration in a single place 025 * 026 * @since 1.11 027 */ 028public interface CoreProperties { 029 030 /** 031 * @since 3.0 032 */ 033 String ENCRYPTION_SECRET_KEY_PATH = "sonar.secretKeyPath"; 034 035 /** 036 * @since 2.11 037 */ 038 String CATEGORY_GENERAL = "general"; 039 040 /** 041 * @since 2.11 042 */ 043 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 044 045 /** 046 * @since 2.11 047 */ 048 String CATEGORY_DUPLICATIONS = "duplications"; 049 050 /** 051 * @since 2.11 052 */ 053 String CATEGORY_SECURITY = "security"; 054 055 /** 056 * @since 2.11 057 */ 058 String CATEGORY_L10N = "localization"; 059 060 /** 061 * @since 2.11 062 */ 063 String CATEGORY_JAVA = "java"; 064 065 /** 066 * @since 2.11 067 */ 068 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 069 070 /* Global settings */ 071 String SONAR_HOME = "SONAR_HOME"; 072 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 073 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 074 075 /** 076 * @since 2.6 077 */ 078 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 079 080 /** 081 * @since 2.6 082 */ 083 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 084 085 /** 086 * @since 2.6 087 */ 088 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 089 090 /** 091 * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}. 092 * 093 * @since 2.6 094 */ 095 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 096 097 /** 098 * Value format is yyyy-MM-dd 099 */ 100 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 101 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 102 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 103 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 104 105 /** 106 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873 107 */ 108 @Deprecated 109 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration"; 110 111 /* Checkstyle */ 112 String CHECKSTYLE_PLUGIN = "checkstyle"; 113 114 /* Cobertura */ 115 String COBERTURA_PLUGIN = "cobertura"; 116 String COBERTURA_REPORT_PATH_PROPERTY = "sonar.cobertura.reportPath"; 117 String COBERTURA_MAXMEM_PROPERTY = "sonar.cobertura.maxmem"; 118 String COBERTURA_MAXMEM_DEFAULT_VALUE = "64m"; 119 120 /* Sonar Core */ 121 String CORE_PLUGIN = "core"; 122 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 123 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 124 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 125 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources"; 126 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true; 127 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 128 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight"; 129 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10"; 130 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth"; 131 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30; 132 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 133 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 134 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 135 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 136 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 137 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 138 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 139 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 140 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 141 String SERVER_VERSION = "sonar.core.version"; 142 String SERVER_ID = "sonar.core.id"; 143 String SERVER_STARTTIME = "sonar.core.startTime"; // format is yyyy-MM-dd'T'HH:mm:ssZ 144 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies"; 145 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false; 146 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins"; 147 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins"; 148 149 /** 150 * @since 2.10 151 */ 152 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 153 154 /** 155 * @see #SERVER_BASE_URL 156 * @since 2.10 157 */ 158 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 159 160 /* CPD */ 161 String CPD_PLUGIN = "cpd"; 162 163 /** 164 * @deprecated in 3.1 165 */ 166 @Deprecated 167 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 168 169 /** 170 * @deprecated in 3.1 171 */ 172 @Deprecated 173 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100; 174 175 /** 176 * @deprecated in 3.1 177 */ 178 @Deprecated 179 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals"; 180 181 /** 182 * @deprecated in 3.1 183 */ 184 @Deprecated 185 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true"; 186 187 /** 188 * @deprecated in 3.1 189 */ 190 @Deprecated 191 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers"; 192 193 /** 194 * @deprecated in 3.1 195 */ 196 @Deprecated 197 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false"; 198 199 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 200 201 /** 202 * @since 2.11 203 * @deprecated in 3.1 204 */ 205 @Deprecated 206 String CPD_ENGINE = "sonar.cpd.engine"; 207 208 /** 209 * @see #CPD_ENGINE 210 * @since 2.11 211 * @deprecated in 3.1 212 */ 213 @Deprecated 214 String CPD_ENGINE_DEFAULT_VALUE = "sonar"; 215 216 /** 217 * @since 2.11 218 */ 219 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project"; 220 221 /** 222 * @see #CPD_CROSS_RPOJECT 223 * @since 2.11 224 */ 225 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false; 226 227 /* Design */ 228 229 /** 230 * Indicates whether Java bytecode analysis should be skipped. 231 * 232 * @since 2.0 233 */ 234 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 235 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 236 237 /** 238 * Indicates whether Package Design Analysis should be skipped. 239 * 240 * @since 2.9 241 */ 242 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 243 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 244 245 /* Findbugs */ 246 String FINDBUGS_PLUGIN = "findbugs"; 247 String FINDBUGS_EFFORT_PROPERTY = "sonar.findbugs.effort"; 248 String FINDBUGS_EFFORT_DEFAULT_VALUE = "Default"; 249 String FINDBUGS_REPORT_PATH = "sonar.findbugs.reportPath"; 250 String FINDBUGS_TIMEOUT_PROPERTY = "sonar.findbugs.timeout"; 251 long FINDBUGS_TIMEOUT_DEFAULT_VALUE = 600000; 252 253 /* Google Analytics */ 254 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 255 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 256 257 /* PMD */ 258 String PMD_PLUGIN = "pmd"; 259 260 /* Squid */ 261 String SQUID_PLUGIN = "squid"; 262 263 /* Surefire */ 264 String SUREFIRE_PLUGIN = "surefire"; 265 String SUREFIRE_REPORTS_PATH_PROPERTY = "sonar.surefire.reportsPath"; 266 267 /* Time machine periods */ 268 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period"; 269 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis"; 270 String TIMEMACHINE_MODE_DATE = "date"; 271 String TIMEMACHINE_MODE_VERSION = "version"; 272 String TIMEMACHINE_MODE_DAYS = "days"; 273 String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version"; 274 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS; 275 String TIMEMACHINE_DEFAULT_PERIOD_2 = "5"; 276 String TIMEMACHINE_DEFAULT_PERIOD_3 = "30"; 277 String TIMEMACHINE_DEFAULT_PERIOD_4 = ""; 278 String TIMEMACHINE_DEFAULT_PERIOD_5 = ""; 279 280 /** 281 * @since 2.11 282 */ 283 String ORGANISATION = "sonar.organisation"; 284 285 /** 286 * @since 2.11 287 */ 288 String PERMANENT_SERVER_ID = "sonar.server_id"; 289 290 /** 291 * @since 2.11 292 */ 293 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 294}