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 */ 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 /** 037 * @since 2.11 038 */ 039 String CATEGORY_GENERAL = "general"; 040 041 /** 042 * @since 2.11 043 */ 044 String CATEGORY_CODE_COVERAGE = "codeCoverage"; 045 046 /** 047 * @since 2.11 048 */ 049 String CATEGORY_DUPLICATIONS = "duplications"; 050 051 /** 052 * @since 2.11 053 */ 054 String CATEGORY_SECURITY = "security"; 055 056 /** 057 * @since 2.11 058 */ 059 String CATEGORY_L10N = "localization"; 060 061 /** 062 * @since 2.11 063 */ 064 String CATEGORY_JAVA = "java"; 065 066 /** 067 * @since 2.11 068 */ 069 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews"; 070 071 072 /* Global settings */ 073 String SONAR_HOME = "SONAR_HOME"; 074 String PROJECT_BRANCH_PROPERTY = "sonar.branch"; 075 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion"; 076 077 /** 078 * @since 2.6 079 */ 080 String PROJECT_KEY_PROPERTY = "sonar.projectKey"; 081 082 /** 083 * @since 2.6 084 */ 085 String PROJECT_NAME_PROPERTY = "sonar.projectName"; 086 087 /** 088 * @since 2.6 089 */ 090 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription"; 091 092 /** 093 * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}. 094 * 095 * @since 2.6 096 */ 097 String ENCODING_PROPERTY = "sonar.sourceEncoding"; 098 099 /** 100 * Value format is yyyy-MM-dd 101 */ 102 String PROJECT_DATE_PROPERTY = "sonar.projectDate"; 103 String PROJECT_LANGUAGE_PROPERTY = "sonar.language"; 104 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis"; 105 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions"; 106 107 /** 108 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873 109 */ 110 @Deprecated 111 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration"; 112 113 /* Checkstyle */ 114 String CHECKSTYLE_PLUGIN = "checkstyle"; 115 116 /* Cobertura */ 117 String COBERTURA_PLUGIN = "cobertura"; 118 String COBERTURA_REPORT_PATH_PROPERTY = "sonar.cobertura.reportPath"; 119 String COBERTURA_MAXMEM_PROPERTY = "sonar.cobertura.maxmem"; 120 String COBERTURA_MAXMEM_DEFAULT_VALUE = "64m"; 121 122 /* Sonar Core */ 123 String CORE_PLUGIN = "core"; 124 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale"; 125 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en"; 126 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin"; 127 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources"; 128 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true; 129 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules"; 130 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight"; 131 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10"; 132 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth"; 133 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30; 134 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication"; 135 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false; 136 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp"; 137 String CORE_DEFAULT_GROUP = "sonar.defaultGroup"; 138 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users"; 139 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false; 140 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class"; 141 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure"; 142 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers"; 143 String SERVER_VERSION = "sonar.core.version"; 144 String SERVER_ID = "sonar.core.id"; 145 String SERVER_STARTTIME = "sonar.core.startTime"; // format is yyyy-MM-dd'T'HH:mm:ssZ 146 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies"; 147 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false; 148 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins"; 149 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins"; 150 151 /** 152 * @since 2.10 153 */ 154 String SERVER_BASE_URL = "sonar.core.serverBaseURL"; 155 156 /** 157 * @see #SERVER_BASE_URL 158 * @since 2.10 159 */ 160 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000"; 161 162 /* CPD */ 163 String CPD_PLUGIN = "cpd"; 164 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens"; 165 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100; 166 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals"; 167 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true"; 168 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers"; 169 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false"; 170 String CPD_SKIP_PROPERTY = "sonar.cpd.skip"; 171 172 /** 173 * @since 2.11 174 */ 175 String CPD_ENGINE = "sonar.cpd.engine"; 176 177 /** 178 * @see #CPD_ENGINE 179 * @since 2.11 180 */ 181 String CPD_ENGINE_DEFAULT_VALUE = "sonar"; 182 183 /** 184 * @since 2.11 185 */ 186 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project"; 187 188 /** 189 * @see #CPD_CROSS_RPOJECT 190 * @since 2.11 191 */ 192 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false; 193 194 /* Design */ 195 196 /** 197 * Indicates whether Java bytecode analysis should be skipped. 198 * 199 * @since 2.0 200 */ 201 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign"; 202 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false; 203 204 /** 205 * Indicates whether Package Design Analysis should be skipped. 206 * 207 * @since 2.9 208 */ 209 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign"; 210 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false; 211 212 /* Findbugs */ 213 String FINDBUGS_PLUGIN = "findbugs"; 214 String FINDBUGS_EFFORT_PROPERTY = "sonar.findbugs.effort"; 215 String FINDBUGS_EFFORT_DEFAULT_VALUE = "Default"; 216 String FINDBUGS_REPORT_PATH = "sonar.findbugs.reportPath"; 217 String FINDBUGS_TIMEOUT_PROPERTY = "sonar.findbugs.timeout"; 218 long FINDBUGS_TIMEOUT_DEFAULT_VALUE = 600000; 219 220 /* Google Analytics */ 221 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics"; 222 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account"; 223 224 /* PMD */ 225 String PMD_PLUGIN = "pmd"; 226 227 /* Squid */ 228 String SQUID_PLUGIN = "squid"; 229 230 /* Surefire */ 231 String SUREFIRE_PLUGIN = "surefire"; 232 String SUREFIRE_REPORTS_PATH_PROPERTY = "sonar.surefire.reportsPath"; 233 234 /* Time machine periods */ 235 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period"; 236 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis"; 237 String TIMEMACHINE_MODE_DATE = "date"; 238 String TIMEMACHINE_MODE_VERSION = "version"; 239 String TIMEMACHINE_MODE_DAYS = "days"; 240 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS; 241 String TIMEMACHINE_DEFAULT_PERIOD_2 = "5"; 242 String TIMEMACHINE_DEFAULT_PERIOD_3 = "30"; 243 String TIMEMACHINE_DEFAULT_PERIOD_4 = ""; 244 String TIMEMACHINE_DEFAULT_PERIOD_5 = ""; 245 246 /** 247 * @since 2.11 248 */ 249 String ORGANISATION = "sonar.organisation"; 250 251 /** 252 * @since 2.11 253 */ 254 String PERMANENT_SERVER_ID = "sonar.server_id"; 255 256 /** 257 * @since 2.11 258 */ 259 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address"; 260 }