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