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