1 /*******************************************************************************
2  * Copyright (c) 2005, 2019 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.pde.launching;
15 
16 /**
17  * Constant definitions for PDE launch configurations.
18  * <p>
19  * Constant definitions only; not to be implemented.
20  * </p>
21  * <p>
22  * This class originally existed in 3.2 as
23  * <code>org.eclipse.pde.ui.launcher.IPDELauncherConstants</code>.
24  * </p>
25  * @since 3.6
26  *
27  * @noimplement This interface is not intended to be implemented by clients.
28  * @noextend This interface is not intended to be extended by clients.
29  */
30 public interface IPDELauncherConstants {
31 
32 	/**
33 	 * Launch configuration attribute key. The value is a string specifying
34 	 * workspace data location for an Eclipse application.
35 	 */
36 	String LOCATION = "location"; //$NON-NLS-1$
37 
38 	/**
39 	 * Launch configuration attribute key. The value is a boolean specifying
40 	 * workspace data location for an Eclipse application should be cleared
41 	 * prior to launching.
42 	 */
43 	String DOCLEAR = "clearws"; //$NON-NLS-1$
44 
45 	/**
46 	 * Launch configuration attribute key. The value is a boolean specifying
47 	 * whether the user should be prompted prior to clearing the workspace.
48 	 *
49 	 * @see IPDELauncherConstants#DOCLEAR
50 	 */
51 	String ASKCLEAR = "askclear"; //$NON-NLS-1$
52 
53 	/**
54 	 * Launch configuration attribute key. The value is a string specifying
55 	 * the application to run.  If the value is <code>null</code>, the default
56 	 * application as specified in the target platform will be used.
57 	 */
58 	String APPLICATION = "application"; //$NON-NLS-1$
59 
60 	/**
61 	 * Launch configuration attribute key. The value is a string specifying
62 	 * the product to run.
63 	 *
64 	 * @see IPDELauncherConstants#APPLICATION
65 	 */
66 	String PRODUCT = "product"; //$NON-NLS-1$
67 
68 	/**
69 	 * Launch configuration attribute key. The value is a boolean specifying
70 	 * if the launch should appear in product-mode.  If the value is <code>false</code>,
71 	 * the launch takes place in application-mode.
72 	 *
73 	 * @see IPDELauncherConstants#PRODUCT
74 	 * @see IPDELauncherConstants#APPLICATION
75 	 */
76 	String USE_PRODUCT = "useProduct"; //$NON-NLS-1$
77 
78 	/**
79 	 * Launch configuration attribute key used in Plug-in JUnit launch configurations only.
80 	 * The value is a string specifying the application to be tested.
81 	 * If the value is <code>null</code>, the default UI workbench application is tested.
82 	 */
83 	String APP_TO_TEST = "testApplication"; //$NON-NLS-1$
84 
85 	/**
86 	 * Launch configuration attribute key. The value is a string specifying
87 	 * the name of the VM to launch with.  If the value is <code>null</code>,
88 	 * the default workspace VM is used.
89 	 *
90 	 * @deprecated use IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH
91 	 */
92 	@Deprecated
93 	String VMINSTALL = "vminstall"; //$NON-NLS-1$
94 
95 	/**
96 	 * Launch configuration attribute key. The value is a string specifying
97 	 * the user-entered bootstrap classpath entries.
98 	 */
99 	String BOOTSTRAP_ENTRIES = "bootstrap"; //$NON-NLS-1$
100 
101 	/**
102 	 * Launch configuration attribute key. The value is a boolean specifying
103 	 * if the default self-hosting mode should be used when launching.
104 	 * The default being to launch with all workspace plug-ins and all the
105 	 * plug-ins that are explicitly checked on the Target Platform preference page.
106 	 */
107 	String USE_DEFAULT = "default"; //$NON-NLS-1$
108 
109 	/**
110 	 * Launch configuration attribute key. The value is a boolean specifying
111 	 * if the feature-based self-hosting mode should be used.
112 	 * The workspace must be set up properly for the feature-based self-hosting
113 	 * to succeed.
114 	 * Check the PDE Tips and Tricks section for how to set up feature-based self-hosting.
115 	 *
116 	 * @deprecated As of 3.6 the feature-based self-hosting option is not supported
117 	 */
118 	@Deprecated
119 	String USEFEATURES = "usefeatures"; //$NON-NLS-1$
120 
121 	/**
122 	 * Launch configuration attribute key. The value is a string specifying
123 	 * a comma-separated list of IDs of workspace plug-ins to launch with.
124 	 * This value is only used when the Automatic Add option is off.
125 	 *
126 	 * @deprecated Use {@link IPDELauncherConstants#SELECTED_WORKSPACE_BUNDLES}
127 	 */
128 	@Deprecated
129 	String SELECTED_WORKSPACE_PLUGINS = "selected_workspace_plugins"; //$NON-NLS-1$
130 
131 	/**
132 	 * Launch configuration attribute key. The value is a set specifying
133 	 * IDs of workspace bundles to launch with.
134 	 * This value is only used when the Automatic Add option is off.
135 	 *
136 	 * Each item in the set is of the format:
137 	 * &lt;plugin-id&gt;@&lt;start-level&gt;:&lt;auto-start&gt;
138 	 *
139 	 * @see IPDELauncherConstants#AUTOMATIC_ADD
140 	 * @see IPDELauncherConstants#DEFAULT_AUTO_START
141 	 * @see IPDELauncherConstants#DEFAULT_START_LEVEL
142 	 *
143 	 * @since 3.8
144 	 */
145 	String SELECTED_WORKSPACE_BUNDLES = "selected_workspace_bundles"; //$NON-NLS-1$
146 
147 	/**
148 	 * Launch configuration attribute key. The value is a string specifying
149 	 * a comma-separated list of IDs of workspace plug-ins that are to be excluded from
150 	 * the launch.
151 	 * This value is only used when the Automatic Add option is on.
152 	 *
153 	 * @deprecated Use {@link IPDELauncherConstants#DESELECTED_WORKSPACE_BUNDLES}
154 	 */
155 	@Deprecated
156 	String DESELECTED_WORKSPACE_PLUGINS = "deselected_workspace_plugins"; //$NON-NLS-1$
157 
158 	/**
159 	 * Launch configuration attribute key. The value is a set specifying
160 	 * IDs of workspace bundles that are to be excluded from the launch.
161 	 * This value is only used when the Automatic Add option is on.
162 	 *
163 	 * @see IPDELauncherConstants#AUTOMATIC_ADD
164 	 * @since 3.8
165 	 */
166 	String DESELECTED_WORKSPACE_BUNDLES = "deselected_workspace_bundles"; //$NON-NLS-1$
167 
168 	/**
169 	 * Launch configuration attribute key. The value is a boolean specifying
170 	 * whether workspace plug-in created after the creation of a launch configuration
171 	 * should be added to the list of plug-ins to launch with.
172 	 *
173 	 * If the value is <code>true</code>, then DESELECTED_WORKSPACE_BUNDLES should be used.
174 	 * Otherwise, SELECTED_WORKSPACE_BUNDLES should be used.
175 	 *
176 	 * @see IPDELauncherConstants#DESELECTED_WORKSPACE_BUNDLES
177 	 * @see IPDELauncherConstants#SELECTED_WORKSPACE_BUNDLES
178 	 */
179 	String AUTOMATIC_ADD = "automaticAdd"; //$NON-NLS-1$
180 
181 	/**
182 	 * Launch configuration attribute key. The value is a boolean specifying
183 	 * whether the list of plug-ins to run should be validate prior to launching.
184 	 * If problems are found, they will be reported and the user will be able to cancel or
185 	 * continue.
186 	 * If no problems are found, the launch continues as normal.
187 	 */
188 	String AUTOMATIC_VALIDATE = "automaticValidate"; //$NON-NLS-1$
189 
190 	/**
191 	 * Launch configuration attribute key. The value is a string specifying
192 	 * a comma-separated list of IDs of target platform plug-ins to launch with.
193 	 * This value is only used when the Automatic Add option is off.
194 	 *
195 	 * @deprecated Use {@link IPDELauncherConstants#SELECTED_TARGET_BUNDLES}
196 	 */
197 	@Deprecated
198 	String SELECTED_TARGET_PLUGINS = "selected_target_plugins"; //$NON-NLS-1$
199 
200 	/**
201 	 * Launch configuration attribute key. The value is a set specifying
202 	 * the IDs of non-workspace bundles to launch with.
203 	 * This value is only used when the Automatic Add option is off.
204 	 *
205 	 * Each item in the set is of the format:
206 	 * &lt;plugin-id&gt;@&lt;start-level&gt;:&lt;auto-start&gt;
207 	 *
208 	 * @see IPDELauncherConstants#DEFAULT_AUTO_START
209 	 * @see IPDELauncherConstants#DEFAULT_START_LEVEL
210 	 * @since 3.8
211 	 */
212 	String SELECTED_TARGET_BUNDLES = "selected_target_bundles"; //$NON-NLS-1$
213 
214 	/**
215 	 * Launch configuration attribute key. The value is a boolean indicating
216 	 * whether the computation of required plug-ins on the Plug-ins tab should include
217 	 * the traversal of optional dependencies.
218 	 */
219 	String INCLUDE_OPTIONAL = "includeOptional"; //$NON-NLS-1$
220 
221 	/**
222 	 * Launch configuration attribute key. The value is a boolean indicating
223 	 * whether tracing is enabled or disabled.
224 	 */
225 	String TRACING = "tracing"; //$NON-NLS-1$
226 
227 	/**
228 	 * Launch configuration attribute key. The value is a map containing the list
229 	 * of options to debug with.
230 	 */
231 	String TRACING_OPTIONS = "tracingOptions"; //$NON-NLS-1$
232 
233 	/**
234 	 * Launch configuration attribute key. The value is the id of the last plug-in
235 	 * that was selected on the Tracing tab.
236 	 *
237 	 * @deprecated This option is no longer supported in the launch config.  A recent selection is stored
238 	 * in dialog settings.
239 	 */
240 	@Deprecated
241 	String TRACING_SELECTED_PLUGIN = "selectedPlugin"; //$NON-NLS-1$
242 
243 	/**
244 	 * Launch configuration attribute key. The value is the IDs of all plug-ins
245 	 * checked on the Tracing tab.  The value may also be "[NONE]"
246 	 *
247 	 * @see IPDELauncherConstants#TRACING_NONE
248 	 */
249 	String TRACING_CHECKED = "checked"; //$NON-NLS-1$
250 
251 	/**
252 	 * Launch configuration attribute value indicating that, although tracing is enabled,
253 	 * no plug-ins have been selected to be traced.
254 	 */
255 	String TRACING_NONE = "[NONE]"; //$NON-NLS-1$
256 
257 	/**
258 	 * Launch configuration attribute key. The value is a boolean specifying
259 	 * if PDE should generate a default configuration area for the launch.
260 	 *
261 	 * If <code>true</code>, a configuration location in the PDE metadata area
262 	 * is created.  Otherwise, the user is expected to specify a location.
263 	 *
264 	 * @see IPDELauncherConstants#CONFIG_LOCATION
265 	 */
266 	String CONFIG_USE_DEFAULT_AREA = "useDefaultConfigArea"; //$NON-NLS-1$
267 
268 	/**
269 	 * Launch configuration attribute key. The value is a string specifying
270 	 * the configuration area location for an Eclipse application launch.
271 	 *
272 	 * This key is only used when CONFIG_USE_DEFAULT_AREA is <code>false</code>.
273 	 *
274 	 * @see IPDELauncherConstants#CONFIG_USE_DEFAULT_AREA
275 	 */
276 	String CONFIG_LOCATION = "configLocation"; //$NON-NLS-1$
277 
278 	/**
279 	 * Launch configuration attribute key. The value is a boolean specifying
280 	 * if the configuration area location should be cleared prior to launching
281 	*/
282 	String CONFIG_CLEAR_AREA = "clearConfig"; //$NON-NLS-1$
283 
284 	/**
285 	 * Launch configuration atribute key.  The value is a boolean specifying
286 	 * if PDE should generate a default config.ini file for the launch.
287 	 *
288 	 * If <code>true</code>, a configuration file is created.
289 	 * Otherwise, the user is expected to specify a config.ini to be used as a template.
290 	 *
291 	 * @see IPDELauncherConstants#CONFIG_TEMPLATE_LOCATION
292 	 */
293 	String CONFIG_GENERATE_DEFAULT = "useDefaultConfig"; //$NON-NLS-1$
294 
295 	/**
296 	 * Launch configuration attribute key. The value is a string specifying
297 	 * the location of the config.ini file to be used as a template for an
298 	 * Eclipse application launch.
299 	 *
300 	 * This key is only used when CONFIG_GENERATE_DEFAULT is <code>false</code>.
301 	 *
302 	 * @see IPDELauncherConstants#CONFIG_GENERATE_DEFAULT
303 	 */
304 	String CONFIG_TEMPLATE_LOCATION = "templateConfig"; //$NON-NLS-1$
305 
306 	/**
307 	 * Launch configuration attribute key. The value is a string specifying
308 	 * the location of the .product file with which this launch configuration
309 	 * is associated.
310 	 */
311 	String PRODUCT_FILE = "productFile"; //$NON-NLS-1$
312 
313 	/**
314 	 * Launch configuration attribute key.  The value is the ID of an OSGi framework
315 	 * declared in an <code>org.eclipse.pde.ui.osgiLaunchers</code> extension point.
316 	 *
317 	 * @since 3.3
318 	 */
319 	String OSGI_FRAMEWORK_ID = "osgi_framework_id"; //$NON-NLS-1$
320 
321 	/**
322 	 * Launch configuration attribute key.  The value is a boolean specifying
323 	 * if the default Auto-Start for an OSGi Framework launch configuration
324 	 * is <code>true</code> or <code>false</code>
325 	 *
326 	 * @see IPDELauncherConstants#DEFAULT_START_LEVEL
327 	 */
328 	String DEFAULT_AUTO_START = "default_auto_start"; //$NON-NLS-1$
329 
330 	/**
331 	 * Launch configuration attribute key.  The value is an integer specifying
332 	 * the default start level for bundles in an OSGi Framework launch configuration.
333 	 *
334 	 * @see IPDELauncherConstants#DEFAULT_AUTO_START
335 	 */
336 	String DEFAULT_START_LEVEL = "default_start_level"; //$NON-NLS-1$
337 
338 	/**
339 	 * Launch configuration attribute key.  The value is a comma-separated list
340 	 * of workspace bundles to launch with the OSGi framework.
341 	 *
342 	 * Each token in the list is of the format:
343 	 * &lt;plugin-id&gt;@&lt;start-level&gt;:&lt;auto-start&gt;
344 	 *
345 	 * @deprecated Use {@link IPDELauncherConstants#SELECTED_WORKSPACE_BUNDLES}
346 	 */
347 	@Deprecated
348 	String WORKSPACE_BUNDLES = "workspace_bundles"; //$NON-NLS-1$
349 
350 	/**
351 	 * Launch configuration attribute key.  The value is a comma-separated list
352 	 * of non-workspace bundles to launch with the OSGi framework.
353 	 *
354 	 * Each token in the list is of the format:
355 	 * &lt;plugin-id&gt;@&lt;start-level&gt;:&lt;auto-start&gt;
356 	 *
357 	 * @deprecated Use {@link IPDELauncherConstants#SELECTED_TARGET_BUNDLES}
358 	 */
359 	@Deprecated
360 	String TARGET_BUNDLES = "target_bundles"; //$NON-NLS-1$
361 
362 	/**
363 	 * Launch configuration attribute key.  The value can be either the full path
364 	 * to the workspace location of a Target Definition (ie. .target file), or
365 	 * the ID of a target defined in an org.eclipse.pde.core.targets extension.
366 	 */
367 	String DEFINED_TARGET = "defined_target"; //$NON-NLS-1$
368 
369 	/**
370 	 * Launch configuration attribute key. The value is a boolean indicating
371 	 * whether or not to display only selected plug-ins.
372 	 *
373 	 * @since 3.4
374 	 */
375 	String SHOW_SELECTED_ONLY = "show_selected_only"; //$NON-NLS-1$
376 
377 	/**
378 	 * The unique tab identifier for the bundles tab
379 	 *
380 	 * @since 3.5
381 	 */
382 	String TAB_BUNDLES_ID = "org.eclipse.pde.ui.launch.tab.osgi.bundles"; //$NON-NLS-1$
383 
384 	/**
385 	 * The unique tab identifier for the configuration tab
386 	 *
387 	 * @since 3.5
388 	 */
389 	String TAB_CONFIGURATION_ID = "org.eclipse.pde.ui.launch.tab.configuration"; //$NON-NLS-1$
390 
391 	/**
392 	 * The unique tab identifier for the main tab
393 	 *
394 	 * @since 3.5
395 	 */
396 	String TAB_MAIN_ID = "org.eclipse.pde.ui.launch.tab.main"; //$NON-NLS-1$
397 
398 	/**
399 	 * The unique tab identifier for the osgi settings tab
400 	 *
401 	 * @since 3.5
402 	 */
403 	String TAB_OSGI_SETTINGS_ID = "org.eclipse.pde.ui.launch.tab.osgi.settings"; //$NON-NLS-1$
404 
405 	/**
406 	 * The unique tab identifier for the plug-in junit tab
407 	 *
408 	 * @since 3.5
409 	 */
410 	String TAB_PLUGIN_JUNIT_MAIN_ID = "org.eclipse.pde.ui.launch.tab.junit.main"; //$NON-NLS-1$
411 
412 	/**
413 	 * The unique tab identifier for the plug-ins tab
414 	 *
415 	 * @since 3.5
416 	 */
417 	String TAB_PLUGINS_ID = "org.eclipse.pde.ui.launch.tab.plugins"; //$NON-NLS-1$
418 
419 	/**
420 	 * The unique tab identifier for the tracing tab
421 	 *
422 	 * @since 3.5
423 	 */
424 	String TAB_TRACING_ID = "org.eclipse.pde.ui.launch.tab.tracing"; //$NON-NLS-1$
425 
426 	/**
427 	 * The unique tab identifier for the tracing tab
428 	 *
429 	 * @since 3.5
430 	 */
431 	String TAB_TEST_ID = "org.eclipse.pde.ui.launch.tab.test"; //$NON-NLS-1$
432 
433 	/**
434 	 * The launch configuration type id for OSGi launches.
435 	 *
436 	 * @since 3.5
437 	 */
438 	String OSGI_CONFIGURATION_TYPE = "org.eclipse.pde.ui.EquinoxLauncher"; //$NON-NLS-1$
439 
440 	/**
441 	 * Launch configuration attribute key. The value is a boolean specifying
442 	 * whether the tests should run on the UI thread.
443 	 *
444 	 * The default value is <code>true</code>
445 	 *
446 	 * @since 3.5
447 	 */
448 	String RUN_IN_UI_THREAD = "run_in_ui_thread"; //$NON-NLS-1$
449 
450 	/**
451 	 * The launch configuration type for Eclipse application launches.
452 	 *
453 	 * @since 3.6
454 	 */
455 	String ECLIPSE_APPLICATION_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.pde.ui.RuntimeWorkbench"; //$NON-NLS-1$
456 
457 	/**
458 	 * Launch configuration attribute key.  The value is a boolean specifying
459 	 * whether a p2 profile should be
460 	 *
461 	 * @since 3.6
462 	 */
463 	String GENERATE_PROFILE = "generateProfile"; //$NON-NLS-1$
464 
465 	/**
466 	 * Launch configuration attribute key. The value is a List specifying the features
467 	 * to include when launching (when {@link #USE_CUSTOM_FEATURES} is set to <code>true</code>.
468 	 * The values in the List are strings that contain the id and plugin resolution value as follows:
469 	 * <pre>
470 	 * [feature_id]:[resolution]
471 	 * </pre>
472 	 * The resolution must be one of {@link #LOCATION_DEFAULT}, {@link #LOCATION_EXTERNAL}, {@link #LOCATION_WORKSPACE}
473 	 *
474 	 * @since 3.6
475 	 */
476 	String SELECTED_FEATURES = "selected_features"; //$NON-NLS-1$
477 
478 	/**
479 	 * Launch configuration attribute key. The value is a boolean specifying
480 	 * if the feature-based launching mode should be used.
481 	 * This mode will launch with all the workspace and external features
482 	 * that have been explicitly selected in the Plug-ins Tab.
483 	 *
484 	 *  @since 3.6
485 	 */
486 	String USE_CUSTOM_FEATURES = "useCustomFeatures"; //$NON-NLS-1$
487 
488 	/**
489 	 * Launch configuration attribute key. The value is a String specifying
490 	 * if the default location for a feature is {@link #LOCATION_WORKSPACE}
491 	 * or {@link #LOCATION_EXTERNAL}
492 	 *
493 	 *  @since 3.6
494 	 */
495 	String FEATURE_DEFAULT_LOCATION = "featureDefaultLocation"; //$NON-NLS-1$
496 
497 	/**
498 	 * Launch configuration attribute key. The value is a String specifying
499 	 * if the default plug-in resolution location for a feature
500 	 * is {@link #LOCATION_WORKSPACE} or {@link #LOCATION_EXTERNAL}
501 	 *
502 	 *  @since 3.6
503 	 */
504 	String FEATURE_PLUGIN_RESOLUTION = "featurePluginResolution"; //$NON-NLS-1$
505 
506 	/**
507 	 * Value for a launch configuration attribute used when the object should be
508 	 * obtained from whatever the default location is for this works
509 	 *
510 	 * @since 3.6
511 	 * @see #FEATURE_PLUGIN_RESOLUTION
512 	 */
513 	String LOCATION_DEFAULT = "default"; //$NON-NLS-1$
514 
515 	/**
516 	 * Value for a launch configuration attribute used when the object should
517 	 * be obtained from an external location over the workspace.
518 	 *
519 	 * @since 3.6
520 	 * @see #FEATURE_DEFAULT_LOCATION
521 	 * @see #FEATURE_PLUGIN_RESOLUTION
522 	 */
523 	String LOCATION_EXTERNAL = "external"; //$NON-NLS-1$
524 
525 	/**
526 	 * Value for a launch configuration attribute used when the object should
527 	 * be obtained from the workspace over an external location.
528 	 *
529 	 * @since 3.6
530 	 * @see #FEATURE_DEFAULT_LOCATION
531 	 * @see #FEATURE_PLUGIN_RESOLUTION
532 	 */
533 	String LOCATION_WORKSPACE = "workspace"; //$NON-NLS-1$
534 
535 	/**
536 	 * Launch configuration attribute key. The value is a List specifying the additional plug-ins that
537 	 * will be included along with the features in the list {@link #SELECTED_FEATURES}
538 	 * when launching (when {@link #USE_CUSTOM_FEATURES} is set to <code>true</code>.
539 	 * The values in the List are strings that contain the id and versions as follows:
540 	 * <pre>
541 	 * [plugin_id]:[version]
542 	 * </pre>
543 	 *
544 	 * @since 3.6
545 	 */
546 	String ADDITIONAL_PLUGINS = "additional_plugins"; //$NON-NLS-1$
547 }
548