001 /* 002 * SonarQube, open source software quality management tool. 003 * Copyright (C) 2008-2014 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 4.0 042 */ 043 String SUBCATEGORY_DATABASE_CLEANER = "databaseCleaner"; 044 045 /** 046 * @since 4.0 047 */ 048 String SUBCATEGORY_DUPLICATIONS = "duplications"; 049 050 /** 051 * @since 4.0 052 */ 053 String SUBCATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 054 055 /** 056 * @since 4.0 057 */ 058 String SUBCATEGORY_L10N = "localization"; 059 060 /** 061 * @since 2.11 062 */ 063 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 064 065 /** 066 * @see #SUBCATEGORY_DUPLICATIONS 067 * @since 2.11 068 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles 069 */ 070 @Deprecated 071 String CATEGORY_DUPLICATIONS = "duplications"; 072 073 /** 074 * @since 2.11 075 */ 076 String CATEGORY_SECURITY = "security"; 077 078 /** 079 * @see #SUBCATEGORY_L10N 080 * @since 2.11 081 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles 082 */ 083 @Deprecated 084 String CATEGORY_L10N = "localization"; 085 086 /** 087 * @since 2.11 088 */ 089 String CATEGORY_JAVA = "java"; 090 091 /** 092 * @see #SUBCATEGORY_DIFFERENTIAL_VIEWS 093 * @since 2.11 094 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles 095 */ 096 @Deprecated 097 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 098 099 /** 100 * @since 3.3 101 */ 102 String CATEGORY_EXCLUSIONS = "exclusions"; 103 104 /** 105 * @since 4.0 106 */ 107 String SUBCATEGORY_FILES_EXCLUSIONS = "files"; 108 109 /** 110 * @since 4.0 111 */ 112 String SUBCATEGORY_DUPLICATIONS_EXCLUSIONS = "duplications"; 113 114 /** 115 * @since 4.0 116 */ 117 String SUBCATEGORY_COVERAGE_EXCLUSIONS = "coverage"; 118 119 /** 120 * @since 3.7 121 */ 122 String CATEGORY_LICENSES = "licenses"; 123 124 /** 125 * @since 4.0 126 */ 127 String CATEGORY_TECHNICAL_DEBT = "technicalDebt"; 128 129 /* Global settings */ 130 String SONAR_HOME = "SONAR_HOME"; 131 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 132 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 133 134 /** 135 * @since 2.6 136 */ 137 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 138 139 /** 140 * @since 2.6 141 */ 142 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 143 144 /** 145 * @since 2.6 146 */ 147 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 148 149 /** 150 * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}. 151 * 152 * @since 2.6 153 */ 154 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 155 156 /** 157 * Value format is yyyy-MM-dd 158 */ 159 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 160 161 /** 162 * @deprecated since 4.2 project are now multi-language 163 */ 164 @Deprecated 165 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 166 167 /** 168 * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5185 169 */ 170 @Deprecated 171 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 172 173 /* Exclusions */ 174 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 175 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 176 177 /** 178 * @since 3.3 179 */ 180 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 181 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 182 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 183 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 184 /** 185 * @deprecated since 4.2. See http://jira.codehaus.org/browse/SONAR-5058 186 */ 187 @Deprecated 188 String GLOBAL_TEST_EXCLUSIONS_DEFAULT = ""; 189 190 /** 191 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873 192 */ 193 @Deprecated 194 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration"; 195 196 /* Sonar Core */ 197 198 /** 199 * @deprecated since 4.1. See http://jira.codehaus.org/browse/SONAR-4875 200 */ 201 @Deprecated 202 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 203 204 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 205 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources"; 206 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true; 207 208 /** 209 * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109 210 */ 211 @Deprecated 212 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 213 214 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight"; 215 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10"; 216 217 /** 218 * @since 4.0 219 * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109 220 */ 221 @Deprecated 222 String CORE_INCLUDED_MODULES_PROPERTY = "sonar.includedModules"; 223 224 /** 225 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 226 */ 227 @Deprecated 228 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth"; 229 230 /** 231 * @deprecated since 2.5. See http://jira.codehaus.org/browse/SONAR-4145 232 */ 233 @Deprecated 234 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30; 235 236 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 237 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 238 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 239 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 240 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 241 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 242 243 /** 244 * @deprecated since 2.14. See http://jira.codehaus.org/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}. 245 */ 246 @Deprecated 247 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 248 249 /** 250 * @since 2.14 251 */ 252 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm"; 253 254 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 255 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 256 257 /** 258 * @since 3.6 259 */ 260 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes"; 261 262 String SERVER_VERSION = "sonar.core.version"; 263 String SERVER_ID = "sonar.core.id"; 264 265 // format is yyyy-MM-dd'T'HH:mm:ssZ 266 String SERVER_STARTTIME = "sonar.core.startTime"; 267 268 /** 269 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 270 */ 271 @Deprecated 272 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies"; 273 274 /** 275 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 276 */ 277 @Deprecated 278 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false; 279 280 /** 281 * @since 2.10 282 */ 283 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 284 285 /** 286 * @see #SERVER_BASE_URL 287 * @since 2.10 288 */ 289 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 290 291 /* CPD */ 292 String CPD_PLUGIN = "cpd"; 293 294 /** 295 * @deprecated in 3.1 296 */ 297 @Deprecated 298 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 299 300 /** 301 * @deprecated in 3.1 302 */ 303 @Deprecated 304 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100; 305 306 /** 307 * @deprecated in 3.1 308 */ 309 @Deprecated 310 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals"; 311 312 /** 313 * @deprecated in 3.1 314 */ 315 @Deprecated 316 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true"; 317 318 /** 319 * @deprecated in 3.1 320 */ 321 @Deprecated 322 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers"; 323 324 /** 325 * @deprecated in 3.1 326 */ 327 @Deprecated 328 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false"; 329 330 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 331 332 /** 333 * @since 2.11 334 * @deprecated in 3.1 335 */ 336 @Deprecated 337 String CPD_ENGINE = "sonar.cpd.engine"; 338 339 /** 340 * @see #CPD_ENGINE 341 * @since 2.11 342 * @deprecated in 3.1 343 */ 344 @Deprecated 345 String CPD_ENGINE_DEFAULT_VALUE = "sonar"; 346 347 /** 348 * @since 2.11 349 */ 350 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project"; 351 352 /** 353 * @see #CPD_CROSS_RPOJECT 354 * @since 2.11 355 */ 356 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false; 357 358 /** 359 * @since 3.5 360 */ 361 String CPD_EXCLUSIONS = "sonar.cpd.exclusions"; 362 363 /* Design */ 364 365 /** 366 * Indicates whether Java bytecode analysis should be skipped. 367 * 368 * @since 2.0 369 */ 370 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 371 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 372 373 /** 374 * Indicates whether Package Design Analysis should be skipped. 375 * 376 * @since 2.9 377 */ 378 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 379 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 380 381 /* Google Analytics */ 382 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 383 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 384 385 /* Time machine periods */ 386 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period"; 387 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis"; 388 String TIMEMACHINE_MODE_DATE = "date"; 389 String TIMEMACHINE_MODE_VERSION = "version"; 390 String TIMEMACHINE_MODE_DAYS = "days"; 391 String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version"; 392 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS; 393 String TIMEMACHINE_DEFAULT_PERIOD_2 = "30"; 394 String TIMEMACHINE_DEFAULT_PERIOD_3 = TIMEMACHINE_MODE_PREVIOUS_VERSION; 395 String TIMEMACHINE_DEFAULT_PERIOD_4 = ""; 396 String TIMEMACHINE_DEFAULT_PERIOD_5 = ""; 397 398 /** 399 * @since 2.11 400 */ 401 String ORGANISATION = "sonar.organisation"; 402 403 /** 404 * @since 2.11 405 */ 406 String PERMANENT_SERVER_ID = "sonar.server_id"; 407 408 /** 409 * @since 2.11 410 */ 411 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 412 413 /** 414 * @since 3.3 415 */ 416 String LINKS_HOME_PAGE = "sonar.links.homepage"; 417 418 /** 419 * @since 3.3 420 */ 421 String LINKS_CI = "sonar.links.ci"; 422 423 /** 424 * @since 3.3 425 */ 426 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 427 428 /** 429 * @since 3.3 430 */ 431 String LINKS_SOURCES = "sonar.links.scm"; 432 433 /** 434 * @since 3.3 435 */ 436 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 437 438 /** 439 * @since 3.4 440 */ 441 String LOGIN = "sonar.login"; 442 443 /** 444 * @since 3.4 445 */ 446 String PASSWORD = "sonar.password"; 447 448 /** 449 * @since 3.4 450 */ 451 String DRY_RUN = "sonar.dryRun"; 452 453 /** 454 * @since 3.5 455 */ 456 String TASK = "sonar.task"; 457 458 /** 459 * @since 3.6 460 */ 461 String SCAN_TASK = "scan"; 462 463 /** 464 * @since 3.6 465 */ 466 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 467 468 /** 469 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin 470 * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details. 471 */ 472 @Deprecated 473 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 474 475 /** 476 * @since 3.7 477 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_READ_TIMEOUT_SEC} 478 */ 479 @Deprecated 480 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout"; 481 482 /** 483 * @since 4.0 484 */ 485 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout"; 486 487 /** 488 * @since 4.0 489 */ 490 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation"; 491 492 /** 493 * @since 4.0 494 */ 495 String ANALYSIS_MODE = "sonar.analysis.mode"; 496 497 /** 498 * @since 4.0 499 */ 500 String ANALYSIS_MODE_ANALYSIS = "analysis"; 501 502 /** 503 * @since 4.0 504 */ 505 String ANALYSIS_MODE_PREVIEW = "preview"; 506 507 /** 508 * @since 4.0 509 */ 510 String ANALYSIS_MODE_INCREMENTAL = "incremental"; 511 512 /** 513 * @since 4.4 514 */ 515 String ANALYSIS_MODE_SENSOR = "sensor"; 516 517 /** 518 * @since 4.0 519 */ 520 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins"; 521 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 522 523 /** 524 * @since 4.0 525 */ 526 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins"; 527 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,scmactivity,views,jira,buildbreaker"; 528 529 /** 530 * @since 4.0 531 */ 532 String WORKING_DIRECTORY = "sonar.working.directory"; 533 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar"; 534 535 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins"; 536 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins"; 537 538 /** 539 * @since 3.4 540 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS} 541 */ 542 @Deprecated 543 String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins"; 544 /** 545 * @since 3.4 546 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE} 547 */ 548 @Deprecated 549 String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE; 550 551 /** 552 * @since 3.4 553 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS} 554 */ 555 @Deprecated 556 String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins"; 557 /** 558 * @since 3.4 559 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE} 560 */ 561 @Deprecated 562 String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE; 563 564 /** 565 * @since 4.2 566 */ 567 String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers"; 568 569 /** 570 * @since 4.0 571 */ 572 String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay"; 573 }