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 3.1
270   */
271  @Deprecated
272  String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens";
273
274  /**
275   * @deprecated in 5.0
276   * @see <a href="https://jira.sonarsource.com/browse/SONAR-5339">SONAR-5339</a>
277   */
278  @Deprecated
279  String CPD_SKIP_PROPERTY = "sonar.cpd.skip";
280
281  /**
282   * @since 2.11
283   */
284  String CPD_CROSS_PROJECT = "sonar.cpd.cross_project";
285
286  /**
287   * @see #CPD_CROSS_PROJECT
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.5
384   * @deprecated since 5.2 no more task concept on batch side
385   */
386  @Deprecated
387  String TASK = "sonar.task";
388
389  /**
390   * @since 3.6
391   * @deprecated since 5.2 no more task concept on batch side
392   */
393  @Deprecated
394  String SCAN_TASK = "scan";
395
396  /**
397   * @since 3.6
398   */
399  String PROFILING_LOG_PROPERTY = "sonar.showProfiling";
400
401  /**
402   * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin
403   * See http://jira.sonarsource.com/browse/SONARJAVA-39 for more details.
404   */
405  @Deprecated
406  String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin";
407
408  /**
409   * @since 3.7
410   * @deprecated in 4.0 no more used
411   */
412  @Deprecated
413  String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout";
414
415  /**
416   * @since 4.0
417   * @deprecated in 5.1 no more used
418   */
419  @Deprecated
420  String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout";
421
422  /**
423   * @since 4.0
424   * @deprecated replaced in 5.2 by the permission 'provisioning'
425   */
426  @Deprecated
427  String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation";
428
429  /**
430   * @since 4.0
431   */
432  String ANALYSIS_MODE = "sonar.analysis.mode";
433
434  /**
435   * @since 4.0
436   * @deprecated since 5.2 the default mode is publish
437   */
438  @Deprecated
439  String ANALYSIS_MODE_ANALYSIS = "analysis";
440
441  /**
442   * @since 4.0
443   */
444  String ANALYSIS_MODE_PREVIEW = "preview";
445
446  /**
447   * @since 5.2
448   */
449  String ANALYSIS_MODE_ISSUES = "issues";
450  
451  /**
452   * @since 5.2
453   */
454  String ANALYSIS_MODE_PUBLISH = "publish";
455
456  /**
457   * @since 4.0
458   * @deprecated since 5.2
459   */
460  @Deprecated
461  String ANALYSIS_MODE_INCREMENTAL = "incremental";
462
463  /**
464   * @since 4.0
465   */
466  String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins";
467  String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = "";
468
469  /**
470   * @since 4.0
471   */
472  String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins";
473
474  // SONAR-6704 add scmstats to the list
475  String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker,scmstats";
476
477  /**
478   * @since 4.0
479   */
480  String WORKING_DIRECTORY = "sonar.working.directory";
481
482  String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar";
483
484  /**
485   * @since 5.2
486   */
487  String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory";
488  String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = "";
489
490  /**
491   * @since 4.2
492   */
493  String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers";
494
495  /**
496   * @since 4.0
497   */
498  String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay";
499
500  /**
501   * @since 4.5
502   * @deprecated no used anymore since 5.2
503   */
504  @Deprecated
505  String SIZE_METRIC = "sonar.technicalDebt.sizeMetric";
506
507  /**
508   * @since 4.5
509   */
510  String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost";
511
512  /**
513   * @since 4.5
514   */
515  String DEVELOPMENT_COST_DEF_VALUE = "30";
516
517  /**
518   * @since 4.5
519   */
520  String RATING_GRID = "sonar.technicalDebt.ratingGrid";
521
522  /**
523   * @since 4.5
524   */
525  String RATING_GRID_DEF_VALUES = "0.1,0.2,0.5,1";
526
527  /**
528   * @since 4.5
529   */
530  String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters";
531
532  /**
533   * @since 4.5
534   */
535  String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language";
536
537  /**
538   * @since 4.5
539   */
540  String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days";
541
542  /**
543   * @since 4.5
544   */
545  String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric";
546
547  /**
548   * @since 5.0
549   */
550  String CATEGORY_SCM = "scm";
551
552  /**
553   * @since 5.0
554   */
555  String SCM_DISABLED_KEY = "sonar.scm.disabled";
556
557  /**
558   * @since 5.0
559   */
560  String SCM_PROVIDER_KEY = "sonar.scm.provider";
561
562  /**
563   * @since 5.1
564   */
565  String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files";
566
567  /**
568   * @since 5.1
569   */
570  String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin";
571
572}