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