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 }