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; 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 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 210 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 211 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 212 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 213 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 214 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 215 216 /** 217 * @deprecated since 2.14. See http://jira.sonarsource.com/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}. 218 */ 219 @Deprecated 220 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 221 222 /** 223 * @since 2.14 224 */ 225 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm"; 226 227 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 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_VERSION = "sonar.core.version"; 238 String SERVER_ID = "sonar.core.id"; 239 240 // format is yyyy-MM-dd'T'HH:mm:ssZ 241 String SERVER_STARTTIME = "sonar.core.startTime"; 242 243 /** 244 * @since 2.10 245 */ 246 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 247 248 /** 249 * @see #SERVER_BASE_URL 250 * @since 2.10 251 */ 252 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 253 254 /* CPD */ 255 String CPD_PLUGIN = "cpd"; 256 257 /** 258 * @deprecated in 5.0 259 * @see <a href="https://jira.sonarsource.com/browse/SONAR-5339">SONAR-5339</a> 260 */ 261 @Deprecated 262 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 263 264 /** 265 * @since 2.11 266 */ 267 String CPD_CROSS_PROJECT = "sonar.cpd.cross_project"; 268 269 /** 270 * @see #CPD_CROSS_PROJECT 271 * @since 2.11 272 */ 273 boolean CPD_CROSS_PROJECT_DEFAULT_VALUE = false; 274 275 /** 276 * @since 3.5 277 */ 278 String CPD_EXCLUSIONS = "sonar.cpd.exclusions"; 279 280 /* Design */ 281 282 /** 283 * Indicates whether Java bytecode analysis should be skipped. 284 * 285 * @since 2.0 286 */ 287 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 288 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 289 290 /** 291 * Indicates whether Package Design Analysis should be skipped. 292 * 293 * @since 2.9 294 */ 295 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 296 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 297 298 /* Google Analytics */ 299 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 300 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 301 302 /** 303 * @since 2.11 304 */ 305 String ORGANISATION = "sonar.organisation"; 306 307 /** 308 * @since 2.11 309 */ 310 String PERMANENT_SERVER_ID = "sonar.server_id"; 311 312 /** 313 * @since 2.11 314 */ 315 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 316 317 /** 318 * @since 3.3 319 */ 320 String LINKS_HOME_PAGE = "sonar.links.homepage"; 321 322 /** 323 * @since 3.3 324 */ 325 String LINKS_CI = "sonar.links.ci"; 326 327 /** 328 * @since 3.3 329 */ 330 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 331 332 /** 333 * @since 3.3 334 */ 335 String LINKS_SOURCES = "sonar.links.scm"; 336 337 /** 338 * @since 3.3 339 */ 340 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 341 342 /** 343 * @since 3.4 344 */ 345 String LOGIN = "sonar.login"; 346 347 /** 348 * @since 3.4 349 */ 350 String PASSWORD = "sonar.password"; 351 352 /** 353 * @since 3.5 354 */ 355 String TASK = "sonar.task"; 356 357 /** 358 * @since 3.6 359 */ 360 String SCAN_TASK = "scan"; 361 362 /** 363 * @since 3.6 364 */ 365 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 366 367 /** 368 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin 369 * See http://jira.sonarsource.com/browse/SONARJAVA-39 for more details. 370 */ 371 @Deprecated 372 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 373 374 /** 375 * @since 3.7 376 * @deprecated in 4.0 no more used 377 */ 378 @Deprecated 379 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout"; 380 381 /** 382 * @since 4.0 383 * @deprecated in 5.1 no more used 384 */ 385 @Deprecated 386 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout"; 387 388 /** 389 * @since 4.0 390 * @deprecated replaced in 5.2 by the permission 'provisioning' 391 */ 392 @Deprecated 393 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation"; 394 395 /** 396 * @since 4.0 397 */ 398 String ANALYSIS_MODE = "sonar.analysis.mode"; 399 400 /** 401 * @since 4.0 402 * @deprecated since 5.2 the default mode is publish 403 */ 404 @Deprecated 405 String ANALYSIS_MODE_ANALYSIS = "analysis"; 406 407 /** 408 * @since 4.0 409 */ 410 String ANALYSIS_MODE_PREVIEW = "preview"; 411 412 /** 413 * @since 5.2 414 */ 415 String ANALYSIS_MODE_ISSUES = "issues"; 416 417 /** 418 * @since 5.2 419 */ 420 String ANALYSIS_MODE_PUBLISH = "publish"; 421 422 /** 423 * @since 4.0 424 * @deprecated since 5.2 425 */ 426 @Deprecated 427 String ANALYSIS_MODE_INCREMENTAL = "incremental"; 428 429 /** 430 * @since 4.0 431 */ 432 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins"; 433 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 434 435 /** 436 * @since 4.0 437 */ 438 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins"; 439 440 // SONAR-6704 add scmstats to the list 441 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker,scmstats"; 442 443 /** 444 * @since 4.0 445 */ 446 String WORKING_DIRECTORY = "sonar.working.directory"; 447 448 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar"; 449 450 /** 451 * @since 5.2 452 */ 453 String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory"; 454 String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = ""; 455 456 /** 457 * @since 4.2 458 * @deprecated no more used since 5.5 459 */ 460 @Deprecated 461 String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers"; 462 463 /** 464 * @since 4.0 465 */ 466 String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay"; 467 468 /** 469 * @since 4.5 470 * @deprecated no used anymore since 5.2 471 */ 472 @Deprecated 473 String SIZE_METRIC = "sonar.technicalDebt.sizeMetric"; 474 475 /** 476 * @since 4.5 477 */ 478 String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost"; 479 480 /** 481 * @since 4.5 482 */ 483 String DEVELOPMENT_COST_DEF_VALUE = "30"; 484 485 /** 486 * @since 4.5 487 */ 488 String RATING_GRID = "sonar.technicalDebt.ratingGrid"; 489 490 /** 491 * @since 4.5 492 */ 493 String RATING_GRID_DEF_VALUES = "0.05,0.1,0.2,0.5"; 494 495 /** 496 * @since 4.5 497 */ 498 String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters"; 499 500 /** 501 * @since 4.5 502 */ 503 String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language"; 504 505 /** 506 * @since 4.5 507 */ 508 String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days"; 509 510 /** 511 * @since 4.5 512 */ 513 String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric"; 514 515 /** 516 * @since 5.0 517 */ 518 String CATEGORY_SCM = "scm"; 519 520 /** 521 * @since 5.0 522 */ 523 String SCM_DISABLED_KEY = "sonar.scm.disabled"; 524 525 /** 526 * @since 5.0 527 */ 528 String SCM_PROVIDER_KEY = "sonar.scm.provider"; 529 530 /** 531 * @since 5.1 532 */ 533 String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files"; 534 535 /** 536 * @since 5.1 537 */ 538 String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin"; 539 540}