001/* 002 * SonarQube 003 * Copyright (C) 2009-2018 SonarSource SA 004 * mailto:info 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 6.6 054 */ 055 String SUBCATEGORY_BRANCHES = "Branches"; 056 057 /** 058 * @since 4.0 059 */ 060 String SUBCATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 061 062 /** 063 * @since 5.1 064 */ 065 String SUBCATEGORY_LOOKNFEEL = "looknfeel"; 066 067 /** 068 * @since 5.1 069 */ 070 String SUBCATEGORY_ISSUES = "issues"; 071 072 /** 073 * @since 4.0 074 */ 075 String SUBCATEGORY_L10N = "localization"; 076 077 /** 078 * @since 2.11 079 */ 080 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 081 082 /** 083 * @since 2.11 084 */ 085 String CATEGORY_SECURITY = "security"; 086 087 /** 088 * @since 2.11 089 * @deprecated since 6.0 090 */ 091 @Deprecated 092 String CATEGORY_JAVA = "java"; 093 094 /** 095 * @since 3.3 096 */ 097 String CATEGORY_EXCLUSIONS = "exclusions"; 098 099 /** 100 * @since 4.0 101 */ 102 String SUBCATEGORY_FILES_EXCLUSIONS = "files"; 103 104 /** 105 * @since 4.0 106 */ 107 String SUBCATEGORY_DUPLICATIONS_EXCLUSIONS = "duplications"; 108 109 /** 110 * @since 4.0 111 */ 112 String SUBCATEGORY_COVERAGE_EXCLUSIONS = "coverage"; 113 114 /** 115 * @since 6.1 116 */ 117 String SUBCATEGORY_EMAIL = "email"; 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 /** 130 * @since 6.7.6 131 */ 132 String SUBCATEGORY_FILE_MOVE = "fileMove"; 133 134 /* Global settings */ 135 String SONAR_HOME = "SONAR_HOME"; 136 137 /** 138 * @deprecated since 6.7. This feature is deprecated in favor of the new branch feature. 139 * @see <a href="https://redirect.sonarsource.com/doc/branches.html">https://redirect.sonarsource.com/doc/branches.html/a> 140 */ 141 @Deprecated 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 * @since 6.6 174 */ 175 String LONG_LIVED_BRANCHES_REGEX = "sonar.branch.longLivedBranches.regex"; 176 177 /** 178 * @deprecated since 4.2 projects are now multi-language 179 */ 180 @Deprecated 181 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 182 183 /* Exclusions */ 184 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 185 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 186 187 /* Coverage exclusions */ 188 String PROJECT_COVERAGE_EXCLUSIONS_PROPERTY = "sonar.coverage.exclusions"; 189 190 /** 191 * @since 3.3 192 */ 193 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 194 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 195 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 196 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 197 198 /* Sonar Core */ 199 200 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 201 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 202 203 /** 204 * @deprecated since 6.3. This feature is not supported anymore 205 * @see <a href="https://jira.sonarsource.com/browse/SONAR-7762">SONAR-7762/a> 206 */ 207 @Deprecated 208 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 209 210 /** 211 * @deprecated since 6.4. The default group is hardcoded to 'sonar-users' 212 * @see <a href="https://jira.sonarsource.com/browse/SONAR-9014">SONAR-9014/a> 213 */ 214 @Deprecated 215 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 216 217 /** 218 * @deprecated since 6.4. The default group is hardcoded to 'sonar-users' 219 * @see <a href="https://jira.sonarsource.com/browse/SONAR-9014">SONAR-9014/a> 220 */ 221 @Deprecated 222 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 223 224 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 225 226 /** 227 * @deprecated since 2.14. See http://jira.sonarsource.com/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}. 228 */ 229 @Deprecated 230 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 231 232 /** 233 * @since 2.14 234 */ 235 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm"; 236 237 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 238 239 /** 240 * @deprecated since 6.3. This feature is not supported anymore 241 * @see <a href="https://jira.sonarsource.com/browse/SONAR-8208">SONAR-8208/a> 242 */ 243 @Deprecated 244 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 245 246 /** 247 * @since 3.6 248 * @deprecated since 5.4. This feature is not supported anymore. See http://jira.sonarsource.com/browse/SONAR-7219 249 */ 250 @Deprecated 251 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes"; 252 253 String SERVER_ID = "sonar.core.id"; 254 255 // format is yyyy-MM-dd'T'HH:mm:ssZ 256 String SERVER_STARTTIME = "sonar.core.startTime"; 257 258 /** 259 * This property defines the SonarQubeServer base url, such as <i>http://yourhost.yourdomain/sonar</i>. 260 * When this property is not set, the base url of the SonarQube server is provided by {@link Server#getURL()}. 261 * 262 * @since 2.10 263 */ 264 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 265 266 /** 267 * @see #SERVER_BASE_URL 268 * @since 2.10 269 * @deprecated since 5.6. This constant default value is incorrect if a host and/or a port and/or a context have been configured. 270 * The correct default value when {@link #SERVER_BASE_URL} is not set is provided by {@link Server#getURL()}. 271 */ 272 @Deprecated 273 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 274 275 /** 276 * @since 2.11 277 * @deprecated since 6.7 278 */ 279 @Deprecated 280 String CPD_CROSS_PROJECT = "sonar.cpd.cross_project"; 281 282 /** 283 * @since 3.5 284 */ 285 String CPD_EXCLUSIONS = "sonar.cpd.exclusions"; 286 287 /** 288 * @since 2.11 289 * @deprecated in 6.7. See {@link Server#getPermanentServerId()} 290 */ 291 @Deprecated 292 String ORGANISATION = "sonar.organisation"; 293 294 /** 295 * @since 2.11 296 * @deprecated in 6.7. See {@link Server#getPermanentServerId()} 297 */ 298 @Deprecated 299 String PERMANENT_SERVER_ID = "sonar.server_id"; 300 301 /** 302 * @since 2.11 303 * @deprecated in 6.7. See {@link Server#getPermanentServerId()} 304 */ 305 @Deprecated 306 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 307 308 /** 309 * @since 3.3 310 */ 311 String LINKS_HOME_PAGE = "sonar.links.homepage"; 312 313 /** 314 * @since 3.3 315 */ 316 String LINKS_CI = "sonar.links.ci"; 317 318 /** 319 * @since 3.3 320 */ 321 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 322 323 /** 324 * @since 3.3 325 */ 326 String LINKS_SOURCES = "sonar.links.scm"; 327 328 /** 329 * @since 3.3 330 */ 331 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 332 333 /** 334 * @since 3.4 335 */ 336 String LOGIN = "sonar.login"; 337 338 /** 339 * @since 3.4 340 */ 341 String PASSWORD = "sonar.password"; 342 343 /** 344 * @since 3.5 345 */ 346 String TASK = "sonar.task"; 347 348 /** 349 * @since 3.6 350 */ 351 String SCAN_TASK = "scan"; 352 353 /** 354 * @since 3.6 355 */ 356 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 357 358 /** 359 * @since 4.0 360 * @deprecated in 5.1 no more used 361 */ 362 @Deprecated 363 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout"; 364 365 /** 366 * @since 4.0 367 * @deprecated replaced in 5.2 by the permission 'provisioning' 368 */ 369 @Deprecated 370 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation"; 371 372 /** 373 * @since 4.0 374 */ 375 String ANALYSIS_MODE = "sonar.analysis.mode"; 376 377 /** 378 * @since 4.0 379 * @deprecated since 5.2 the default mode is publish 380 */ 381 @Deprecated 382 String ANALYSIS_MODE_ANALYSIS = "analysis"; 383 384 /** 385 * @since 4.0 386 */ 387 String ANALYSIS_MODE_PREVIEW = "preview"; 388 389 /** 390 * @since 5.2 391 */ 392 String ANALYSIS_MODE_ISSUES = "issues"; 393 394 /** 395 * @since 5.2 396 */ 397 String ANALYSIS_MODE_PUBLISH = "publish"; 398 399 /** 400 * @since 4.0 401 * @deprecated since 5.2 402 */ 403 @Deprecated 404 String ANALYSIS_MODE_INCREMENTAL = "incremental"; 405 406 /** 407 * @since 4.0 408 */ 409 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins"; 410 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 411 412 /** 413 * @since 4.0 414 */ 415 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins"; 416 417 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "devcockpit,pdfreport,governance,ldap,authaad,authgithub,authbitbucket,googleanalytics"; 418 419 /** 420 * @since 4.0 421 */ 422 String WORKING_DIRECTORY = "sonar.working.directory"; 423 424 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar"; 425 426 /** 427 * @since 5.2 428 */ 429 String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory"; 430 String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = ""; 431 432 /** 433 * @since 4.2 434 * @deprecated no more used since 5.5 435 */ 436 @Deprecated 437 String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers"; 438 439 /** 440 * @since 4.0 441 * @deprecated no more used since 6.3. See https://jira.sonarsource.com/browse/SONAR-8610 442 */ 443 @Deprecated 444 String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay"; 445 446 /** 447 * @since 4.5 448 * @deprecated no used anymore since 5.2 449 */ 450 @Deprecated 451 String SIZE_METRIC = "sonar.technicalDebt.sizeMetric"; 452 453 /** 454 * @since 4.5 455 */ 456 String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost"; 457 458 /** 459 * @since 4.5 460 */ 461 String DEVELOPMENT_COST_DEF_VALUE = "30"; 462 463 /** 464 * @since 4.5 465 */ 466 String RATING_GRID = "sonar.technicalDebt.ratingGrid"; 467 468 /** 469 * @since 4.5 470 */ 471 String RATING_GRID_DEF_VALUES = "0.05,0.1,0.2,0.5"; 472 473 /** 474 * @since 4.5 475 */ 476 String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters"; 477 478 /** 479 * @since 4.5 480 */ 481 String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language"; 482 483 /** 484 * @since 4.5 485 */ 486 String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days"; 487 488 /** 489 * @since 4.5 490 */ 491 String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric"; 492 493 /** 494 * @since 5.0 495 */ 496 String CATEGORY_SCM = "scm"; 497 498 /** 499 * @since 5.0 500 */ 501 String SCM_DISABLED_KEY = "sonar.scm.disabled"; 502 503 /** 504 * @since 5.0 505 */ 506 String SCM_PROVIDER_KEY = "sonar.scm.provider"; 507 508 /** 509 * @since 5.1 510 * @deprecated since 6.3. No longer taken into consideration as all files are always imported. 511 */ 512 @Deprecated 513 String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files"; 514 515 /** 516 * @since 5.1 517 */ 518 String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin"; 519 520 /** 521 * @since 6.7.6 522 */ 523 String SKIP_FILEMOVE_DETECTION_KEY = "sonar.skipFileMoveDetection"; 524}