001 /* 002 * SonarQube, open source software quality management tool. 003 * Copyright (C) 2008-2013 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 */ 020 package org.sonar.api; 021 022 /** 023 * CoreProperties is used to group various properties of Sonar as well 024 * as default values of configuration in a single place 025 * 026 * @since 1.11 027 */ 028 public interface CoreProperties { 029 030 /** 031 * @since 3.0 032 */ 033 String ENCRYPTION_SECRET_KEY_PATH = "sonar.secretKeyPath"; 034 035 /** 036 * @since 2.11 037 */ 038 String CATEGORY_GENERAL = "general"; 039 040 /** 041 * @since 4.0 042 */ 043 String SUBCATEGORY_DATABASE_CLEANER = "databaseCleaner"; 044 045 /** 046 * @since 4.0 047 */ 048 String SUBCATEGORY_DUPLICATIONS = "duplications"; 049 050 /** 051 * @since 4.0 052 */ 053 String SUBCATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 054 055 /** 056 *@since 4.0 057 */ 058 String SUBCATEGORY_L10N = "localization"; 059 060 /** 061 * @since 2.11 062 */ 063 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 064 065 /** 066 * @since 2.11 067 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles 068 * @see #SUBCATEGORY_DUPLICATIONS 069 */ 070 @Deprecated 071 String CATEGORY_DUPLICATIONS = "duplications"; 072 073 /** 074 * @since 2.11 075 */ 076 String CATEGORY_SECURITY = "security"; 077 078 /** 079 * @since 2.11 080 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles 081 * @see #SUBCATEGORY_L10N 082 */ 083 @Deprecated 084 String CATEGORY_L10N = "localization"; 085 086 /** 087 * @since 2.11 088 */ 089 String CATEGORY_JAVA = "java"; 090 091 /** 092 * @since 2.11 093 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles 094 * @see #SUBCATEGORY_DIFFERENTIAL_VIEWS 095 */ 096 @Deprecated 097 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 098 099 /** 100 * @since 3.3 101 */ 102 String CATEGORY_EXCLUSIONS = "exclusions"; 103 104 /** 105 * @since 4.0 106 */ 107 String SUBCATEGORY_FILES_EXCLUSIONS = "files"; 108 109 /** 110 * @since 4.0 111 */ 112 String SUBCATEGORY_DUPLICATIONS_EXCLUSIONS = "duplications"; 113 114 /** 115 * @since 4.0 116 */ 117 String SUBCATEGORY_COVERAGE_EXCLUSIONS = "coverage"; 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 /* Global settings */ 130 String SONAR_HOME = "SONAR_HOME"; 131 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 132 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 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 org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}. 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 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 162 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 163 164 /* Exclusions */ 165 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 166 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 167 168 /** 169 * @since 3.3 170 */ 171 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 172 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 173 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 174 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 175 String GLOBAL_TEST_EXCLUSIONS_DEFAULT = "**/package-info.java"; 176 177 /** 178 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873 179 */ 180 @Deprecated 181 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration"; 182 183 /* Sonar Core */ 184 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 185 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 186 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources"; 187 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true; 188 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 189 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight"; 190 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10"; 191 192 /** 193 * @since 4.0 194 */ 195 String CORE_INCLUDED_MODULES_PROPERTY = "sonar.includedModules"; 196 197 /** 198 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 199 */ 200 @Deprecated 201 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth"; 202 203 /** 204 * @deprecated since 2.5. See http://jira.codehaus.org/browse/SONAR-4145 205 */ 206 @Deprecated 207 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30; 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.codehaus.org/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 */ 233 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes"; 234 235 String SERVER_VERSION = "sonar.core.version"; 236 String SERVER_ID = "sonar.core.id"; 237 238 // format is yyyy-MM-dd'T'HH:mm:ssZ 239 String SERVER_STARTTIME = "sonar.core.startTime"; 240 241 /** 242 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 243 */ 244 @Deprecated 245 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies"; 246 247 /** 248 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145 249 */ 250 @Deprecated 251 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false; 252 253 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins"; 254 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins"; 255 256 /** 257 * @since 3.4 258 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS} 259 */ 260 @Deprecated 261 String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins"; 262 /** 263 * @since 3.4 264 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE} 265 */ 266 @Deprecated 267 String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 268 269 /** 270 * @since 3.4 271 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS} 272 */ 273 @Deprecated 274 String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins"; 275 /** 276 * @since 3.4 277 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE} 278 */ 279 @Deprecated 280 String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = "devcockpit,pdfreport,report,scmactivity,views,jira"; 281 282 /** 283 * @since 2.10 284 */ 285 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 286 287 /** 288 * @see #SERVER_BASE_URL 289 * @since 2.10 290 */ 291 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 292 293 /* CPD */ 294 String CPD_PLUGIN = "cpd"; 295 296 /** 297 * @deprecated in 3.1 298 */ 299 @Deprecated 300 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 301 302 /** 303 * @deprecated in 3.1 304 */ 305 @Deprecated 306 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100; 307 308 /** 309 * @deprecated in 3.1 310 */ 311 @Deprecated 312 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals"; 313 314 /** 315 * @deprecated in 3.1 316 */ 317 @Deprecated 318 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true"; 319 320 /** 321 * @deprecated in 3.1 322 */ 323 @Deprecated 324 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers"; 325 326 /** 327 * @deprecated in 3.1 328 */ 329 @Deprecated 330 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false"; 331 332 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 333 334 /** 335 * @since 2.11 336 * @deprecated in 3.1 337 */ 338 @Deprecated 339 String CPD_ENGINE = "sonar.cpd.engine"; 340 341 /** 342 * @see #CPD_ENGINE 343 * @since 2.11 344 * @deprecated in 3.1 345 */ 346 @Deprecated 347 String CPD_ENGINE_DEFAULT_VALUE = "sonar"; 348 349 /** 350 * @since 2.11 351 */ 352 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project"; 353 354 /** 355 * @see #CPD_CROSS_RPOJECT 356 * @since 2.11 357 */ 358 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false; 359 360 /** 361 * @since 3.5 362 */ 363 String CPD_EXCLUSIONS = "sonar.cpd.exclusions"; 364 365 /* Design */ 366 367 /** 368 * Indicates whether Java bytecode analysis should be skipped. 369 * 370 * @since 2.0 371 */ 372 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 373 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 374 375 /** 376 * Indicates whether Package Design Analysis should be skipped. 377 * 378 * @since 2.9 379 */ 380 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 381 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 382 383 /* Google Analytics */ 384 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 385 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 386 387 /* Time machine periods */ 388 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period"; 389 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis"; 390 String TIMEMACHINE_MODE_DATE = "date"; 391 String TIMEMACHINE_MODE_VERSION = "version"; 392 String TIMEMACHINE_MODE_DAYS = "days"; 393 String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version"; 394 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS; 395 String TIMEMACHINE_DEFAULT_PERIOD_2 = "30"; 396 String TIMEMACHINE_DEFAULT_PERIOD_3 = TIMEMACHINE_MODE_PREVIOUS_VERSION; 397 String TIMEMACHINE_DEFAULT_PERIOD_4 = ""; 398 String TIMEMACHINE_DEFAULT_PERIOD_5 = ""; 399 400 /** 401 * @since 2.11 402 */ 403 String ORGANISATION = "sonar.organisation"; 404 405 /** 406 * @since 2.11 407 */ 408 String PERMANENT_SERVER_ID = "sonar.server_id"; 409 410 /** 411 * @since 2.11 412 */ 413 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 414 415 /** 416 * @since 3.3 417 */ 418 String LINKS_HOME_PAGE = "sonar.links.homepage"; 419 420 /** 421 * @since 3.3 422 */ 423 String LINKS_CI = "sonar.links.ci"; 424 425 /** 426 * @since 3.3 427 */ 428 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 429 430 /** 431 * @since 3.3 432 */ 433 String LINKS_SOURCES = "sonar.links.scm"; 434 435 /** 436 * @since 3.3 437 */ 438 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 439 440 /** 441 * @since 3.4 442 */ 443 String LOGIN = "sonar.login"; 444 445 /** 446 * @since 3.4 447 */ 448 String PASSWORD = "sonar.password"; 449 450 /** 451 * @since 3.4 452 */ 453 String DRY_RUN = "sonar.dryRun"; 454 455 /** 456 * @since 3.5 457 */ 458 String TASK = "sonar.task"; 459 460 /** 461 * @since 3.6 462 */ 463 String SCAN_TASK = "scan"; 464 465 /** 466 * @since 3.6 467 */ 468 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 469 470 /** 471 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin 472 * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details. 473 */ 474 @Deprecated 475 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 476 477 /** 478 * @since 3.7 479 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_READ_TIMEOUT_SEC} 480 */ 481 @Deprecated 482 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout"; 483 484 /** 485 * @since 4.0 486 */ 487 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout"; 488 489 /** 490 * @since 4.0 491 */ 492 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation"; 493 494 /** 495 * @since 4.0 496 */ 497 String ANALYSIS_MODE = "sonar.analysis.mode"; 498 499 /** 500 * @since 4.0 501 */ 502 String ANALYSIS_MODE_ANALYSIS = "analysis"; 503 504 /** 505 * @since 4.0 506 */ 507 String ANALYSIS_MODE_PREVIEW = "preview"; 508 509 /** 510 * @since 4.0 511 */ 512 String ANALYSIS_MODE_INCREMENTAL = "incremental"; 513 514 /** 515 * @since 4.0 516 */ 517 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins"; 518 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 519 520 /** 521 * @since 4.0 522 */ 523 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins"; 524 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "devcockpit,pdfreport,report,scmactivity,views,jira"; 525 526 /** 527 * @since 4.0 528 */ 529 String WORKING_DIRECTORY = "sonar.working.directory"; 530 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar"; 531 }