001 /* 002 * SonarQube, open source software quality management tool. 003 * Copyright (C) 2008-2013 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 */ 020 package 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 */ 028 public 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 /** 071 * @since 3.3 072 */ 073 String CATEGORY_EXCLUSIONS = "exclusions"; 074 075 /** 076 * @since 3.7 077 */ 078 String CATEGORY_LICENSES = "licenses"; 079 080 /* Global settings */ 081 String SONAR_HOME = "SONAR_HOME"; 082 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 083 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 084 085 /** 086 * @since 2.6 087 */ 088 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 089 090 /** 091 * @since 2.6 092 */ 093 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 094 095 /** 096 * @since 2.6 097 */ 098 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 099 100 /** 101 * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}. 102 * 103 * @since 2.6 104 */ 105 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 106 107 /** 108 * Value format is yyyy-MM-dd 109 */ 110 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 111 112 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 113 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 114 115 /* Exclusions */ 116 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 117 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 118 119 /** 120 * @since 3.3 121 */ 122 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 123 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 124 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 125 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 126 String GLOBAL_TEST_EXCLUSIONS_DEFAULT = "**/package-info.java"; 127 128 /** 129 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873 130 */ 131 @Deprecated 132 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration"; 133 134 /* Sonar Core */ 135 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 136 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 137 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources"; 138 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true; 139 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 140 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight"; 141 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10"; 142 143 /** 144 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 145 */ 146 @Deprecated 147 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth"; 148 149 /** 150 * @deprecated since 2.5. See http://jira.codehaus.org/browse/SONAR-4145 151 */ 152 @Deprecated 153 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30; 154 155 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 156 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 157 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 158 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 159 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 160 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 161 162 /** 163 * @deprecated since 2.14. See http://jira.codehaus.org/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}. 164 */ 165 @Deprecated 166 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 167 168 /** 169 * @since 2.14 170 */ 171 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm"; 172 173 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 174 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 175 176 /** 177 * @since 3.6 178 */ 179 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes"; 180 181 String SERVER_VERSION = "sonar.core.version"; 182 String SERVER_ID = "sonar.core.id"; 183 184 // format is yyyy-MM-dd'T'HH:mm:ssZ 185 String SERVER_STARTTIME = "sonar.core.startTime"; 186 187 /** 188 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 189 */ 190 @Deprecated 191 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies"; 192 193 /** 194 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 195 */ 196 @Deprecated 197 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false; 198 199 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins"; 200 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins"; 201 202 /** 203 * @since 3.4 204 */ 205 String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins"; 206 String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 207 208 /** 209 * @since 3.4 210 */ 211 String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins"; 212 String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = "devcockpit,pdfreport,report,scmactivity,views,jira"; 213 214 /** 215 * @since 2.10 216 */ 217 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 218 219 /** 220 * @see #SERVER_BASE_URL 221 * @since 2.10 222 */ 223 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 224 225 /* CPD */ 226 String CPD_PLUGIN = "cpd"; 227 228 /** 229 * @deprecated in 3.1 230 */ 231 @Deprecated 232 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 233 234 /** 235 * @deprecated in 3.1 236 */ 237 @Deprecated 238 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100; 239 240 /** 241 * @deprecated in 3.1 242 */ 243 @Deprecated 244 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals"; 245 246 /** 247 * @deprecated in 3.1 248 */ 249 @Deprecated 250 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true"; 251 252 /** 253 * @deprecated in 3.1 254 */ 255 @Deprecated 256 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers"; 257 258 /** 259 * @deprecated in 3.1 260 */ 261 @Deprecated 262 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false"; 263 264 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 265 266 /** 267 * @since 2.11 268 * @deprecated in 3.1 269 */ 270 @Deprecated 271 String CPD_ENGINE = "sonar.cpd.engine"; 272 273 /** 274 * @see #CPD_ENGINE 275 * @since 2.11 276 * @deprecated in 3.1 277 */ 278 @Deprecated 279 String CPD_ENGINE_DEFAULT_VALUE = "sonar"; 280 281 /** 282 * @since 2.11 283 */ 284 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project"; 285 286 /** 287 * @see #CPD_CROSS_RPOJECT 288 * @since 2.11 289 */ 290 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false; 291 292 /** 293 * @since 3.5 294 */ 295 String CPD_EXCLUSIONS = "sonar.cpd.exclusions"; 296 297 /* Design */ 298 299 /** 300 * Indicates whether Java bytecode analysis should be skipped. 301 * 302 * @since 2.0 303 */ 304 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 305 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 306 307 /** 308 * Indicates whether Package Design Analysis should be skipped. 309 * 310 * @since 2.9 311 */ 312 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 313 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 314 315 /* Google Analytics */ 316 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 317 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 318 319 /* Time machine periods */ 320 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period"; 321 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis"; 322 String TIMEMACHINE_MODE_DATE = "date"; 323 String TIMEMACHINE_MODE_VERSION = "version"; 324 String TIMEMACHINE_MODE_DAYS = "days"; 325 String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version"; 326 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS; 327 String TIMEMACHINE_DEFAULT_PERIOD_2 = "30"; 328 String TIMEMACHINE_DEFAULT_PERIOD_3 = TIMEMACHINE_MODE_PREVIOUS_VERSION; 329 String TIMEMACHINE_DEFAULT_PERIOD_4 = ""; 330 String TIMEMACHINE_DEFAULT_PERIOD_5 = ""; 331 332 /** 333 * @since 2.11 334 */ 335 String ORGANISATION = "sonar.organisation"; 336 337 /** 338 * @since 2.11 339 */ 340 String PERMANENT_SERVER_ID = "sonar.server_id"; 341 342 /** 343 * @since 2.11 344 */ 345 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 346 347 /** 348 * @since 3.3 349 */ 350 String LINKS_HOME_PAGE = "sonar.links.homepage"; 351 352 /** 353 * @since 3.3 354 */ 355 String LINKS_CI = "sonar.links.ci"; 356 357 /** 358 * @since 3.3 359 */ 360 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 361 362 /** 363 * @since 3.3 364 */ 365 String LINKS_SOURCES = "sonar.links.scm"; 366 367 /** 368 * @since 3.3 369 */ 370 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 371 372 /** 373 * @since 3.4 374 */ 375 String LOGIN = "sonar.login"; 376 377 /** 378 * @since 3.4 379 */ 380 String PASSWORD = "sonar.password"; 381 382 /** 383 * @since 3.4 384 */ 385 String DRY_RUN = "sonar.dryRun"; 386 387 /** 388 * @since 3.5 389 */ 390 String TASK = "sonar.task"; 391 392 /** 393 * @since 3.6 394 */ 395 String SCAN_TASK = "scan"; 396 397 /** 398 * @since 3.6 399 */ 400 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 401 402 /** 403 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin 404 * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details. 405 */ 406 @Deprecated 407 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 408 409 /** 410 * @since 3.7 411 */ 412 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout"; 413 }