001/* 002 * SonarQube 003 * Copyright (C) 2009-2016 SonarSource SA 004 * mailto:contact AT sonarsource DOT com 005 * 006 * This program 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 * This program 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; 023import org.sonar.api.platform.Server; 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 5.1 064 */ 065 String SUBCATEGORY_ISSUES = "issues"; 066 067 /** 068 * @since 4.0 069 */ 070 String SUBCATEGORY_L10N = "localization"; 071 072 /** 073 * @since 2.11 074 */ 075 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 076 077 /** 078 * @see #SUBCATEGORY_DUPLICATIONS 079 * @since 2.11 080 * @deprecated since 4.0. See http://jira.sonarsource.com/browse/SONAR-4660. Do not forget to remove the properties from core bundles 081 */ 082 @Deprecated 083 String CATEGORY_DUPLICATIONS = "duplications"; 084 085 /** 086 * @since 2.11 087 */ 088 String CATEGORY_SECURITY = "security"; 089 090 /** 091 * @see #SUBCATEGORY_L10N 092 * @since 2.11 093 * @deprecated since 4.0. See http://jira.sonarsource.com/browse/SONAR-4660. Do not forget to remove the properties from core bundles 094 */ 095 @Deprecated 096 String CATEGORY_L10N = "localization"; 097 098 /** 099 * @since 2.11 100 */ 101 String CATEGORY_JAVA = "java"; 102 103 /** 104 * @see #SUBCATEGORY_DIFFERENTIAL_VIEWS 105 * @since 2.11 106 * @deprecated since 4.0. See http://jira.sonarsource.com/browse/SONAR-4660. Do not forget to remove the properties from core bundles 107 */ 108 @Deprecated 109 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 110 111 /** 112 * @since 3.3 113 */ 114 String CATEGORY_EXCLUSIONS = "exclusions"; 115 116 /** 117 * @since 4.0 118 */ 119 String SUBCATEGORY_FILES_EXCLUSIONS = "files"; 120 121 /** 122 * @since 4.0 123 */ 124 String SUBCATEGORY_DUPLICATIONS_EXCLUSIONS = "duplications"; 125 126 /** 127 * @since 4.0 128 */ 129 String SUBCATEGORY_COVERAGE_EXCLUSIONS = "coverage"; 130 131 /** 132 * @since 3.7 133 */ 134 String CATEGORY_LICENSES = "licenses"; 135 136 /** 137 * @since 4.0 138 */ 139 String CATEGORY_TECHNICAL_DEBT = "technicalDebt"; 140 141 /* Global settings */ 142 String SONAR_HOME = "SONAR_HOME"; 143 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 144 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 145 146 /** 147 * @since 2.6 148 */ 149 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 150 151 /** 152 * @since 2.6 153 */ 154 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 155 156 /** 157 * @since 2.6 158 */ 159 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 160 161 /** 162 * To determine value of this property use {@link FileSystem#encoding()}. 163 * 164 * @since 2.6 165 */ 166 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 167 168 /** 169 * Value format is yyyy-MM-dd 170 */ 171 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 172 173 /** 174 * @deprecated since 4.2 projects are now multi-language 175 */ 176 @Deprecated 177 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 178 179 /** 180 * @deprecated since 4.3. See http://jira.sonarsource.com/browse/SONAR-5185 181 */ 182 @Deprecated 183 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 184 185 /* Exclusions */ 186 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 187 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 188 189 /* Coverage exclusions */ 190 String PROJECT_COVERAGE_EXCLUSIONS_PROPERTY = "sonar.coverage.exclusions"; 191 192 /** 193 * @since 3.3 194 */ 195 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 196 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 197 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 198 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 199 200 /* Sonar Core */ 201 202 /** 203 * @deprecated since 4.1. See http://jira.sonarsource.com/browse/SONAR-4875 204 */ 205 @Deprecated 206 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 207 208 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 209 210 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 211 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 212 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 213 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 214 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 215 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 216 217 /** 218 * @deprecated since 2.14. See http://jira.sonarsource.com/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}. 219 */ 220 @Deprecated 221 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 222 223 /** 224 * @since 2.14 225 */ 226 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm"; 227 228 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 229 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 230 231 /** 232 * @since 3.6 233 * @deprecated since 5.4. This feature is not supported anymore. See http://jira.sonarsource.com/browse/SONAR-7219 234 */ 235 @Deprecated 236 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes"; 237 238 String SERVER_VERSION = "sonar.core.version"; 239 String SERVER_ID = "sonar.core.id"; 240 241 // format is yyyy-MM-dd'T'HH:mm:ssZ 242 String SERVER_STARTTIME = "sonar.core.startTime"; 243 244 /** 245 * This property defines the SonarQubeServer base url, such as <i>http://yourhost.yourdomain/sonar</i>. 246 * When this property is not set, the base url of the SonarQube server is provided by {@link Server#getURL()}. 247 * 248 * @since 2.10 249 */ 250 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 251 252 /** 253 * @see #SERVER_BASE_URL 254 * @since 2.10 255 * @deprecated since 5.6. This constant default value is incorrect if a host and/or a port and/or a context have been configured. 256 * The correct default value when {@link #SERVER_BASE_URL} is not set is provided by {@link Server#getURL()}. 257 */ 258 @Deprecated 259 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 260 261 /* CPD */ 262 String CPD_PLUGIN = "cpd"; 263 264 /** 265 * @deprecated in 5.0 266 * @see <a href="https://jira.sonarsource.com/browse/SONAR-5339">SONAR-5339</a> 267 */ 268 @Deprecated 269 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 270 271 /** 272 * @since 2.11 273 */ 274 String CPD_CROSS_PROJECT = "sonar.cpd.cross_project"; 275 276 /** 277 * @see #CPD_CROSS_PROJECT 278 * @since 2.11 279 */ 280 boolean CPD_CROSS_PROJECT_DEFAULT_VALUE = false; 281 282 /** 283 * @since 3.5 284 */ 285 String CPD_EXCLUSIONS = "sonar.cpd.exclusions"; 286 287 /* Design */ 288 289 /** 290 * Indicates whether Java bytecode analysis should be skipped. 291 * 292 * @since 2.0 293 */ 294 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 295 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 296 297 /** 298 * Indicates whether Package Design Analysis should be skipped. 299 * 300 * @since 2.9 301 */ 302 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 303 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 304 305 /* Google Analytics */ 306 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 307 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 308 309 /** 310 * @since 2.11 311 */ 312 String ORGANISATION = "sonar.organisation"; 313 314 /** 315 * @since 2.11 316 */ 317 String PERMANENT_SERVER_ID = "sonar.server_id"; 318 319 /** 320 * @since 2.11 321 */ 322 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 323 324 /** 325 * @since 3.3 326 */ 327 String LINKS_HOME_PAGE = "sonar.links.homepage"; 328 329 /** 330 * @since 3.3 331 */ 332 String LINKS_CI = "sonar.links.ci"; 333 334 /** 335 * @since 3.3 336 */ 337 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 338 339 /** 340 * @since 3.3 341 */ 342 String LINKS_SOURCES = "sonar.links.scm"; 343 344 /** 345 * @since 3.3 346 */ 347 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 348 349 /** 350 * @since 3.4 351 */ 352 String LOGIN = "sonar.login"; 353 354 /** 355 * @since 3.4 356 */ 357 String PASSWORD = "sonar.password"; 358 359 /** 360 * @since 3.5 361 */ 362 String TASK = "sonar.task"; 363 364 /** 365 * @since 3.6 366 */ 367 String SCAN_TASK = "scan"; 368 369 /** 370 * @since 3.6 371 */ 372 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 373 374 /** 375 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin 376 * See http://jira.sonarsource.com/browse/SONARJAVA-39 for more details. 377 */ 378 @Deprecated 379 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 380 381 /** 382 * @since 3.7 383 * @deprecated in 4.0 no more used 384 */ 385 @Deprecated 386 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout"; 387 388 /** 389 * @since 4.0 390 * @deprecated in 5.1 no more used 391 */ 392 @Deprecated 393 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout"; 394 395 /** 396 * @since 4.0 397 * @deprecated replaced in 5.2 by the permission 'provisioning' 398 */ 399 @Deprecated 400 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation"; 401 402 /** 403 * @since 4.0 404 */ 405 String ANALYSIS_MODE = "sonar.analysis.mode"; 406 407 /** 408 * @since 4.0 409 * @deprecated since 5.2 the default mode is publish 410 */ 411 @Deprecated 412 String ANALYSIS_MODE_ANALYSIS = "analysis"; 413 414 /** 415 * @since 4.0 416 */ 417 String ANALYSIS_MODE_PREVIEW = "preview"; 418 419 /** 420 * @since 5.2 421 */ 422 String ANALYSIS_MODE_ISSUES = "issues"; 423 424 /** 425 * @since 5.2 426 */ 427 String ANALYSIS_MODE_PUBLISH = "publish"; 428 429 /** 430 * @since 4.0 431 * @deprecated since 5.2 432 */ 433 @Deprecated 434 String ANALYSIS_MODE_INCREMENTAL = "incremental"; 435 436 /** 437 * @since 4.0 438 */ 439 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins"; 440 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 441 442 /** 443 * @since 4.0 444 */ 445 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins"; 446 447 // SONAR-6704 add scmstats to the list 448 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker,scmstats"; 449 450 /** 451 * @since 4.0 452 */ 453 String WORKING_DIRECTORY = "sonar.working.directory"; 454 455 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar"; 456 457 /** 458 * @since 5.2 459 */ 460 String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory"; 461 String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = ""; 462 463 /** 464 * @since 4.2 465 * @deprecated no more used since 5.5 466 */ 467 @Deprecated 468 String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers"; 469 470 /** 471 * @since 4.0 472 */ 473 String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay"; 474 475 /** 476 * @since 4.5 477 * @deprecated no used anymore since 5.2 478 */ 479 @Deprecated 480 String SIZE_METRIC = "sonar.technicalDebt.sizeMetric"; 481 482 /** 483 * @since 4.5 484 */ 485 String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost"; 486 487 /** 488 * @since 4.5 489 */ 490 String DEVELOPMENT_COST_DEF_VALUE = "30"; 491 492 /** 493 * @since 4.5 494 */ 495 String RATING_GRID = "sonar.technicalDebt.ratingGrid"; 496 497 /** 498 * @since 4.5 499 */ 500 String RATING_GRID_DEF_VALUES = "0.05,0.1,0.2,0.5"; 501 502 /** 503 * @since 4.5 504 */ 505 String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters"; 506 507 /** 508 * @since 4.5 509 */ 510 String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language"; 511 512 /** 513 * @since 4.5 514 */ 515 String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days"; 516 517 /** 518 * @since 4.5 519 */ 520 String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric"; 521 522 /** 523 * @since 5.0 524 */ 525 String CATEGORY_SCM = "scm"; 526 527 /** 528 * @since 5.0 529 */ 530 String SCM_DISABLED_KEY = "sonar.scm.disabled"; 531 532 /** 533 * @since 5.0 534 */ 535 String SCM_PROVIDER_KEY = "sonar.scm.provider"; 536 537 /** 538 * @since 5.1 539 */ 540 String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files"; 541 542 /** 543 * @since 5.1 544 */ 545 String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin"; 546 547}