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 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 /**
076 * @since 3.7
077 */
078 String CATEGORY_LICENSES = "licenses";
079
080 /* Global settings */
081 String SONAR_HOME = "SONAR_HOME";
082 String PROJECT_BRANCH_PROPERTY = "sonar.branch";
083 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion";
084
085 /**
086 * @since 2.6
087 */
088 String PROJECT_KEY_PROPERTY = "sonar.projectKey";
089
090 /**
091 * @since 2.6
092 */
093 String PROJECT_NAME_PROPERTY = "sonar.projectName";
094
095 /**
096 * @since 2.6
097 */
098 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription";
099
100 /**
101 * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}.
102 *
103 * @since 2.6
104 */
105 String ENCODING_PROPERTY = "sonar.sourceEncoding";
106
107 /**
108 * Value format is yyyy-MM-dd
109 */
110 String PROJECT_DATE_PROPERTY = "sonar.projectDate";
111
112 String PROJECT_LANGUAGE_PROPERTY = "sonar.language";
113 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis";
114
115 /* Exclusions */
116 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions";
117 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions";
118
119 /**
120 * @since 3.3
121 */
122 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions";
123 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions";
124 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions";
125 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions";
126 String GLOBAL_TEST_EXCLUSIONS_DEFAULT = "**/package-info.java";
127
128 /**
129 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873
130 */
131 @Deprecated
132 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration";
133
134 /* Sonar Core */
135 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale";
136 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en";
137 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources";
138 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true;
139 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules";
140 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight";
141 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10";
142
143 /**
144 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
145 */
146 @Deprecated
147 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth";
148
149 /**
150 * @deprecated since 2.5. See http://jira.codehaus.org/browse/SONAR-4145
151 */
152 @Deprecated
153 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30;
154
155 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication";
156 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false;
157 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp";
158 String CORE_DEFAULT_GROUP = "sonar.defaultGroup";
159 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users";
160 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false;
161
162 /**
163 * @deprecated since 2.14. See http://jira.codehaus.org/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}.
164 */
165 @Deprecated
166 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class";
167
168 /**
169 * @since 2.14
170 */
171 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm";
172
173 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure";
174 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers";
175
176 /**
177 * @since 3.6
178 */
179 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes";
180
181 String SERVER_VERSION = "sonar.core.version";
182 String SERVER_ID = "sonar.core.id";
183
184 // format is yyyy-MM-dd'T'HH:mm:ssZ
185 String SERVER_STARTTIME = "sonar.core.startTime";
186
187 /**
188 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
189 */
190 @Deprecated
191 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies";
192
193 /**
194 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
195 */
196 @Deprecated
197 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false;
198
199 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins";
200 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins";
201
202 /**
203 * @since 3.4
204 */
205 String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins";
206 String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = "";
207
208 /**
209 * @since 3.4
210 */
211 String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins";
212 String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = "devcockpit,pdfreport,report,scmactivity,views,jira";
213
214 /**
215 * @since 2.10
216 */
217 String SERVER_BASE_URL = "sonar.core.serverBaseURL";
218
219 /**
220 * @see #SERVER_BASE_URL
221 * @since 2.10
222 */
223 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000";
224
225 /* CPD */
226 String CPD_PLUGIN = "cpd";
227
228 /**
229 * @deprecated in 3.1
230 */
231 @Deprecated
232 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens";
233
234 /**
235 * @deprecated in 3.1
236 */
237 @Deprecated
238 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100;
239
240 /**
241 * @deprecated in 3.1
242 */
243 @Deprecated
244 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals";
245
246 /**
247 * @deprecated in 3.1
248 */
249 @Deprecated
250 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true";
251
252 /**
253 * @deprecated in 3.1
254 */
255 @Deprecated
256 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers";
257
258 /**
259 * @deprecated in 3.1
260 */
261 @Deprecated
262 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false";
263
264 String CPD_SKIP_PROPERTY = "sonar.cpd.skip";
265
266 /**
267 * @since 2.11
268 * @deprecated in 3.1
269 */
270 @Deprecated
271 String CPD_ENGINE = "sonar.cpd.engine";
272
273 /**
274 * @see #CPD_ENGINE
275 * @since 2.11
276 * @deprecated in 3.1
277 */
278 @Deprecated
279 String CPD_ENGINE_DEFAULT_VALUE = "sonar";
280
281 /**
282 * @since 2.11
283 */
284 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project";
285
286 /**
287 * @see #CPD_CROSS_RPOJECT
288 * @since 2.11
289 */
290 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false;
291
292 /**
293 * @since 3.5
294 */
295 String CPD_EXCLUSIONS = "sonar.cpd.exclusions";
296
297 /* Design */
298
299 /**
300 * Indicates whether Java bytecode analysis should be skipped.
301 *
302 * @since 2.0
303 */
304 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign";
305 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false;
306
307 /**
308 * Indicates whether Package Design Analysis should be skipped.
309 *
310 * @since 2.9
311 */
312 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign";
313 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false;
314
315 /* Google Analytics */
316 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics";
317 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account";
318
319 /* Time machine periods */
320 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period";
321 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis";
322 String TIMEMACHINE_MODE_DATE = "date";
323 String TIMEMACHINE_MODE_VERSION = "version";
324 String TIMEMACHINE_MODE_DAYS = "days";
325 String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version";
326 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS;
327 String TIMEMACHINE_DEFAULT_PERIOD_2 = "30";
328 String TIMEMACHINE_DEFAULT_PERIOD_3 = TIMEMACHINE_MODE_PREVIOUS_VERSION;
329 String TIMEMACHINE_DEFAULT_PERIOD_4 = "";
330 String TIMEMACHINE_DEFAULT_PERIOD_5 = "";
331
332 /**
333 * @since 2.11
334 */
335 String ORGANISATION = "sonar.organisation";
336
337 /**
338 * @since 2.11
339 */
340 String PERMANENT_SERVER_ID = "sonar.server_id";
341
342 /**
343 * @since 2.11
344 */
345 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address";
346
347 /**
348 * @since 3.3
349 */
350 String LINKS_HOME_PAGE = "sonar.links.homepage";
351
352 /**
353 * @since 3.3
354 */
355 String LINKS_CI = "sonar.links.ci";
356
357 /**
358 * @since 3.3
359 */
360 String LINKS_ISSUE_TRACKER = "sonar.links.issue";
361
362 /**
363 * @since 3.3
364 */
365 String LINKS_SOURCES = "sonar.links.scm";
366
367 /**
368 * @since 3.3
369 */
370 String LINKS_SOURCES_DEV = "sonar.links.scm_dev";
371
372 /**
373 * @since 3.4
374 */
375 String LOGIN = "sonar.login";
376
377 /**
378 * @since 3.4
379 */
380 String PASSWORD = "sonar.password";
381
382 /**
383 * @since 3.4
384 */
385 String DRY_RUN = "sonar.dryRun";
386
387 /**
388 * @since 3.5
389 */
390 String TASK = "sonar.task";
391
392 /**
393 * @since 3.6
394 */
395 String SCAN_TASK = "scan";
396
397 /**
398 * @since 3.6
399 */
400 String PROFILING_LOG_PROPERTY = "sonar.showProfiling";
401
402 /**
403 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin
404 * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details.
405 */
406 @Deprecated
407 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin";
408
409 /**
410 * @since 3.7
411 */
412 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout";
413 }