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; 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 3.7 111 */ 112 String CATEGORY_LICENSES = "licenses"; 113 114 /** 115 * @since 4.0 116 */ 117 String CATEGORY_TECHNICAL_DEBT = "technicalDebt"; 118 119 /* Global settings */ 120 String SONAR_HOME = "SONAR_HOME"; 121 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 122 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 123 124 /** 125 * @since 2.6 126 */ 127 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 128 129 /** 130 * @since 2.6 131 */ 132 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 133 134 /** 135 * @since 2.6 136 */ 137 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 138 139 /** 140 * To determine value of this property use {@link FileSystem#encoding()}. 141 * 142 * @since 2.6 143 */ 144 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 145 146 /** 147 * Value format is yyyy-MM-dd 148 */ 149 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 150 151 /** 152 * @deprecated since 4.2 projects are now multi-language 153 */ 154 @Deprecated 155 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 156 157 /* Exclusions */ 158 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 159 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 160 161 /* Coverage exclusions */ 162 String PROJECT_COVERAGE_EXCLUSIONS_PROPERTY = "sonar.coverage.exclusions"; 163 164 /** 165 * @since 3.3 166 */ 167 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 168 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 169 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 170 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 171 172 /* Sonar Core */ 173 174 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 175 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 176 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 177 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 178 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 179 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 180 181 /** 182 * @deprecated since 2.14. See http://jira.sonarsource.com/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}. 183 */ 184 @Deprecated 185 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 186 187 /** 188 * @since 2.14 189 */ 190 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm"; 191 192 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 193 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 194 195 /** 196 * @since 3.6 197 * @deprecated since 5.4. This feature is not supported anymore. See http://jira.sonarsource.com/browse/SONAR-7219 198 */ 199 @Deprecated 200 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes"; 201 202 String SERVER_VERSION = "sonar.core.version"; 203 String SERVER_ID = "sonar.core.id"; 204 205 // format is yyyy-MM-dd'T'HH:mm:ssZ 206 String SERVER_STARTTIME = "sonar.core.startTime"; 207 208 /** 209 * This property defines the SonarQubeServer base url, such as <i>http://yourhost.yourdomain/sonar</i>. 210 * When this property is not set, the base url of the SonarQube server is provided by {@link Server#getURL()}. 211 * 212 * @since 2.10 213 */ 214 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 215 216 /** 217 * @see #SERVER_BASE_URL 218 * @since 2.10 219 * @deprecated since 5.6. This constant default value is incorrect if a host and/or a port and/or a context have been configured. 220 * The correct default value when {@link #SERVER_BASE_URL} is not set is provided by {@link Server#getURL()}. 221 */ 222 @Deprecated 223 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 224 225 /* CPD */ 226 String CPD_PLUGIN = "cpd"; 227 228 /** 229 * @deprecated in 5.0 230 * @see <a href="https://jira.sonarsource.com/browse/SONAR-5339">SONAR-5339</a> 231 */ 232 @Deprecated 233 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 234 235 /** 236 * @since 2.11 237 */ 238 String CPD_CROSS_PROJECT = "sonar.cpd.cross_project"; 239 240 /** 241 * @see #CPD_CROSS_PROJECT 242 * @since 2.11 243 */ 244 boolean CPD_CROSS_PROJECT_DEFAULT_VALUE = false; 245 246 /** 247 * @since 3.5 248 */ 249 String CPD_EXCLUSIONS = "sonar.cpd.exclusions"; 250 251 /* Design */ 252 253 /** 254 * Indicates whether Java bytecode analysis should be skipped. 255 * 256 * @since 2.0 257 */ 258 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 259 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 260 261 /** 262 * Indicates whether Package Design Analysis should be skipped. 263 * 264 * @since 2.9 265 */ 266 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 267 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 268 269 /* Google Analytics */ 270 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 271 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 272 273 /** 274 * @since 2.11 275 */ 276 String ORGANISATION = "sonar.organisation"; 277 278 /** 279 * @since 2.11 280 */ 281 String PERMANENT_SERVER_ID = "sonar.server_id"; 282 283 /** 284 * @since 2.11 285 */ 286 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 287 288 /** 289 * @since 3.3 290 */ 291 String LINKS_HOME_PAGE = "sonar.links.homepage"; 292 293 /** 294 * @since 3.3 295 */ 296 String LINKS_CI = "sonar.links.ci"; 297 298 /** 299 * @since 3.3 300 */ 301 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 302 303 /** 304 * @since 3.3 305 */ 306 String LINKS_SOURCES = "sonar.links.scm"; 307 308 /** 309 * @since 3.3 310 */ 311 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 312 313 /** 314 * @since 3.4 315 */ 316 String LOGIN = "sonar.login"; 317 318 /** 319 * @since 3.4 320 */ 321 String PASSWORD = "sonar.password"; 322 323 /** 324 * @since 3.5 325 */ 326 String TASK = "sonar.task"; 327 328 /** 329 * @since 3.6 330 */ 331 String SCAN_TASK = "scan"; 332 333 /** 334 * @since 3.6 335 */ 336 String PROFILING_LOG_PROPERTY = "sonar.showProfiling"; 337 338 /** 339 * @since 4.0 340 * @deprecated in 5.1 no more used 341 */ 342 @Deprecated 343 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout"; 344 345 /** 346 * @since 4.0 347 * @deprecated replaced in 5.2 by the permission 'provisioning' 348 */ 349 @Deprecated 350 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation"; 351 352 /** 353 * @since 4.0 354 */ 355 String ANALYSIS_MODE = "sonar.analysis.mode"; 356 357 /** 358 * @since 4.0 359 * @deprecated since 5.2 the default mode is publish 360 */ 361 @Deprecated 362 String ANALYSIS_MODE_ANALYSIS = "analysis"; 363 364 /** 365 * @since 4.0 366 */ 367 String ANALYSIS_MODE_PREVIEW = "preview"; 368 369 /** 370 * @since 5.2 371 */ 372 String ANALYSIS_MODE_ISSUES = "issues"; 373 374 /** 375 * @since 5.2 376 */ 377 String ANALYSIS_MODE_PUBLISH = "publish"; 378 379 /** 380 * @since 4.0 381 * @deprecated since 5.2 382 */ 383 @Deprecated 384 String ANALYSIS_MODE_INCREMENTAL = "incremental"; 385 386 /** 387 * @since 4.0 388 */ 389 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins"; 390 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 391 392 /** 393 * @since 4.0 394 */ 395 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins"; 396 397 // SONAR-6704 add scmstats to the list 398 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker,scmstats"; 399 400 /** 401 * @since 4.0 402 */ 403 String WORKING_DIRECTORY = "sonar.working.directory"; 404 405 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar"; 406 407 /** 408 * @since 5.2 409 */ 410 String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory"; 411 String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = ""; 412 413 /** 414 * @since 4.2 415 * @deprecated no more used since 5.5 416 */ 417 @Deprecated 418 String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers"; 419 420 /** 421 * @since 4.0 422 */ 423 String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay"; 424 425 /** 426 * @since 4.5 427 * @deprecated no used anymore since 5.2 428 */ 429 @Deprecated 430 String SIZE_METRIC = "sonar.technicalDebt.sizeMetric"; 431 432 /** 433 * @since 4.5 434 */ 435 String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost"; 436 437 /** 438 * @since 4.5 439 */ 440 String DEVELOPMENT_COST_DEF_VALUE = "30"; 441 442 /** 443 * @since 4.5 444 */ 445 String RATING_GRID = "sonar.technicalDebt.ratingGrid"; 446 447 /** 448 * @since 4.5 449 */ 450 String RATING_GRID_DEF_VALUES = "0.05,0.1,0.2,0.5"; 451 452 /** 453 * @since 4.5 454 */ 455 String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters"; 456 457 /** 458 * @since 4.5 459 */ 460 String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language"; 461 462 /** 463 * @since 4.5 464 */ 465 String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days"; 466 467 /** 468 * @since 4.5 469 */ 470 String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric"; 471 472 /** 473 * @since 5.0 474 */ 475 String CATEGORY_SCM = "scm"; 476 477 /** 478 * @since 5.0 479 */ 480 String SCM_DISABLED_KEY = "sonar.scm.disabled"; 481 482 /** 483 * @since 5.0 484 */ 485 String SCM_PROVIDER_KEY = "sonar.scm.provider"; 486 487 /** 488 * @since 5.1 489 */ 490 String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files"; 491 492 /** 493 * @since 5.1 494 */ 495 String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin"; 496 497}