001 /*
002 * SonarQube, open source software quality management tool.
003 * Copyright (C) 2008-2014 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 * @see #SUBCATEGORY_DUPLICATIONS
067 * @since 2.11
068 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles
069 */
070 @Deprecated
071 String CATEGORY_DUPLICATIONS = "duplications";
072
073 /**
074 * @since 2.11
075 */
076 String CATEGORY_SECURITY = "security";
077
078 /**
079 * @see #SUBCATEGORY_L10N
080 * @since 2.11
081 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles
082 */
083 @Deprecated
084 String CATEGORY_L10N = "localization";
085
086 /**
087 * @since 2.11
088 */
089 String CATEGORY_JAVA = "java";
090
091 /**
092 * @see #SUBCATEGORY_DIFFERENTIAL_VIEWS
093 * @since 2.11
094 * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles
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 /**
162 * @deprecated since 4.2 project are now multi-language
163 */
164 @Deprecated
165 String PROJECT_LANGUAGE_PROPERTY = "sonar.language";
166
167 /**
168 * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5185
169 */
170 @Deprecated
171 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis";
172
173 /* Exclusions */
174 String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions";
175 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions";
176
177 /**
178 * @since 3.3
179 */
180 String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions";
181 String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions";
182 String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions";
183 String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions";
184 /**
185 * @deprecated since 4.2. See http://jira.codehaus.org/browse/SONAR-5058
186 */
187 @Deprecated
188 String GLOBAL_TEST_EXCLUSIONS_DEFAULT = "";
189
190 /**
191 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873
192 */
193 @Deprecated
194 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration";
195
196 /* Sonar Core */
197
198 /**
199 * @deprecated since 4.1. See http://jira.codehaus.org/browse/SONAR-4875
200 */
201 @Deprecated
202 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale";
203
204 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en";
205 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources";
206 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true;
207
208 /**
209 * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109
210 */
211 @Deprecated
212 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules";
213
214 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight";
215 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10";
216
217 /**
218 * @since 4.0
219 * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109
220 */
221 @Deprecated
222 String CORE_INCLUDED_MODULES_PROPERTY = "sonar.includedModules";
223
224 /**
225 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
226 */
227 @Deprecated
228 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth";
229
230 /**
231 * @deprecated since 2.5. See http://jira.codehaus.org/browse/SONAR-4145
232 */
233 @Deprecated
234 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30;
235
236 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication";
237 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false;
238 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp";
239 String CORE_DEFAULT_GROUP = "sonar.defaultGroup";
240 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users";
241 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false;
242
243 /**
244 * @deprecated since 2.14. See http://jira.codehaus.org/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}.
245 */
246 @Deprecated
247 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class";
248
249 /**
250 * @since 2.14
251 */
252 String CORE_AUTHENTICATOR_REALM = "sonar.security.realm";
253
254 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure";
255 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers";
256
257 /**
258 * @since 3.6
259 */
260 String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes";
261
262 String SERVER_VERSION = "sonar.core.version";
263 String SERVER_ID = "sonar.core.id";
264
265 // format is yyyy-MM-dd'T'HH:mm:ssZ
266 String SERVER_STARTTIME = "sonar.core.startTime";
267
268 /**
269 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
270 */
271 @Deprecated
272 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies";
273
274 /**
275 * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
276 */
277 @Deprecated
278 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false;
279
280 /**
281 * @since 2.10
282 */
283 String SERVER_BASE_URL = "sonar.core.serverBaseURL";
284
285 /**
286 * @see #SERVER_BASE_URL
287 * @since 2.10
288 */
289 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000";
290
291 /* CPD */
292 String CPD_PLUGIN = "cpd";
293
294 /**
295 * @deprecated in 3.1
296 */
297 @Deprecated
298 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens";
299
300 /**
301 * @deprecated in 3.1
302 */
303 @Deprecated
304 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100;
305
306 /**
307 * @deprecated in 3.1
308 */
309 @Deprecated
310 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals";
311
312 /**
313 * @deprecated in 3.1
314 */
315 @Deprecated
316 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true";
317
318 /**
319 * @deprecated in 3.1
320 */
321 @Deprecated
322 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers";
323
324 /**
325 * @deprecated in 3.1
326 */
327 @Deprecated
328 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false";
329
330 String CPD_SKIP_PROPERTY = "sonar.cpd.skip";
331
332 /**
333 * @since 2.11
334 * @deprecated in 3.1
335 */
336 @Deprecated
337 String CPD_ENGINE = "sonar.cpd.engine";
338
339 /**
340 * @see #CPD_ENGINE
341 * @since 2.11
342 * @deprecated in 3.1
343 */
344 @Deprecated
345 String CPD_ENGINE_DEFAULT_VALUE = "sonar";
346
347 /**
348 * @since 2.11
349 */
350 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project";
351
352 /**
353 * @see #CPD_CROSS_RPOJECT
354 * @since 2.11
355 */
356 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false;
357
358 /**
359 * @since 3.5
360 */
361 String CPD_EXCLUSIONS = "sonar.cpd.exclusions";
362
363 /* Design */
364
365 /**
366 * Indicates whether Java bytecode analysis should be skipped.
367 *
368 * @since 2.0
369 */
370 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign";
371 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false;
372
373 /**
374 * Indicates whether Package Design Analysis should be skipped.
375 *
376 * @since 2.9
377 */
378 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign";
379 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false;
380
381 /* Google Analytics */
382 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics";
383 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account";
384
385 /* Time machine periods */
386 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period";
387 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis";
388 String TIMEMACHINE_MODE_DATE = "date";
389 String TIMEMACHINE_MODE_VERSION = "version";
390 String TIMEMACHINE_MODE_DAYS = "days";
391 String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version";
392 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS;
393 String TIMEMACHINE_DEFAULT_PERIOD_2 = "30";
394 String TIMEMACHINE_DEFAULT_PERIOD_3 = TIMEMACHINE_MODE_PREVIOUS_VERSION;
395 String TIMEMACHINE_DEFAULT_PERIOD_4 = "";
396 String TIMEMACHINE_DEFAULT_PERIOD_5 = "";
397
398 /**
399 * @since 2.11
400 */
401 String ORGANISATION = "sonar.organisation";
402
403 /**
404 * @since 2.11
405 */
406 String PERMANENT_SERVER_ID = "sonar.server_id";
407
408 /**
409 * @since 2.11
410 */
411 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address";
412
413 /**
414 * @since 3.3
415 */
416 String LINKS_HOME_PAGE = "sonar.links.homepage";
417
418 /**
419 * @since 3.3
420 */
421 String LINKS_CI = "sonar.links.ci";
422
423 /**
424 * @since 3.3
425 */
426 String LINKS_ISSUE_TRACKER = "sonar.links.issue";
427
428 /**
429 * @since 3.3
430 */
431 String LINKS_SOURCES = "sonar.links.scm";
432
433 /**
434 * @since 3.3
435 */
436 String LINKS_SOURCES_DEV = "sonar.links.scm_dev";
437
438 /**
439 * @since 3.4
440 */
441 String LOGIN = "sonar.login";
442
443 /**
444 * @since 3.4
445 */
446 String PASSWORD = "sonar.password";
447
448 /**
449 * @since 3.4
450 */
451 String DRY_RUN = "sonar.dryRun";
452
453 /**
454 * @since 3.5
455 */
456 String TASK = "sonar.task";
457
458 /**
459 * @since 3.6
460 */
461 String SCAN_TASK = "scan";
462
463 /**
464 * @since 3.6
465 */
466 String PROFILING_LOG_PROPERTY = "sonar.showProfiling";
467
468 /**
469 * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin
470 * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details.
471 */
472 @Deprecated
473 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin";
474
475 /**
476 * @since 3.7
477 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_READ_TIMEOUT_SEC}
478 */
479 @Deprecated
480 String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout";
481
482 /**
483 * @since 4.0
484 */
485 String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout";
486
487 /**
488 * @since 4.0
489 */
490 String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation";
491
492 /**
493 * @since 4.0
494 */
495 String ANALYSIS_MODE = "sonar.analysis.mode";
496
497 /**
498 * @since 4.0
499 */
500 String ANALYSIS_MODE_ANALYSIS = "analysis";
501
502 /**
503 * @since 4.0
504 */
505 String ANALYSIS_MODE_PREVIEW = "preview";
506
507 /**
508 * @since 4.0
509 */
510 String ANALYSIS_MODE_INCREMENTAL = "incremental";
511
512 /**
513 * @since 4.4
514 */
515 String ANALYSIS_MODE_SENSOR = "sensor";
516
517 /**
518 * @since 4.0
519 */
520 String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins";
521 String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = "";
522
523 /**
524 * @since 4.0
525 */
526 String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins";
527 String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,scmactivity,views,jira,buildbreaker";
528
529 /**
530 * @since 4.0
531 */
532 String WORKING_DIRECTORY = "sonar.working.directory";
533 String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar";
534
535 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins";
536 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins";
537
538 /**
539 * @since 3.4
540 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS}
541 */
542 @Deprecated
543 String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins";
544 /**
545 * @since 3.4
546 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE}
547 */
548 @Deprecated
549 String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE;
550
551 /**
552 * @since 3.4
553 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS}
554 */
555 @Deprecated
556 String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins";
557 /**
558 * @since 3.4
559 * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE}
560 */
561 @Deprecated
562 String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE;
563
564 /**
565 * @since 4.2
566 */
567 String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers";
568
569 /**
570 * @since 4.0
571 */
572 String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay";
573 }