001/*
002 * SonarQube
003 * Copyright (C) 2009-2016 SonarSource SA
004 * mailto:contact AT sonarsource DOT com
005 *
006 * This program 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 * This program 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  String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication";
210  boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false;
211  String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp";
212  String CORE_DEFAULT_GROUP = "sonar.defaultGroup";
213  String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users";
214  boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false;
215
216  /**
217   * @deprecated since 2.14. See http://jira.sonarsource.com/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}.
218   */
219  @Deprecated
220  String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class";
221
222  /**
223   * @since 2.14
224   */
225  String CORE_AUTHENTICATOR_REALM = "sonar.security.realm";
226
227  String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure";
228  String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers";
229
230  /**
231   * @since 3.6
232   * @deprecated since 5.4. This feature is not supported anymore. See http://jira.sonarsource.com/browse/SONAR-7219
233   */
234  @Deprecated
235  String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes";
236
237  String SERVER_VERSION = "sonar.core.version";
238  String SERVER_ID = "sonar.core.id";
239
240  // format is yyyy-MM-dd'T'HH:mm:ssZ
241  String SERVER_STARTTIME = "sonar.core.startTime";
242
243  /**
244   * @since 2.10
245   */
246  String SERVER_BASE_URL = "sonar.core.serverBaseURL";
247
248  /**
249   * @see #SERVER_BASE_URL
250   * @since 2.10
251   */
252  String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000";
253
254  /* CPD */
255  String CPD_PLUGIN = "cpd";
256
257  /**
258   * @deprecated in 5.0
259   * @see <a href="https://jira.sonarsource.com/browse/SONAR-5339">SONAR-5339</a>
260   */
261  @Deprecated
262  String CPD_SKIP_PROPERTY = "sonar.cpd.skip";
263
264  /**
265   * @since 2.11
266   */
267  String CPD_CROSS_PROJECT = "sonar.cpd.cross_project";
268
269  /**
270   * @see #CPD_CROSS_PROJECT
271   * @since 2.11
272   */
273  boolean CPD_CROSS_PROJECT_DEFAULT_VALUE = false;
274
275  /**
276   * @since 3.5
277   */
278  String CPD_EXCLUSIONS = "sonar.cpd.exclusions";
279
280  /* Design */
281
282  /**
283   * Indicates whether Java bytecode analysis should be skipped.
284   *
285   * @since 2.0
286   */
287  String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign";
288  boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false;
289
290  /**
291   * Indicates whether Package Design Analysis should be skipped.
292   *
293   * @since 2.9
294   */
295  String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign";
296  boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false;
297
298  /* Google Analytics */
299  String GOOGLE_ANALYTICS_PLUGIN = "google-analytics";
300  String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account";
301
302  /**
303   * @since 2.11
304   */
305  String ORGANISATION = "sonar.organisation";
306
307  /**
308   * @since 2.11
309   */
310  String PERMANENT_SERVER_ID = "sonar.server_id";
311
312  /**
313   * @since 2.11
314   */
315  String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address";
316
317  /**
318   * @since 3.3
319   */
320  String LINKS_HOME_PAGE = "sonar.links.homepage";
321
322  /**
323   * @since 3.3
324   */
325  String LINKS_CI = "sonar.links.ci";
326
327  /**
328   * @since 3.3
329   */
330  String LINKS_ISSUE_TRACKER = "sonar.links.issue";
331
332  /**
333   * @since 3.3
334   */
335  String LINKS_SOURCES = "sonar.links.scm";
336
337  /**
338   * @since 3.3
339   */
340  String LINKS_SOURCES_DEV = "sonar.links.scm_dev";
341
342  /**
343   * @since 3.4
344   */
345  String LOGIN = "sonar.login";
346
347  /**
348   * @since 3.4
349   */
350  String PASSWORD = "sonar.password";
351
352  /**
353   * @since 3.5
354   */
355  String TASK = "sonar.task";
356
357  /**
358   * @since 3.6
359   */
360  String SCAN_TASK = "scan";
361
362  /**
363   * @since 3.6
364   */
365  String PROFILING_LOG_PROPERTY = "sonar.showProfiling";
366
367  /**
368   * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin
369   * See http://jira.sonarsource.com/browse/SONARJAVA-39 for more details.
370   */
371  @Deprecated
372  String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin";
373
374  /**
375   * @since 3.7
376   * @deprecated in 4.0 no more used
377   */
378  @Deprecated
379  String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout";
380
381  /**
382   * @since 4.0
383   * @deprecated in 5.1 no more used
384   */
385  @Deprecated
386  String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout";
387
388  /**
389   * @since 4.0
390   * @deprecated replaced in 5.2 by the permission 'provisioning'
391   */
392  @Deprecated
393  String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation";
394
395  /**
396   * @since 4.0
397   */
398  String ANALYSIS_MODE = "sonar.analysis.mode";
399
400  /**
401   * @since 4.0
402   * @deprecated since 5.2 the default mode is publish
403   */
404  @Deprecated
405  String ANALYSIS_MODE_ANALYSIS = "analysis";
406
407  /**
408   * @since 4.0
409   */
410  String ANALYSIS_MODE_PREVIEW = "preview";
411
412  /**
413   * @since 5.2
414   */
415  String ANALYSIS_MODE_ISSUES = "issues";
416
417  /**
418   * @since 5.2
419   */
420  String ANALYSIS_MODE_PUBLISH = "publish";
421
422  /**
423   * @since 4.0
424   * @deprecated since 5.2
425   */
426  @Deprecated
427  String ANALYSIS_MODE_INCREMENTAL = "incremental";
428
429  /**
430   * @since 4.0
431   */
432  String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins";
433  String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = "";
434
435  /**
436   * @since 4.0
437   */
438  String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins";
439
440  // SONAR-6704 add scmstats to the list
441  String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker,scmstats";
442
443  /**
444   * @since 4.0
445   */
446  String WORKING_DIRECTORY = "sonar.working.directory";
447
448  String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar";
449
450  /**
451   * @since 5.2
452   */
453  String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory";
454  String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = "";
455
456  /**
457   * @since 4.2
458   * @deprecated no more used since 5.5
459   */
460  @Deprecated
461  String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers";
462
463  /**
464   * @since 4.0
465   */
466  String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay";
467
468  /**
469   * @since 4.5
470   * @deprecated no used anymore since 5.2
471   */
472  @Deprecated
473  String SIZE_METRIC = "sonar.technicalDebt.sizeMetric";
474
475  /**
476   * @since 4.5
477   */
478  String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost";
479
480  /**
481   * @since 4.5
482   */
483  String DEVELOPMENT_COST_DEF_VALUE = "30";
484
485  /**
486   * @since 4.5
487   */
488  String RATING_GRID = "sonar.technicalDebt.ratingGrid";
489
490  /**
491   * @since 4.5
492   */
493  String RATING_GRID_DEF_VALUES = "0.05,0.1,0.2,0.5";
494
495  /**
496   * @since 4.5
497   */
498  String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters";
499
500  /**
501   * @since 4.5
502   */
503  String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language";
504
505  /**
506   * @since 4.5
507   */
508  String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days";
509
510  /**
511   * @since 4.5
512   */
513  String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric";
514
515  /**
516   * @since 5.0
517   */
518  String CATEGORY_SCM = "scm";
519
520  /**
521   * @since 5.0
522   */
523  String SCM_DISABLED_KEY = "sonar.scm.disabled";
524
525  /**
526   * @since 5.0
527   */
528  String SCM_PROVIDER_KEY = "sonar.scm.provider";
529
530  /**
531   * @since 5.1
532   */
533  String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files";
534
535  /**
536   * @since 5.1
537   */
538  String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin";
539
540}