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 */ 020package org.sonar.api; 021 022import org.sonar.api.batch.fs.FileSystem; 023 024/** 025 * Non-exhaustive list of constants of core properties. 026 * 027 * @since 1.11 028 */ 029public interface CoreProperties { 030 031 /** 032 * @since 3.0 033 */ 034 String ENCRYPTION_SECRET_KEY_PATH = "sonar.secretKeyPath"; 035 036 /** 037 * @since 2.11 038 */ 039 String CATEGORY_GENERAL = "general"; 040 041 /** 042 * @since 4.0 043 */ 044 String SUBCATEGORY_DATABASE_CLEANER = "databaseCleaner"; 045 046 /** 047 * @since 4.0 048 */ 049 String SUBCATEGORY_DUPLICATIONS = "duplications"; 050 051 /** 052 * @since 4.0 053 */ 054 String SUBCATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 055 056 /** 057 * @since 5.1 058 */ 059 String SUBCATEGORY_LOOKNFEEL = "looknfeel"; 060 061 /** 062 * @since 5.1 063 */ 064 String SUBCATEGORY_ISSUES = "issues"; 065 066 /** 067 * @since 4.0 068 */ 069 String SUBCATEGORY_L10N = "localization"; 070 071 /** 072 * @since 2.11 073 */ 074 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 075 076 /** 077 * @see #SUBCATEGORY_DUPLICATIONS 078 * @since 2.11 079 * @deprecated since 4.0. See http://jira.sonarsource.com/browse/SONAR-4660. Do not forget to remove the properties from core bundles 080 */ 081 @Deprecated 082 String CATEGORY_DUPLICATIONS = "duplications"; 083 084 /** 085 * @since 2.11 086 */ 087 String CATEGORY_SECURITY = "security"; 088 089 /** 090 * @see #SUBCATEGORY_L10N 091 * @since 2.11 092 * @deprecated since 4.0. See http://jira.sonarsource.com/browse/SONAR-4660. Do not forget to remove the properties from core bundles 093 */ 094 @Deprecated 095 String CATEGORY_L10N = "localization"; 096 097 /** 098 * @since 2.11 099 */ 100 String CATEGORY_JAVA = "java"; 101 102 /** 103 * @see #SUBCATEGORY_DIFFERENTIAL_VIEWS 104 * @since 2.11 105 * @deprecated since 4.0. See http://jira.sonarsource.com/browse/SONAR-4660. Do not forget to remove the properties from core bundles 106 */ 107 @Deprecated 108 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 109 110 /** 111 * @since 3.3 112 */ 113 String CATEGORY_EXCLUSIONS = "exclusions"; 114 115 /** 116 * @since 4.0 117 */ 118 String SUBCATEGORY_FILES_EXCLUSIONS = "files"; 119 120 /** 121 * @since 4.0 122 */ 123 String SUBCATEGORY_DUPLICATIONS_EXCLUSIONS = "duplications"; 124 125 /** 126 * @since 4.0 127 */ 128 String SUBCATEGORY_COVERAGE_EXCLUSIONS = "coverage"; 129 130 /** 131 * @since 3.7 132 */ 133 String CATEGORY_LICENSES = "licenses"; 134 135 /** 136 * @since 4.0 137 */ 138 String CATEGORY_TECHNICAL_DEBT = "technicalDebt"; 139 140 /* Global settings */ 141 String SONAR_HOME = "SONAR_HOME"; 142 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 143 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 144 145 /** 146 * @since 2.6 147 */ 148 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 149 150 /** 151 * @since 2.6 152 */ 153 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 154 155 /** 156 * @since 2.6 157 */ 158 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 159 160 /** 161 * To determine value of this property use {@link FileSystem#encoding()}. 162 * 163 * @since 2.6 164 */ 165 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 166 167 /** 168 * Value format is yyyy-MM-dd 169 */ 170 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 171 172 /** 173 * @deprecated since 4.2 projects are now multi-language 174 */ 175 @Deprecated 176 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 177 178 /** 179 * @deprecated since 4.3. See http://jira.sonarsource.com/browse/SONAR-5185 180 */ 181 @Deprecated 182 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 183 184 /* Exclusions */ 185 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 186 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 187 188 /* Coverage exclusions */ 189 String PROJECT_COVERAGE_EXCLUSIONS_PROPERTY = "sonar.coverage.exclusions"; 190 191 /** 192 * @since 3.3 193 */ 194 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 195 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 196 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 197 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 198 199 /* Sonar Core */ 200 201 /** 202 * @deprecated since 4.1. See http://jira.sonarsource.com/browse/SONAR-4875 203 */ 204 @Deprecated 205 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 206 207 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 208 209 /** 210 * @deprecated since 4.3. See http://jira.sonarsource.com/browse/SONAR-5109 211 */ 212 @Deprecated 213 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 214 215 /** 216 * @since 4.0 217 * @deprecated since 4.3. See http://jira.sonarsource.com/browse/SONAR-5109 218 */ 219 @Deprecated 220 String CORE_INCLUDED_MODULES_PROPERTY = "sonar.includedModules"; 221 222 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 223 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 224 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 225 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 226 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 227 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 228 229 /** 230 * @deprecated since 2.14. See http://jira.sonarsource.com/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}. 231 */ 232 @Deprecated 233 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 234 235 /** 236 * @since 2.14 237 */ 238 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm"; 239 240 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 241 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 242 243 /** 244 * @since 3.6 245 */ 246 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes"; 247 248 String SERVER_VERSION = "sonar.core.version"; 249 String SERVER_ID = "sonar.core.id"; 250 251 // format is yyyy-MM-dd'T'HH:mm:ssZ 252 String SERVER_STARTTIME = "sonar.core.startTime"; 253 254 /** 255 * @since 2.10 256 */ 257 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 258 259 /** 260 * @see #SERVER_BASE_URL 261 * @since 2.10 262 */ 263 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 264 265 /* CPD */ 266 String CPD_PLUGIN = "cpd"; 267 268 /** 269 * @deprecated in 3.1 270 */ 271 @Deprecated 272 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 273 274 /** 275 * @deprecated in 5.0 276 * @see <a href="https://jira.sonarsource.com/browse/SONAR-5339">SONAR-5339</a> 277 */ 278 @Deprecated 279 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 280 281 /** 282 * @since 2.11 283 */ 284 String CPD_CROSS_PROJECT = "sonar.cpd.cross_project"; 285 286 /** 287 * @see #CPD_CROSS_PROJECT 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.5 384 * @deprecated since 5.2 no more task concept on batch side 385 */ 386 @Deprecated 387 String TASK = "sonar.task"; 388 389 /** 390 * @since 3.6 391 * @deprecated since 5.2 no more task concept on batch side 392 */ 393 @Deprecated 394 String SCAN_TASK = "scan"; 395 396 /** 397 * @since 3.6 398 */ 399 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 400 401 /** 402 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin 403 * See http://jira.sonarsource.com/browse/SONARJAVA-39 for more details. 404 */ 405 @Deprecated 406 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 407 408 /** 409 * @since 3.7 410 * @deprecated in 4.0 no more used 411 */ 412 @Deprecated 413 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout"; 414 415 /** 416 * @since 4.0 417 * @deprecated in 5.1 no more used 418 */ 419 @Deprecated 420 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout"; 421 422 /** 423 * @since 4.0 424 * @deprecated replaced in 5.2 by the permission 'provisioning' 425 */ 426 @Deprecated 427 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation"; 428 429 /** 430 * @since 4.0 431 */ 432 String ANALYSIS_MODE = "sonar.analysis.mode"; 433 434 /** 435 * @since 4.0 436 * @deprecated since 5.2 the default mode is publish 437 */ 438 @Deprecated 439 String ANALYSIS_MODE_ANALYSIS = "analysis"; 440 441 /** 442 * @since 4.0 443 */ 444 String ANALYSIS_MODE_PREVIEW = "preview"; 445 446 /** 447 * @since 5.2 448 */ 449 String ANALYSIS_MODE_ISSUES = "issues"; 450 451 /** 452 * @since 5.2 453 */ 454 String ANALYSIS_MODE_PUBLISH = "publish"; 455 456 /** 457 * @since 4.0 458 * @deprecated since 5.2 459 */ 460 @Deprecated 461 String ANALYSIS_MODE_INCREMENTAL = "incremental"; 462 463 /** 464 * @since 4.0 465 */ 466 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins"; 467 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 468 469 /** 470 * @since 4.0 471 */ 472 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins"; 473 474 // SONAR-6704 add scmstats to the list 475 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker,scmstats"; 476 477 /** 478 * @since 4.0 479 */ 480 String WORKING_DIRECTORY = "sonar.working.directory"; 481 482 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar"; 483 484 /** 485 * @since 5.2 486 */ 487 String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory"; 488 String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = ""; 489 490 /** 491 * @since 4.2 492 */ 493 String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers"; 494 495 /** 496 * @since 4.0 497 */ 498 String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay"; 499 500 /** 501 * @since 4.5 502 * @deprecated no used anymore since 5.2 503 */ 504 @Deprecated 505 String SIZE_METRIC = "sonar.technicalDebt.sizeMetric"; 506 507 /** 508 * @since 4.5 509 */ 510 String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost"; 511 512 /** 513 * @since 4.5 514 */ 515 String DEVELOPMENT_COST_DEF_VALUE = "30"; 516 517 /** 518 * @since 4.5 519 */ 520 String RATING_GRID = "sonar.technicalDebt.ratingGrid"; 521 522 /** 523 * @since 4.5 524 */ 525 String RATING_GRID_DEF_VALUES = "0.1,0.2,0.5,1"; 526 527 /** 528 * @since 4.5 529 */ 530 String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters"; 531 532 /** 533 * @since 4.5 534 */ 535 String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language"; 536 537 /** 538 * @since 4.5 539 */ 540 String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days"; 541 542 /** 543 * @since 4.5 544 */ 545 String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric"; 546 547 /** 548 * @since 5.0 549 */ 550 String CATEGORY_SCM = "scm"; 551 552 /** 553 * @since 5.0 554 */ 555 String SCM_DISABLED_KEY = "sonar.scm.disabled"; 556 557 /** 558 * @since 5.0 559 */ 560 String SCM_PROVIDER_KEY = "sonar.scm.provider"; 561 562 /** 563 * @since 5.1 564 */ 565 String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files"; 566 567 /** 568 * @since 5.1 569 */ 570 String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin"; 571 572}