001/* 002 * Sonar, open source software quality management tool. 003 * Copyright (C) 2008-2012 SonarSource 004 * mailto:contact AT sonarsource DOT com 005 * 006 * Sonar 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 * Sonar 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 017 * License along with Sonar; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 019 */ 020package 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 */ 028public 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 2.11 042 */ 043 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 044 045 /** 046 * @since 2.11 047 */ 048 String CATEGORY_DUPLICATIONS = "duplications"; 049 050 /** 051 * @since 2.11 052 */ 053 String CATEGORY_SECURITY = "security"; 054 055 /** 056 * @since 2.11 057 */ 058 String CATEGORY_L10N = "localization"; 059 060 /** 061 * @since 2.11 062 */ 063 String CATEGORY_JAVA = "java"; 064 065 /** 066 * @since 2.11 067 */ 068 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 069 070 /** 071 * @since 3.3 072 */ 073 String CATEGORY_EXCLUSIONS = "exclusions"; 074 075 /* Global settings */ 076 String SONAR_HOME = "SONAR_HOME"; 077 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 078 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 079 080 /** 081 * @since 2.6 082 */ 083 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 084 085 /** 086 * @since 2.6 087 */ 088 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 089 090 /** 091 * @since 2.6 092 */ 093 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 094 095 /** 096 * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}. 097 * 098 * @since 2.6 099 */ 100 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 101 102 /** 103 * Value format is yyyy-MM-dd 104 */ 105 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 106 107 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 108 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 109 110 /* Exclusions */ 111 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions"; 112 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 113 114 /** 115 * @since 3.3 116 */ 117 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions"; 118 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions"; 119 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions"; 120 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions"; 121 String GLOBAL_TEST_EXCLUSIONS_DEFAULT = "**/package-info.java"; 122 123 /** 124 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873 125 */ 126 @Deprecated 127 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration"; 128 129 /* Sonar Core */ 130 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 131 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 132 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources"; 133 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true; 134 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 135 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight"; 136 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10"; 137 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth"; 138 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30; 139 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 140 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 141 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 142 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 143 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 144 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 145 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 146 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 147 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 148 String SERVER_VERSION = "sonar.core.version"; 149 String SERVER_ID = "sonar.core.id"; 150 String SERVER_STARTTIME = "sonar.core.startTime"; // format is yyyy-MM-dd'T'HH:mm:ssZ 151 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies"; 152 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false; 153 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins"; 154 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins"; 155 156 /** 157 * @since 3.4 158 */ 159 String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins"; 160 String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = ""; 161 162 /** 163 * @since 3.4 164 */ 165 String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins"; 166 String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = "devcockpit,pdfreport,report,scmactivity,views"; 167 168 /** 169 * @since 2.10 170 */ 171 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 172 173 /** 174 * @see #SERVER_BASE_URL 175 * @since 2.10 176 */ 177 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 178 179 /* CPD */ 180 String CPD_PLUGIN = "cpd"; 181 182 /** 183 * @deprecated in 3.1 184 */ 185 @Deprecated 186 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 187 188 /** 189 * @deprecated in 3.1 190 */ 191 @Deprecated 192 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100; 193 194 /** 195 * @deprecated in 3.1 196 */ 197 @Deprecated 198 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals"; 199 200 /** 201 * @deprecated in 3.1 202 */ 203 @Deprecated 204 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true"; 205 206 /** 207 * @deprecated in 3.1 208 */ 209 @Deprecated 210 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers"; 211 212 /** 213 * @deprecated in 3.1 214 */ 215 @Deprecated 216 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false"; 217 218 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 219 220 /** 221 * @since 2.11 222 * @deprecated in 3.1 223 */ 224 @Deprecated 225 String CPD_ENGINE = "sonar.cpd.engine"; 226 227 /** 228 * @see #CPD_ENGINE 229 * @since 2.11 230 * @deprecated in 3.1 231 */ 232 @Deprecated 233 String CPD_ENGINE_DEFAULT_VALUE = "sonar"; 234 235 /** 236 * @since 2.11 237 */ 238 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project"; 239 240 /** 241 * @see #CPD_CROSS_RPOJECT 242 * @since 2.11 243 */ 244 boolean CPD_CROSS_RPOJECT_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 /* Time machine periods */ 274 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period"; 275 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis"; 276 String TIMEMACHINE_MODE_DATE = "date"; 277 String TIMEMACHINE_MODE_VERSION = "version"; 278 String TIMEMACHINE_MODE_DAYS = "days"; 279 String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version"; 280 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS; 281 String TIMEMACHINE_DEFAULT_PERIOD_2 = "5"; 282 String TIMEMACHINE_DEFAULT_PERIOD_3 = "30"; 283 String TIMEMACHINE_DEFAULT_PERIOD_4 = ""; 284 String TIMEMACHINE_DEFAULT_PERIOD_5 = ""; 285 286 /** 287 * @since 2.11 288 */ 289 String ORGANISATION = "sonar.organisation"; 290 291 /** 292 * @since 2.11 293 */ 294 String PERMANENT_SERVER_ID = "sonar.server_id"; 295 296 /** 297 * @since 2.11 298 */ 299 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 300 301 /** 302 * @since 3.3 303 */ 304 String LINKS_HOME_PAGE = "sonar.links.homepage"; 305 306 /** 307 * @since 3.3 308 */ 309 String LINKS_CI = "sonar.links.ci"; 310 311 /** 312 * @since 3.3 313 */ 314 String LINKS_ISSUE_TRACKER = "sonar.links.issue"; 315 316 /** 317 * @since 3.3 318 */ 319 String LINKS_SOURCES = "sonar.links.scm"; 320 321 /** 322 * @since 3.3 323 */ 324 String LINKS_SOURCES_DEV = "sonar.links.scm_dev"; 325 326 /** 327 * @since 3.4 328 */ 329 String LOGIN = "sonar.login"; 330 331 /** 332 * @since 3.4 333 */ 334 String PASSWORD = "sonar.password"; 335 336 /** 337 * @since 3.4 338 */ 339 String DRY_RUN = "sonar.dryRun"; 340 341 /** 342 * @since 3.5 343 */ 344 String TASK = "sonar.task"; 345 346 /** 347 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin 348 * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details. 349 */ 350 @Deprecated 351 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 352}