001 /*
002 * Sonar, open source software quality management tool.
003 * Copyright (C) 2008-2012 SonarSource
004 * mailto:contact AT sonarsource DOT com
005 *
006 * Sonar 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 * Sonar 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
017 * License along with Sonar; if not, write to the Free Software
018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
019 */
020 package org.sonar.api;
021
022 /**
023 * CoreProperties is used to group various properties of Sonar as well
024 * as default values of configuration in a single place
025 *
026 * @since 1.11
027 */
028 public interface CoreProperties {
029
030 /**
031 * @since 3.0
032 */
033 String ENCRYPTION_SECRET_KEY_PATH = "sonar.secretKeyPath";
034
035
036 /**
037 * @since 2.11
038 */
039 String CATEGORY_GENERAL = "general";
040
041 /**
042 * @since 2.11
043 */
044 String CATEGORY_CODE_COVERAGE = "codeCoverage";
045
046 /**
047 * @since 2.11
048 */
049 String CATEGORY_DUPLICATIONS = "duplications";
050
051 /**
052 * @since 2.11
053 */
054 String CATEGORY_SECURITY = "security";
055
056 /**
057 * @since 2.11
058 */
059 String CATEGORY_L10N = "localization";
060
061 /**
062 * @since 2.11
063 */
064 String CATEGORY_JAVA = "java";
065
066 /**
067 * @since 2.11
068 */
069 String CATEGORY_DIFFERENTIAL_VIEWS = "differentialViews";
070
071
072 /* Global settings */
073 String SONAR_HOME = "SONAR_HOME";
074 String PROJECT_BRANCH_PROPERTY = "sonar.branch";
075 String PROJECT_VERSION_PROPERTY = "sonar.projectVersion";
076
077 /**
078 * @since 2.6
079 */
080 String PROJECT_KEY_PROPERTY = "sonar.projectKey";
081
082 /**
083 * @since 2.6
084 */
085 String PROJECT_NAME_PROPERTY = "sonar.projectName";
086
087 /**
088 * @since 2.6
089 */
090 String PROJECT_DESCRIPTION_PROPERTY = "sonar.projectDescription";
091
092 /**
093 * To determine value of this property use {@link org.sonar.api.resources.ProjectFileSystem#getSourceCharset()}.
094 *
095 * @since 2.6
096 */
097 String ENCODING_PROPERTY = "sonar.sourceEncoding";
098
099 /**
100 * Value format is yyyy-MM-dd
101 */
102 String PROJECT_DATE_PROPERTY = "sonar.projectDate";
103 String PROJECT_LANGUAGE_PROPERTY = "sonar.language";
104 String DYNAMIC_ANALYSIS_PROPERTY = "sonar.dynamicAnalysis";
105 String PROJECT_EXCLUSIONS_PROPERTY = "sonar.exclusions";
106
107 /**
108 * @deprecated since 2.5. See discussion from http://jira.codehaus.org/browse/SONAR-1873
109 */
110 @Deprecated
111 String REUSE_RULES_CONFIGURATION_PROPERTY = "sonar.reuseExistingRulesConfiguration";
112
113 /* Checkstyle */
114 String CHECKSTYLE_PLUGIN = "checkstyle";
115
116 /* Cobertura */
117 String COBERTURA_PLUGIN = "cobertura";
118 String COBERTURA_REPORT_PATH_PROPERTY = "sonar.cobertura.reportPath";
119 String COBERTURA_MAXMEM_PROPERTY = "sonar.cobertura.maxmem";
120 String COBERTURA_MAXMEM_DEFAULT_VALUE = "64m";
121
122 /* Sonar Core */
123 String CORE_PLUGIN = "core";
124 String CORE_VIOLATION_LOCALE_PROPERTY = "sonar.violationLocale";
125 String CORE_VIOLATION_LOCALE_DEFAULT_VALUE = "en";
126 String CORE_COVERAGE_PLUGIN_PROPERTY = "sonar.core.codeCoveragePlugin";
127 String CORE_IMPORT_SOURCES_PROPERTY = "sonar.importSources";
128 boolean CORE_IMPORT_SOURCES_DEFAULT_VALUE = true;
129 String CORE_SKIPPED_MODULES_PROPERTY = "sonar.skippedModules";
130 String CORE_RULE_WEIGHTS_PROPERTY = "sonar.core.rule.weight";
131 String CORE_RULE_WEIGHTS_DEFAULT_VALUE = "INFO=0;MINOR=1;MAJOR=3;CRITICAL=5;BLOCKER=10";
132 String CORE_TENDENCY_DEPTH_PROPERTY = "tendency.depth";
133 int CORE_TENDENCY_DEPTH_DEFAULT_VALUE = 30;
134 String CORE_FORCE_AUTHENTICATION_PROPERTY = "sonar.forceAuthentication";
135 boolean CORE_FORCE_AUTHENTICATION_DEFAULT_VALUE = false;
136 String CORE_ALLOW_USERS_TO_SIGNUP_PROPERTY = "sonar.allowUsersToSignUp";
137 String CORE_DEFAULT_GROUP = "sonar.defaultGroup";
138 String CORE_DEFAULT_GROUP_DEFAULT_VALUE = "sonar-users";
139 boolean CORE_ALLOW_USERS_TO_SIGNUP_DEAULT_VALUE = false;
140 String CORE_AUTHENTICATOR_CLASS = "sonar.authenticator.class";
141 String CORE_AUTHENTICATOR_IGNORE_STARTUP_FAILURE = "sonar.authenticator.ignoreStartupFailure";
142 String CORE_AUTHENTICATOR_CREATE_USERS = "sonar.authenticator.createUsers";
143 String SERVER_VERSION = "sonar.core.version";
144 String SERVER_ID = "sonar.core.id";
145 String SERVER_STARTTIME = "sonar.core.startTime"; // format is yyyy-MM-dd'T'HH:mm:ssZ
146 String SKIP_TENDENCIES_PROPERTY = "sonar.skipTendencies";
147 boolean SKIP_TENDENCIES_DEFAULT_VALUE = false;
148 String BATCH_INCLUDE_PLUGINS = "sonar.includePlugins";
149 String BATCH_EXCLUDE_PLUGINS = "sonar.excludePlugins";
150
151 /**
152 * @since 2.10
153 */
154 String SERVER_BASE_URL = "sonar.core.serverBaseURL";
155
156 /**
157 * @see #SERVER_BASE_URL
158 * @since 2.10
159 */
160 String SERVER_BASE_URL_DEFAULT_VALUE = "http://localhost:9000";
161
162 /* CPD */
163 String CPD_PLUGIN = "cpd";
164 String CPD_MINIMUM_TOKENS_PROPERTY = "sonar.cpd.minimumTokens";
165 int CPD_MINIMUM_TOKENS_DEFAULT_VALUE = 100;
166 String CPD_IGNORE_LITERALS_PROPERTY = "sonar.cpd.ignore_literals";
167 String CPD_IGNORE_LITERALS_DEFAULT_VALUE = "true";
168 String CPD_IGNORE_IDENTIFIERS_PROPERTY = "sonar.cpd.ignore_identifiers";
169 String CPD_IGNORE_IDENTIFIERS_DEFAULT_VALUE = "false";
170 String CPD_SKIP_PROPERTY = "sonar.cpd.skip";
171
172 /**
173 * @since 2.11
174 */
175 String CPD_ENGINE = "sonar.cpd.engine";
176
177 /**
178 * @see #CPD_ENGINE
179 * @since 2.11
180 */
181 String CPD_ENGINE_DEFAULT_VALUE = "sonar";
182
183 /**
184 * @since 2.11
185 */
186 String CPD_CROSS_RPOJECT = "sonar.cpd.cross_project";
187
188 /**
189 * @see #CPD_CROSS_RPOJECT
190 * @since 2.11
191 */
192 boolean CPD_CROSS_RPOJECT_DEFAULT_VALUE = false;
193
194 /* Design */
195
196 /**
197 * Indicates whether Java bytecode analysis should be skipped.
198 *
199 * @since 2.0
200 */
201 String DESIGN_SKIP_DESIGN_PROPERTY = "sonar.skipDesign";
202 boolean DESIGN_SKIP_DESIGN_DEFAULT_VALUE = false;
203
204 /**
205 * Indicates whether Package Design Analysis should be skipped.
206 *
207 * @since 2.9
208 */
209 String DESIGN_SKIP_PACKAGE_DESIGN_PROPERTY = "sonar.skipPackageDesign";
210 boolean DESIGN_SKIP_PACKAGE_DESIGN_DEFAULT_VALUE = false;
211
212 /* Findbugs */
213 String FINDBUGS_PLUGIN = "findbugs";
214 String FINDBUGS_EFFORT_PROPERTY = "sonar.findbugs.effort";
215 String FINDBUGS_EFFORT_DEFAULT_VALUE = "Default";
216 String FINDBUGS_REPORT_PATH = "sonar.findbugs.reportPath";
217 String FINDBUGS_TIMEOUT_PROPERTY = "sonar.findbugs.timeout";
218 long FINDBUGS_TIMEOUT_DEFAULT_VALUE = 600000;
219
220 /* Google Analytics */
221 String GOOGLE_ANALYTICS_PLUGIN = "google-analytics";
222 String GOOGLE_ANALYTICS_ACCOUNT_PROPERTY = "sonar.google-analytics.account";
223
224 /* PMD */
225 String PMD_PLUGIN = "pmd";
226
227 /* Squid */
228 String SQUID_PLUGIN = "squid";
229
230 /* Surefire */
231 String SUREFIRE_PLUGIN = "surefire";
232 String SUREFIRE_REPORTS_PATH_PROPERTY = "sonar.surefire.reportsPath";
233
234 /* Time machine periods */
235 String TIMEMACHINE_PERIOD_PREFIX = "sonar.timemachine.period";
236 String TIMEMACHINE_MODE_PREVIOUS_ANALYSIS = "previous_analysis";
237 String TIMEMACHINE_MODE_DATE = "date";
238 String TIMEMACHINE_MODE_VERSION = "version";
239 String TIMEMACHINE_MODE_DAYS = "days";
240 String TIMEMACHINE_DEFAULT_PERIOD_1 = TIMEMACHINE_MODE_PREVIOUS_ANALYSIS;
241 String TIMEMACHINE_DEFAULT_PERIOD_2 = "5";
242 String TIMEMACHINE_DEFAULT_PERIOD_3 = "30";
243 String TIMEMACHINE_DEFAULT_PERIOD_4 = "";
244 String TIMEMACHINE_DEFAULT_PERIOD_5 = "";
245
246 /**
247 * @since 2.11
248 */
249 String ORGANISATION = "sonar.organisation";
250
251 /**
252 * @since 2.11
253 */
254 String PERMANENT_SERVER_ID = "sonar.server_id";
255
256 /**
257 * @since 2.11
258 */
259 String SERVER_ID_IP_ADDRESS = "sonar.server_id.ip_address";
260 }