You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CoreProperties.java 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. /*
  2. * SonarQube
  3. * Copyright (C) 2009-2017 SonarSource SA
  4. * mailto:info AT sonarsource DOT com
  5. *
  6. * This program is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 3 of the License, or (at your option) any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public License
  17. * along with this program; if not, write to the Free Software Foundation,
  18. * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  19. */
  20. package org.sonar.api;
  21. import org.sonar.api.batch.fs.FileSystem;
  22. import org.sonar.api.platform.Server;
  23. /**
  24. * Non-exhaustive list of constants of core properties.
  25. *
  26. * @since 1.11
  27. */
  28. public interface CoreProperties {
  29. /**
  30. * @since 3.0
  31. */
  32. String ENCRYPTION_SECRET_KEY_PATH = "sonar.secretKeyPath";
  33. /**
  34. * @since 2.11
  35. */
  36. String CATEGORY_GENERAL = "general";
  37. /**
  38. * @since 4.0
  39. */
  40. String SUBCATEGORY_DATABASE_CLEANER = "databaseCleaner";
  41. /**
  42. * @since 4.0
  43. */
  44. String SUBCATEGORY_DUPLICATIONS = "duplications";
  45. /**
  46. * @since 4.0
  47. */
  48. String SUBCATEGORY_DIFFERENTIAL_VIEWS = "differentialViews";
  49. /**
  50. * @since 5.1
  51. */
  52. String SUBCATEGORY_LOOKNFEEL = "looknfeel";
  53. /**
  54. * @since 5.1
  55. */
  56. String SUBCATEGORY_ISSUES = "issues";
  57. /**
  58. * @since 4.0
  59. */
  60. String SUBCATEGORY_L10N = "localization";
  61. /**
  62. * @since 2.11
  63. */
  64. String CATEGORY_CODE_COVERAGE = "codeCoverage";
  65. /**
  66. * @since 2.11
  67. */
  68. String CATEGORY_SECURITY = "security";
  69. /**
  70. * @since 2.11
  71. * @deprecated since 6.0
  72. */
  73. @Deprecated
  74. String CATEGORY_JAVA = "java";
  75. /**
  76. * @since 3.3
  77. */
  78. String CATEGORY_EXCLUSIONS = "exclusions";
  79. /**
  80. * @since 4.0
  81. */
  82. String SUBCATEGORY_FILES_EXCLUSIONS = "files";
  83. /**
  84. * @since 4.0
  85. */
  86. String SUBCATEGORY_DUPLICATIONS_EXCLUSIONS = "duplications";
  87. /**
  88. * @since 4.0
  89. */
  90. String SUBCATEGORY_COVERAGE_EXCLUSIONS = "coverage";
  91. /**
  92. * @since 6.1
  93. */
  94. String SUBCATEGORY_EMAIL = "email";
  95. /**
  96. * @since 3.7
  97. */
  98. String CATEGORY_LICENSES = "licenses";
  99. /**
  100. * @since 4.0
  101. */
  102. String CATEGORY_TECHNICAL_DEBT = "technicalDebt";
  103. /* Global settings */
  104. String SONAR_HOME = "SONAR_HOME";
  105. String PROJECT_BRANCH_PROPERTY = "sonar.branch";
  106. String PROJECT_VERSION_PROPERTY = "sonar.projectVersion";
  107. /**
  108. * @since 6.3
  109. */
  110. String PROJECT_ORGANIZATION_PROPERTY = "sonar.organization";
  111. /**
  112. * @since 2.6
  113. */
  114. String PROJECT_KEY_PROPERTY = "sonar.projectKey";
  115. /**
  116. * @since 2.6
  117. */
  118. String PROJECT_NAME_PROPERTY = "sonar.projectName";
  119. /**
  120. * @since 2.6
  121. */
  122. String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription";
  123. /**
  124. * To determine value of this property use {@link FileSystem#encoding()}.
  125. *
  126. * @since 2.6
  127. */
  128. String ENCODING_PROPERTY = "sonar.sourceEncoding";
  129. /**
  130. * Value format is yyyy-MM-dd
  131. */
  132. String PROJECT_DATE_PROPERTY = "sonar.projectDate";
  133. /**
  134. * @deprecated since 4.2 projects are now multi-language
  135. */
  136. @Deprecated
  137. String PROJECT_LANGUAGE_PROPERTY = "sonar.language";
  138. /* Exclusions */
  139. String PROJECT_INCLUSIONS_PROPERTY = "sonar.inclusions";
  140. String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions";
  141. /* Coverage exclusions */
  142. String PROJECT_COVERAGE_EXCLUSIONS_PROPERTY = "sonar.coverage.exclusions";
  143. /**
  144. * @since 3.3
  145. */
  146. String PROJECT_TEST_INCLUSIONS_PROPERTY = "sonar.test.inclusions";
  147. String PROJECT_TEST_EXCLUSIONS_PROPERTY = "sonar.test.exclusions";
  148. String GLOBAL_EXCLUSIONS_PROPERTY = "sonar.global.exclusions";
  149. String GLOBAL_TEST_EXCLUSIONS_PROPERTY = "sonar.global.test.exclusions";
  150. /* Sonar Core */
  151. String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication";
  152. boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false;
  153. /**
  154. * @deprecated since 6.3. This feature is not supported anymore
  155. * @see <a href="https://jira.sonarsource.com/browse/SONAR-7762">SONAR-7762/a>
  156. */
  157. @Deprecated
  158. String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp";
  159. String CORE_DEFAULT_GROUP = "sonar.defaultGroup";
  160. String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users";
  161. boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false;
  162. /**
  163. * @deprecated since 2.14. See http://jira.sonarsource.com/browse/SONAR-3153. Replaced by {@link #CORE_AUTHENTICATOR_REALM}.
  164. */
  165. @Deprecated
  166. String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class";
  167. /**
  168. * @since 2.14
  169. */
  170. String CORE_AUTHENTICATOR_REALM = "sonar.security.realm";
  171. String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure";
  172. /**
  173. * @deprecated since 6.3. This feature is not supported anymore
  174. * @see <a href="https://jira.sonarsource.com/browse/SONAR-8208">SONAR-8208/a>
  175. */
  176. @Deprecated
  177. String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers";
  178. /**
  179. * @since 3.6
  180. * @deprecated since 5.4. This feature is not supported anymore. See http://jira.sonarsource.com/browse/SONAR-7219
  181. */
  182. @Deprecated
  183. String CORE_AUTHENTICATOR_UPDATE_USER_ATTRIBUTES = "sonar.security.updateUserAttributes";
  184. String SERVER_ID = "sonar.core.id";
  185. // format is yyyy-MM-dd'T'HH:mm:ssZ
  186. String SERVER_STARTTIME = "sonar.core.startTime";
  187. /**
  188. * This property defines the SonarQubeServer base url, such as <i>http://yourhost.yourdomain/sonar</i>.
  189. * When this property is not set, the base url of the SonarQube server is provided by {@link Server#getURL()}.
  190. *
  191. * @since 2.10
  192. */
  193. String SERVER_BASE_URL = "sonar.core.serverBaseURL";
  194. /**
  195. * @see #SERVER_BASE_URL
  196. * @since 2.10
  197. * @deprecated since 5.6. This constant default value is incorrect if a host and/or a port and/or a context have been configured.
  198. * The correct default value when {@link #SERVER_BASE_URL} is not set is provided by {@link Server#getURL()}.
  199. */
  200. @Deprecated
  201. String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000";
  202. /* CPD */
  203. String CPD_PLUGIN = "cpd";
  204. /**
  205. * @since 2.11
  206. */
  207. String CPD_CROSS_PROJECT = "sonar.cpd.cross_project";
  208. /**
  209. * @see #CPD_CROSS_PROJECT
  210. * @since 2.11
  211. */
  212. boolean CPD_CROSS_PROJECT_DEFAULT_VALUE = false;
  213. /**
  214. * @since 3.5
  215. */
  216. String CPD_EXCLUSIONS = "sonar.cpd.exclusions";
  217. /* Design */
  218. /**
  219. * Indicates whether Java bytecode analysis should be skipped.
  220. *
  221. * @since 2.0
  222. */
  223. String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign";
  224. boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false;
  225. /**
  226. * Indicates whether Package Design Analysis should be skipped.
  227. *
  228. * @since 2.9
  229. */
  230. String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign";
  231. boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false;
  232. /* Google Analytics */
  233. String GOOGLE_ANALYTICS_PLUGIN = "google-analytics";
  234. String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account";
  235. /**
  236. * @since 2.11
  237. */
  238. String ORGANISATION = "sonar.organisation";
  239. /**
  240. * @since 2.11
  241. */
  242. String PERMANENT_SERVER_ID = "sonar.server_id";
  243. /**
  244. * @since 2.11
  245. */
  246. String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address";
  247. /**
  248. * @since 3.3
  249. */
  250. String LINKS_HOME_PAGE = "sonar.links.homepage";
  251. /**
  252. * @since 3.3
  253. */
  254. String LINKS_CI = "sonar.links.ci";
  255. /**
  256. * @since 3.3
  257. */
  258. String LINKS_ISSUE_TRACKER = "sonar.links.issue";
  259. /**
  260. * @since 3.3
  261. */
  262. String LINKS_SOURCES = "sonar.links.scm";
  263. /**
  264. * @since 3.3
  265. */
  266. String LINKS_SOURCES_DEV = "sonar.links.scm_dev";
  267. /**
  268. * @since 3.4
  269. */
  270. String LOGIN = "sonar.login";
  271. /**
  272. * @since 3.4
  273. */
  274. String PASSWORD = "sonar.password";
  275. /**
  276. * @since 3.5
  277. */
  278. String TASK = "sonar.task";
  279. /**
  280. * @since 3.6
  281. */
  282. String SCAN_TASK = "scan";
  283. /**
  284. * @since 3.6
  285. */
  286. String PROFILING_LOG_PROPERTY = "sonar.showProfiling";
  287. /**
  288. * @since 4.0
  289. * @deprecated in 5.1 no more used
  290. */
  291. @Deprecated
  292. String PREVIEW_READ_TIMEOUT_SEC = "sonar.preview.readTimeout";
  293. /**
  294. * @since 4.0
  295. * @deprecated replaced in 5.2 by the permission 'provisioning'
  296. */
  297. @Deprecated
  298. String CORE_PREVENT_AUTOMATIC_PROJECT_CREATION = "sonar.preventAutoProjectCreation";
  299. /**
  300. * @since 4.0
  301. */
  302. String ANALYSIS_MODE = "sonar.analysis.mode";
  303. /**
  304. * @since 4.0
  305. * @deprecated since 5.2 the default mode is publish
  306. */
  307. @Deprecated
  308. String ANALYSIS_MODE_ANALYSIS = "analysis";
  309. /**
  310. * @since 4.0
  311. */
  312. String ANALYSIS_MODE_PREVIEW = "preview";
  313. /**
  314. * @since 5.2
  315. */
  316. String ANALYSIS_MODE_ISSUES = "issues";
  317. /**
  318. * @since 5.2
  319. */
  320. String ANALYSIS_MODE_PUBLISH = "publish";
  321. /**
  322. * @since 4.0
  323. * @deprecated since 5.2
  324. */
  325. @Deprecated
  326. String ANALYSIS_MODE_INCREMENTAL = "incremental";
  327. /**
  328. * @since 4.0
  329. */
  330. String PREVIEW_INCLUDE_PLUGINS = "sonar.preview.includePlugins";
  331. String PREVIEW_INCLUDE_PLUGINS_DEFAULT_VALUE = "";
  332. /**
  333. * @since 4.0
  334. */
  335. String PREVIEW_EXCLUDE_PLUGINS = "sonar.preview.excludePlugins";
  336. String PREVIEW_EXCLUDE_PLUGINS_DEFAULT_VALUE = "devcockpit,pdfreport,governance,ldap,authaad,authgithub,authbitbucket,googleanalytics";
  337. /**
  338. * @since 4.0
  339. */
  340. String WORKING_DIRECTORY = "sonar.working.directory";
  341. String WORKING_DIRECTORY_DEFAULT_VALUE = ".sonar";
  342. /**
  343. * @since 5.2
  344. */
  345. String GLOBAL_WORKING_DIRECTORY = "sonar.globalWorking.directory";
  346. String GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE = "";
  347. /**
  348. * @since 4.2
  349. * @deprecated no more used since 5.5
  350. */
  351. @Deprecated
  352. String CORE_AUTHENTICATOR_LOCAL_USERS = "sonar.security.localUsers";
  353. /**
  354. * @since 4.0
  355. * @deprecated no more used since 6.3. See https://jira.sonarsource.com/browse/SONAR-8610
  356. */
  357. @Deprecated
  358. String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay";
  359. /**
  360. * @since 4.5
  361. * @deprecated no used anymore since 5.2
  362. */
  363. @Deprecated
  364. String SIZE_METRIC = "sonar.technicalDebt.sizeMetric";
  365. /**
  366. * @since 4.5
  367. */
  368. String DEVELOPMENT_COST = "sonar.technicalDebt.developmentCost";
  369. /**
  370. * @since 4.5
  371. */
  372. String DEVELOPMENT_COST_DEF_VALUE = "30";
  373. /**
  374. * @since 4.5
  375. */
  376. String RATING_GRID = "sonar.technicalDebt.ratingGrid";
  377. /**
  378. * @since 4.5
  379. */
  380. String RATING_GRID_DEF_VALUES = "0.05,0.1,0.2,0.5";
  381. /**
  382. * @since 4.5
  383. */
  384. String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters";
  385. /**
  386. * @since 4.5
  387. */
  388. String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language";
  389. /**
  390. * @since 4.5
  391. */
  392. String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days";
  393. /**
  394. * @since 4.5
  395. */
  396. String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric";
  397. /**
  398. * @since 5.0
  399. */
  400. String CATEGORY_SCM = "scm";
  401. /**
  402. * @since 5.0
  403. */
  404. String SCM_DISABLED_KEY = "sonar.scm.disabled";
  405. /**
  406. * @since 5.0
  407. */
  408. String SCM_PROVIDER_KEY = "sonar.scm.provider";
  409. /**
  410. * @since 5.1
  411. * @deprecated since 6.3. No longer taken into consideration as all files are always imported.
  412. */
  413. @Deprecated
  414. String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files";
  415. /**
  416. * @since 5.1
  417. */
  418. String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin";
  419. }