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     */
020    package org.sonar.api;
021    
022    /**
023     * Non-exhaustive list of constants of core properties.
024     *
025     * @since 1.11
026     */
027    public 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      /* Sonar Core */
188    
189      /**
190       * @deprecated since 4.1. See http://jira.codehaus.org/browse/SONAR-4875
191       */
192      @Deprecated
193      String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale";
194    
195      String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en";
196    
197      /**
198       * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109
199       */
200      @Deprecated
201      String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules";
202    
203      /**
204       * @since 4.0
205       * @deprecated since 4.3. See http://jira.codehaus.org/browse/SONAR-5109
206       */
207      @Deprecated
208      String CORE_INCLUDED_MODULES_PROPERTY = "sonar.includedModules";
209    
210      String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication";
211      boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false;
212      String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp";
213      String CORE_DEFAULT_GROUP = "sonar.defaultGroup";
214      String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users";
215      boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false;
216    
217      /**
218       * @deprecated since 2.14. See http://jira.codehaus.org/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}.
219       */
220      @Deprecated
221      String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class";
222    
223      /**
224       * @since 2.14
225       */
226      String CORE_AUTHENTICATOR_REALM = "sonar.security.realm";
227    
228      String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure";
229      String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers";
230    
231      /**
232       * @since 3.6
233       */
234      String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes";
235    
236      String SERVER_VERSION = "sonar.core.version";
237      String SERVER_ID = "sonar.core.id";
238    
239      // format is yyyy-MM-dd'T'HH:mm:ssZ
240      String SERVER_STARTTIME = "sonar.core.startTime";
241    
242      /**
243       * @since 2.10
244       */
245      String SERVER_BASE_URL = "sonar.core.serverBaseURL";
246    
247      /**
248       * @see #SERVER_BASE_URL
249       * @since 2.10
250       */
251      String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000";
252    
253      /* CPD */
254      String CPD_PLUGIN = "cpd";
255    
256      /**
257       * @deprecated in 3.1
258       */
259      @Deprecated
260      String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens";
261    
262      /**
263       * @deprecated in 5.0
264       * @see <a href="https://jira.codehaus.org/browse/SONAR-5339">SONAR-5339</a>
265       */
266      @Deprecated
267      String CPD_SKIP_PROPERTY = "sonar.cpd.skip";
268    
269      /**
270       * @since 2.11
271       */
272      String CPD_CROSS_PROJECT = "sonar.cpd.cross_project";
273    
274      /**
275       * @see #CPD_CROSS_PROJECT
276       * @since 2.11
277       */
278      boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false;
279    
280      /**
281       * @since 3.5
282       */
283      String CPD_EXCLUSIONS = "sonar.cpd.exclusions";
284    
285      /* Design */
286    
287      /**
288       * Indicates whether Java bytecode analysis should be skipped.
289       *
290       * @since 2.0
291       */
292      String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign";
293      boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false;
294    
295      /**
296       * Indicates whether Package Design Analysis should be skipped.
297       *
298       * @since 2.9
299       */
300      String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign";
301      boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false;
302    
303      /* Google Analytics */
304      String GOOGLE_ANALYTICS_PLUGIN = "google-analytics";
305      String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account";
306    
307      /* Time machine periods */
308      String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period";
309      String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis";
310      String TIMEMACHINE_MODE_DATE = "date";
311      String TIMEMACHINE_MODE_VERSION = "version";
312      String TIMEMACHINE_MODE_DAYS = "days";
313      String TIMEMACHINE_MODE_PREVIOUS_VERSION = "previous_version";
314      String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS;
315      String TIMEMACHINE_DEFAULT_PERIOD_2 = "30";
316      String TIMEMACHINE_DEFAULT_PERIOD_3 = TIMEMACHINE_MODE_PREVIOUS_VERSION;
317      String TIMEMACHINE_DEFAULT_PERIOD_4 = "";
318      String TIMEMACHINE_DEFAULT_PERIOD_5 = "";
319    
320      /**
321       * @since 2.11
322       */
323      String ORGANISATION = "sonar.organisation";
324    
325      /**
326       * @since 2.11
327       */
328      String PERMANENT_SERVER_ID = "sonar.server_id";
329    
330      /**
331       * @since 2.11
332       */
333      String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address";
334    
335      /**
336       * @since 3.3
337       */
338      String LINKS_HOME_PAGE = "sonar.links.homepage";
339    
340      /**
341       * @since 3.3
342       */
343      String LINKS_CI = "sonar.links.ci";
344    
345      /**
346       * @since 3.3
347       */
348      String LINKS_ISSUE_TRACKER = "sonar.links.issue";
349    
350      /**
351       * @since 3.3
352       */
353      String LINKS_SOURCES = "sonar.links.scm";
354    
355      /**
356       * @since 3.3
357       */
358      String LINKS_SOURCES_DEV = "sonar.links.scm_dev";
359    
360      /**
361       * @since 3.4
362       */
363      String LOGIN = "sonar.login";
364    
365      /**
366       * @since 3.4
367       */
368      String PASSWORD = "sonar.password";
369    
370      /**
371       * @since 3.4
372       */
373      String DRY_RUN = "sonar.dryRun";
374    
375      /**
376       * @since 3.5
377       */
378      String TASK = "sonar.task";
379    
380      /**
381       * @since 3.6
382       */
383      String SCAN_TASK = "scan";
384    
385      /**
386       * @since 3.6
387       */
388      String PROFILING_LOG_PROPERTY = "sonar.showProfiling";
389    
390      /**
391       * @deprecated replaced in v3.4 by properties specific to languages, for example sonar.java.coveragePlugin
392       * See http://jira.codehaus.org/browse/SONARJAVA-39 for more details.
393       */
394      @Deprecated
395      String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin";
396    
397      /**
398       * @since 3.7
399       * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_READ_TIMEOUT_SEC}
400       */
401      @Deprecated
402      String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout";
403    
404      /**
405       * @since 4.0
406       */
407      String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout";
408    
409      /**
410       * @since 4.0
411       */
412      String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation";
413    
414      /**
415       * @since 4.0
416       */
417      String ANALYSIS_MODE = "sonar.analysis.mode";
418    
419      /**
420       * @since 4.0
421       */
422      String ANALYSIS_MODE_ANALYSIS = "analysis";
423    
424      /**
425       * @since 4.0
426       */
427      String ANALYSIS_MODE_PREVIEW = "preview";
428    
429      /**
430       * @since 4.0
431       */
432      String ANALYSIS_MODE_INCREMENTAL = "incremental";
433    
434      /**
435       * @since 4.4
436       */
437      String ANALYSIS_MODE_SENSOR = "sensor";
438    
439      /**
440       * @since 4.0
441       */
442      String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins";
443      String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = "";
444    
445      /**
446       * @since 4.0
447       */
448      String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins";
449      String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "buildstability,devcockpit,pdfreport,report,views,jira,buildbreaker";
450    
451      /**
452       * @since 4.0
453       */
454      String WORKING_DIRECTORY = "sonar.working.directory";
455      String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar";
456    
457      String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins";
458      String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins";
459    
460      /**
461       * @since 3.4
462       * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS}
463       */
464      @Deprecated
465      String DRY_RUN_INCLUDE_PLUGINS = "sonar.dryRun.includePlugins";
466      /**
467       * @since 3.4
468       * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE}
469       */
470      @Deprecated
471      String DRY_RUN_INCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE;
472    
473      /**
474       * @since 3.4
475       * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS}
476       */
477      @Deprecated
478      String DRY_RUN_EXCLUDE_PLUGINS = "sonar.dryRun.excludePlugins";
479      /**
480       * @since 3.4
481       * @deprecated in 4.0 replaced by {@link CoreProperties#PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE}
482       */
483      @Deprecated
484      String DRY_RUN_EXCLUDE_PLUGINS_DEFAULT_VALUE = PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE;
485    
486      /**
487       * @since 4.2
488       */
489      String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers";
490    
491      /**
492       * @since 4.0
493       */
494      String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay";
495    
496      /**
497       * @since 4.5
498       */
499      String SIZE_METRIC = "sonar.technicalDebt.sizeMetric";
500    
501      /**
502       * @since 4.5
503       */
504      String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost";
505    
506      /**
507       * @since 4.5
508       */
509      String DEVELOPMENT_COST_DEF_VALUE = "30";
510    
511      /**
512       * @since 4.5
513       */
514      String RATING_GRID = "sonar.technicalDebt.ratingGrid";
515    
516      /**
517       * @since 4.5
518       */
519      String RATING_GRID_DEF_VALUES = "0.1,0.2,0.5,1";
520    
521      /**
522       * @since 4.5
523       */
524      String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters";
525    
526      /**
527       * @since 4.5
528       */
529      String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language";
530    
531      /**
532       * @since 4.5
533       */
534      String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days";
535    
536      /**
537       * @since 4.5
538       */
539      String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric";
540    
541      /**
542       * @since 5.0
543       */
544      String CATEGORY_SCM = "scm";
545    
546      /**
547       * @since 5.0
548       */
549      String SCM_DISABLED_KEY = "sonar.scm.disabled";
550    
551      /**
552       * @since 5.0
553       */
554      String SCM_PROVIDER_KEY = "sonar.scm.provider";
555    }