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