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