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