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 */
020package org.sonar.api;
021
022/**
023 * Non-exhaustive list of constants of core properties.
024 *
025 * @since 1.11
026 */
027public interface CoreProperties {
028
029  /**
030   * @since 3.0
031   */
032  String ENCRYPTION_SECRET_KEY_PATH = "sonar.secretKeyPath";
033
034  /**
035   * @since 2.11
036   */
037  String CATEGORY_GENERAL = "general";
038
039  /**
040   * @since 4.0
041   */
042  String SUBCATEGORY_DATABASE_CLEANER = "databaseCleaner";
043
044  /**
045   * @since 4.0
046   */
047  String SUBCATEGORY_DUPLICATIONS = "duplications";
048
049  /**
050   * @since 4.0
051   */
052  String SUBCATEGORY_DIFFERENTIAL_VIEWS = "differentialViews";
053
054  /**
055   * @since 4.0
056   */
057  String SUBCATEGORY_L10N = "localization";
058
059  /**
060   * @since 2.11
061   */
062  String CATEGORY_CODE_COVERAGE = "codeCoverage";
063
064  /**
065   * @see #SUBCATEGORY_DUPLICATIONS
066   * @since 2.11
067   * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles
068   */
069  @Deprecated
070  String CATEGORY_DUPLICATIONS = "duplications";
071
072  /**
073   * @since 2.11
074   */
075  String CATEGORY_SECURITY = "security";
076
077  /**
078   * @see #SUBCATEGORY_L10N
079   * @since 2.11
080   * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles
081   */
082  @Deprecated
083  String CATEGORY_L10N = "localization";
084
085  /**
086   * @since 2.11
087   */
088  String CATEGORY_JAVA = "java";
089
090  /**
091   * @see #SUBCATEGORY_DIFFERENTIAL_VIEWS
092   * @since 2.11
093   * @deprecated since 4.0. See http://jira.codehaus.org/browse/SONAR-4660. Do not forget to remove the properties from core bundles
094   */
095  @Deprecated
096  String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews";
097
098  /**
099   * @since 3.3
100   */
101  String CATEGORY_EXCLUSIONS = "exclusions";
102
103  /**
104   * @since 4.0
105   */
106  String SUBCATEGORY_FILES_EXCLUSIONS = "files";
107
108  /**
109   * @since 4.0
110   */
111  String SUBCATEGORY_DUPLICATIONS_EXCLUSIONS = "duplications";
112
113  /**
114   * @since 4.0
115   */
116  String SUBCATEGORY_COVERAGE_EXCLUSIONS = "coverage";
117
118  /**
119   * @since 3.7
120   */
121  String CATEGORY_LICENSES = "licenses";
122
123  /**
124   * @since 4.0
125   */
126  String CATEGORY_TECHNICAL_DEBT = "technicalDebt";
127
128  /* Global settings */
129  String SONAR_HOME = "SONAR_HOME";
130  String PROJECT_BRANCH_PROPERTY = "sonar.branch";
131  String PROJECT_VERSION_PROPERTY = "sonar.projectVersion";
132
133  /**
134   * @since 2.6
135   */
136  String PROJECT_KEY_PROPERTY = "sonar.projectKey";
137
138  /**
139   * @since 2.6
140   */
141  String PROJECT_NAME_PROPERTY = "sonar.projectName";
142
143  /**
144   * @since 2.6
145   */
146  String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription";
147
148  /**
149   * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}.
150   *
151   * @since 2.6
152   */
153  String ENCODING_PROPERTY = "sonar.sourceEncoding";
154
155  /**
156   * Value format is yyyy-MM-dd
157   */
158  String PROJECT_DATE_PROPERTY = "sonar.projectDate";
159
160  /**
161   * @deprecated since 4.2 projects are now multi-language
162   */
163  @Deprecated
164  String PROJECT_LANGUAGE_PROPERTY = "sonar.language";
165
166  /**
167   * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5185
168   */
169  @Deprecated
170  String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis";
171
172  /* Exclusions */
173  String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions";
174  String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions";
175
176  /* Coverage exclusions */
177  String PROJECT_COVERAGE_EXCLUSIONS_PROPERTY = "sonar.coverage.exclusions";
178
179  /**
180   * @since 3.3
181   */
182  String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions";
183  String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions";
184  String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions";
185  String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions";
186  /**
187   * @deprecated since 4.2. See http://jira.codehaus.org/browse/SONAR-5058
188   */
189  @Deprecated
190  String GLOBAL_TEST_EXCLUSIONS_DEFAULT = "";
191
192  /**
193   * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873
194   */
195  @Deprecated
196  String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration";
197
198  /* Sonar Core */
199
200  /**
201   * @deprecated since 4.1. See http://jira.codehaus.org/browse/SONAR-4875
202   */
203  @Deprecated
204  String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale";
205
206  String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en";
207  /**
208   * @deprecated since 4.5.1.
209   */
210  @Deprecated
211  String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources";
212  boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true;
213
214  /**
215   * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109
216   */
217  @Deprecated
218  String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules";
219
220  /**
221   * @since 4.0
222   * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109
223   */
224  @Deprecated
225  String CORE_INCLUDED_MODULES_PROPERTY = "sonar.includedModules";
226
227  /**
228   * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
229   */
230  @Deprecated
231  String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth";
232
233  /**
234   * @deprecated since 2.5. See http://jira.codehaus.org/browse/SONAR-4145
235   */
236  @Deprecated
237  int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30;
238
239  String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication";
240  boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false;
241  String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp";
242  String CORE_DEFAULT_GROUP = "sonar.defaultGroup";
243  String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users";
244  boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false;
245
246  /**
247   * @deprecated since 2.14. See http://jira.codehaus.org/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}.
248   */
249  @Deprecated
250  String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class";
251
252  /**
253   * @since 2.14
254   */
255  String CORE_AUTHENTICATOR_REALM = "sonar.security.realm";
256
257  String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure";
258  String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers";
259
260  /**
261   * @since 3.6
262   */
263  String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes";
264
265  String SERVER_VERSION = "sonar.core.version";
266  String SERVER_ID = "sonar.core.id";
267
268  // format is yyyy-MM-dd'T'HH:mm:ssZ
269  String SERVER_STARTTIME = "sonar.core.startTime";
270
271  /**
272   * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
273   */
274  @Deprecated
275  String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies";
276
277  /**
278   * @deprecated since 3.6. See http://jira.codehaus.org/browse/SONAR-4145
279   */
280  @Deprecated
281  boolean SKIP_TENDENCIES_DEFAULT_VALUE = false;
282
283  /**
284   * @since 2.10
285   */
286  String SERVER_BASE_URL = "sonar.core.serverBaseURL";
287
288  /**
289   * @see #SERVER_BASE_URL
290   * @since 2.10
291   */
292  String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000";
293
294  /* CPD */
295  String CPD_PLUGIN = "cpd";
296
297  /**
298   * @deprecated in 3.1
299   */
300  @Deprecated
301  String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens";
302
303  /**
304   * @deprecated in 3.1
305   */
306  @Deprecated
307  int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100;
308
309  /**
310   * @deprecated in 3.1
311   */
312  @Deprecated
313  String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals";
314
315  /**
316   * @deprecated in 3.1
317   */
318  @Deprecated
319  String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true";
320
321  /**
322   * @deprecated in 3.1
323   */
324  @Deprecated
325  String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers";
326
327  /**
328   * @deprecated in 3.1
329   */
330  @Deprecated
331  String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false";
332
333  String CPD_SKIP_PROPERTY = "sonar.cpd.skip";
334
335  /**
336   * @since 2.11
337   * @deprecated in 3.1
338   */
339  @Deprecated
340  String CPD_ENGINE = "sonar.cpd.engine";
341
342  /**
343   * @see #CPD_ENGINE
344   * @since 2.11
345   * @deprecated in 3.1
346   */
347  @Deprecated
348  String CPD_ENGINE_DEFAULT_VALUE = "sonar";
349
350  /**
351   * @since 2.11
352   */
353  String CPD_CROSS_PROJECT = "sonar.cpd.cross_project";
354
355  /**
356   * @see #CPD_CROSS_PROJECT
357   * @since 2.11
358   */
359  boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false;
360
361  /**
362   * @since 3.5
363   */
364  String CPD_EXCLUSIONS = "sonar.cpd.exclusions";
365
366  /* Design */
367
368  /**
369   * Indicates whether Java bytecode analysis should be skipped.
370   *
371   * @since 2.0
372   */
373  String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign";
374  boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false;
375
376  /**
377   * Indicates whether Package Design Analysis should be skipped.
378   *
379   * @since 2.9
380   */
381  String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign";
382  boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false;
383
384  /* Google Analytics */
385  String GOOGLE_ANALYTICS_PLUGIN = "google-analytics";
386  String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account";
387
388  /* Time machine periods */
389  String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period";
390  String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis";
391  String TIMEMACHINE_MODE_DATE = "date";
392  String TIMEMACHINE_MODE_VERSION = "version";
393  String TIMEMACHINE_MODE_DAYS = "days";
394  String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version";
395  String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS;
396  String TIMEMACHINE_DEFAULT_PERIOD_2 = "30";
397  String TIMEMACHINE_DEFAULT_PERIOD_3 = TIMEMACHINE_MODE_PREVIOUS_VERSION;
398  String TIMEMACHINE_DEFAULT_PERIOD_4 = "";
399  String TIMEMACHINE_DEFAULT_PERIOD_5 = "";
400
401  /**
402   * @since 2.11
403   */
404  String ORGANISATION = "sonar.organisation";
405
406  /**
407   * @since 2.11
408   */
409  String PERMANENT_SERVER_ID = "sonar.server_id";
410
411  /**
412   * @since 2.11
413   */
414  String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address";
415
416  /**
417   * @since 3.3
418   */
419  String LINKS_HOME_PAGE = "sonar.links.homepage";
420
421  /**
422   * @since 3.3
423   */
424  String LINKS_CI = "sonar.links.ci";
425
426  /**
427   * @since 3.3
428   */
429  String LINKS_ISSUE_TRACKER = "sonar.links.issue";
430
431  /**
432   * @since 3.3
433   */
434  String LINKS_SOURCES = "sonar.links.scm";
435
436  /**
437   * @since 3.3
438   */
439  String LINKS_SOURCES_DEV = "sonar.links.scm_dev";
440
441  /**
442   * @since 3.4
443   */
444  String LOGIN = "sonar.login";
445
446  /**
447   * @since 3.4
448   */
449  String PASSWORD = "sonar.password";
450
451  /**
452   * @since 3.4
453   */
454  String DRY_RUN = "sonar.dryRun";
455
456  /**
457   * @since 3.5
458   */
459  String TASK = "sonar.task";
460
461  /**
462   * @since 3.6
463   */
464  String SCAN_TASK = "scan";
465
466  /**
467   * @since 3.6
468   */
469  String PROFILING_LOG_PROPERTY = "sonar.showProfiling";
470
471  /**
472   * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin
473   * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details.
474   */
475  @Deprecated
476  String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin";
477
478  /**
479   * @since 3.7
480   * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_READ_TIMEOUT_SEC}
481   */
482  @Deprecated
483  String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout";
484
485  /**
486   * @since 4.0
487   */
488  String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout";
489
490  /**
491   * @since 4.0
492   */
493  String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation";
494
495  /**
496   * @since 4.0
497   */
498  String ANALYSIS_MODE = "sonar.analysis.mode";
499
500  /**
501   * @since 4.0
502   */
503  String ANALYSIS_MODE_ANALYSIS = "analysis";
504
505  /**
506   * @since 4.0
507   */
508  String ANALYSIS_MODE_PREVIEW = "preview";
509
510  /**
511   * @since 4.0
512   */
513  String ANALYSIS_MODE_INCREMENTAL = "incremental";
514
515  /**
516   * @since 4.4
517   */
518  String ANALYSIS_MODE_SENSOR = "sensor";
519
520  /**
521   * @since 4.0
522   */
523  String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins";
524  String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = "";
525
526  /**
527   * @since 4.0
528   */
529  String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins";
530  String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,scmactivity,views,jira,buildbreaker";
531
532  /**
533   * @since 4.0
534   */
535  String WORKING_DIRECTORY = "sonar.working.directory";
536  String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar";
537
538  String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins";
539  String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins";
540
541  /**
542   * @since 3.4
543   * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS}
544   */
545  @Deprecated
546  String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins";
547  /**
548   * @since 3.4
549   * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE}
550   */
551  @Deprecated
552  String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE;
553
554  /**
555   * @since 3.4
556   * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS}
557   */
558  @Deprecated
559  String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins";
560  /**
561   * @since 3.4
562   * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE}
563   */
564  @Deprecated
565  String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE;
566
567  /**
568   * @since 4.2
569   */
570  String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers";
571
572  /**
573   * @since 4.0
574   */
575  String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay";
576
577  /**
578   * @since 4.5
579   */
580  String SIZE_METRIC = "sonar.technicalDebt.sizeMetric";
581
582  /**
583   * @since 4.5
584   */
585  String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost";
586
587  /**
588   * @since 4.5
589   */
590  String DEVELOPMENT_COST_DEF_VALUE = "30";
591
592  /**
593   * @since 4.5
594   */
595  String RATING_GRID = "sonar.technicalDebt.ratingGrid";
596
597  /**
598   * @since 4.5
599   */
600  String RATING_GRID_DEF_VALUES = "0.1,0.2,0.5,1";
601
602  /**
603   * @since 4.5
604   */
605  String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters";
606
607  /**
608   * @since 4.5
609   */
610  String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language";
611
612  /**
613   * @since 4.5
614   */
615  String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days";
616
617  /**
618   * @since 4.5
619   */
620  String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric";
621}