first version of external tools
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / externaltools / model / IExternalToolConstants.java
1 package net.sourceforge.phpdt.externaltools.model;
2
3 /**********************************************************************
4 Copyright (c) 2002 IBM Corp. and others. All rights reserved.
5 This file is made available under the terms of the Common Public License v1.0
6 which accompanies this distribution, and is available at
7 http://www.eclipse.org/legal/cpl-v10.html
8  
9 Contributors:
10 **********************************************************************/
11
12 /**
13  * Defines the constants available for client use.
14  * <p>
15  * This interface is not intended to be extended or implemented by clients.
16  * </p>
17  */
18 public interface IExternalToolConstants {
19         /**
20          * Plugin identifier for external tools (value <code>org.eclipse.ui.externaltools</code>).
21          */
22         public static final String PLUGIN_ID = "net.sourceforge.phpeclipse"; //$NON-NLS-1$;
23
24         // ------- Extensions Points -------
25         /**
26          * Extension point to declare the launch configuration type that should be
27          * created when duplicating an existing configuration as a project builder.
28          */
29         public static final String EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS = "configurationDuplicationMaps"; //$NON-NLS-1$
30         /**
31          * Extension point to declare argument variables
32          * (value <code>argumentVariables</code>).
33          */
34         public static final String EXTENSION_POINT_ARGUMENT_VARIABLES = "argumentVariables"; //$NON-NLS-1$
35
36         /**
37          * Extension point to declare file variables
38          * (value <code>fileVariables</code>).
39          */
40         public static final String EXTENSION_POINT_FILE_VARIABLES = "fileVariables"; //$NON-NLS-1$
41
42         /**
43          * Extension point to declare directory variables
44          * (value <code>directoryVariables</code>).
45          */
46         public static final String EXTENSION_POINT_DIRECTORY_VARIABLES = "directoryVariables"; //$NON-NLS-1$
47
48         /**
49          * Extension point to declare refresh scope variables
50          * (value <code>refreshVariables</code>).
51          */
52         public static final String EXTENSION_POINT_REFRESH_VARIABLES = "refreshVariables"; //$NON-NLS-1$
53
54         // ------- Views -------
55
56         /**
57          * Ant View identifier (value <code>org.eclipse.ui.externaltools.AntView</code>).
58          */
59         //public static final String ANT_VIEW_ID = PLUGIN_ID + ".AntView"; //$NON-NLS-1$
60
61         // ------- Tool Types -------
62         /**
63          * External tool type for programs such as executables, batch files, 
64          * shell scripts, etc (value <code>programType</code>).
65          */
66         public static final String TOOL_TYPE_PROGRAM = "programType"; //$NON-NLS-1$;
67
68         /**
69          * External tool type for Ant build files (value <code>antBuildType</code>).
70          */
71         //public static final String TOOL_TYPE_ANT_BUILD = "antBuildType"; //$NON-NLS-1$;
72
73         // ------- Variables -------
74
75         /**
76          * Variable that expands to the absolute path on the system's hard drive
77          * to the workspace directory (value <code>workspace_loc</code>).
78          */
79         public static final String VAR_WORKSPACE_LOC = "workspace_loc"; //$NON-NLS-1$
80
81         /**
82          * Variable that expands to the absolute path on the system's hard drive
83          * to a project's directory (value <code>project_loc</code>).
84          */
85         public static final String VAR_PROJECT_LOC = "project_loc"; //$NON-NLS-1$
86
87         /**
88          * Variable that expands to the full path, relative to the workspace root,
89          * of a project (value <code>project_path</code>).
90          */
91         public static final String VAR_PROJECT_PATH = "project_path"; //$NON-NLS-1$
92
93         /**
94          * Variable that expands to the name of a project (value <code>project_name</code>).
95          */
96         public static final String VAR_PROJECT_NAME = "project_name"; //$NON-NLS-1$
97
98         /**
99          * Variable that expands to the absolute path on the system's hard drive
100          * to a resource's location (value <code>resource_loc</code>).
101          */
102         public static final String VAR_RESOURCE_LOC = "resource_loc"; //$NON-NLS-1$
103
104         /**
105          * Variable that expands to the full path, relative to the workspace root,
106          * of a resource (value <code>resource_path</code>).
107          */
108         public static final String VAR_RESOURCE_PATH = "resource_path"; //$NON-NLS-1$
109
110         /**
111          * Variable that expands to the name of a resource (value <code>resource_name</code>).
112          */
113         public static final String VAR_RESOURCE_NAME = "resource_name"; //$NON-NLS-1$
114
115         /**
116          * Variable that expands to the absolute path on the system's hard drive
117          * to a resource's containing directory (value <code>container_loc</code>).
118          */
119         public static final String VAR_CONTAINER_LOC = "container_loc"; //$NON-NLS-1$
120
121         /**
122          * Variable that expands to the full path, relative to the workspace root,
123          * of a resource's parent (value <code>container_path</code>).
124          */
125         public static final String VAR_CONTAINER_PATH = "container_path"; //$NON-NLS-1$
126
127         /**
128          * Variable that expands to the name of a resource's parent (value <code>container_name</code>).
129          */
130         public static final String VAR_CONTAINER_NAME = "container_name"; //$NON-NLS-1$
131
132         /**
133          * Variable that expands to the type of build (value <code>build_type</code>). See
134          * <code>BUILD_TYPE_*</code> constants for possible values.
135          */
136         public static final String VAR_BUILD_TYPE = "build_type"; //$NON-NLS-1$
137
138         /**
139          * Variable that expands to the current editor cursor column (value <code>editor_cur_col</code>).
140          */
141         public static final String VAR_EDITOR_CUR_COL = "editor_cur_col"; //$NON-NLS-1$
142
143         /**
144          * Variable that expands to the current editor cursor line (value <code>editor_cur_line</code>).
145          */
146         public static final String VAR_EDITOR_CUR_LINE = "editor_cur_line"; //$NON-NLS-1$
147
148         /**
149          * Variable that expands to the current editor selected text (value <code>editor_sel_text</code>).
150          */
151         public static final String VAR_EDITOR_SEL_TEXT = "editor_sel_text"; //$NON-NLS-1$
152
153         // ------- Refresh Variables -------
154         /**
155          * Variable that expands to the workspace root object (value <code>workspace</code>).
156          */
157         public static final String VAR_WORKSPACE = "workspace"; //$NON-NLS-1$
158
159         /**
160          * Variable that expands to the project resource (value <code>project</code>).
161          */
162         public static final String VAR_PROJECT = "project"; //$NON-NLS-1$
163
164         /**
165          * Variable that expands to the container resource (value <code>container</code>).
166          */
167         public static final String VAR_CONTAINER = "container"; //$NON-NLS-1$
168
169         /**
170          * Variable that expands to a resource (value <code>resource</code>).
171          */
172         public static final String VAR_RESOURCE = "resource"; //$NON-NLS-1$
173
174         /**
175          * Variable that expands to the working set object (value <code>working_set</code>).
176          */
177         public static final String VAR_WORKING_SET = "working_set"; //$NON-NLS-1$
178
179         // ------- Build Types -------
180         /**
181          * Build type indicating an incremental project build request for
182          * the external tool running as a builder (value <code>incremental</code>).
183          */
184         public static final String BUILD_TYPE_INCREMENTAL = "incremental"; //$NON-NLS-1$
185
186         /**
187          * Build type indicating a full project build request for
188          * the external tool running as a builder (value <code>full</code>).
189          */
190         public static final String BUILD_TYPE_FULL = "full"; //$NON-NLS-1$
191
192         /**
193          * Build type indicating an automatic project build request for
194          * the external tool running as a builder (value <code>incremental</code>).
195          */
196         public static final String BUILD_TYPE_AUTO = "auto"; //$NON-NLS-1$
197
198         /**
199          * Build type indicating an no project build request for
200          * the external tool running as a builder (value <code>none</code>).
201          */
202         public static final String BUILD_TYPE_NONE = "none"; //$NON-NLS-1$
203
204         // ------- Images -------
205         /**
206          * External tools wizard banner image
207          */
208         public static final String IMG_WIZBAN_EXTERNAL_TOOLS = PLUGIN_ID + ".IMG_WIZBAN_EXTERNAL_TOOLS"; //$NON-NLS-1$
209
210         /**
211          * Refresh action image
212          */
213         public static final String IMG_ACTION_REFRESH = PLUGIN_ID + ".IMG_ACTION_REFRESH"; //$NON-NLS-1$
214
215         /**
216          * Main tab image.
217          */
218         public static final String IMG_TAB_MAIN = PLUGIN_ID + ".IMG_TAB_MAIN"; //$NON-NLS-1$
219
220         /**
221          * Options tab image.
222          */
223         public static final String IMG_TAB_OPTIONS = PLUGIN_ID + ".IMG_TAB_OPTIONS"; //$NON-NLS-1$
224
225         /**
226          * Ant Targets tab image.
227          */
228         public static final String IMG_TAB_ANT_TARGETS = PLUGIN_ID + ".IMG_TAB_ANT_TARGETS"; //$NON-NLS-1$
229
230         // ------- Launch configuration types --------
231         /**
232          * Ant launch configuration type identifier.
233          */
234 //      public static final String ID_ANT_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ant.AntLaunchConfigurationType"; //$NON-NLS-1$
235         
236         /**
237          * Ant builder launch configuration type identifier. Ant project builders
238          * are of this type.
239          */
240 //      public static final String ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ant.AntBuilderLaunchConfigurationType"; //$NON-NLS-1$
241
242         /**
243          * Program launch configuration type identifier.
244          */
245         public static final String ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE = "net.sourceforge.phpdt.externaltools.ProgramLaunchConfigurationType"; //$NON-NLS-1$
246         
247         /**
248          * Program builder launch configuration type identifier. Program project
249          * builders are of this type.
250          */
251         public static final String ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE = "net.sourceforge.phpdt.externaltools.ProgramBuilderLaunchConfigurationType"; //$NON-NLS-1$    
252
253         // ------- Launch configuration category --------
254         /**
255          * Identifier for external tools launch configuration category. Launch
256          * configuration types for external tools that appear in the external tools
257          * launch configuration dialog should belong to this category.
258          */
259         public static final String ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY = "net.sourceforge.phpdt.externaltools"; //$NON-NLS-1$
260         /**
261          * Identifier for external tools launch configuration builders category.
262          * Launch configuration types that can be added as project builders should
263          * belong to this category.
264          */
265         public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY = "net.sourceforge.phpdt.externaltools.builder"; //$NON-NLS-1$
266
267         // ------- Launch configuration groups --------
268         /**
269          * Identifier for external tools launch configuration group. The external
270          * tools launch configuration group corresponds to the external tools
271          * category in run mode.
272          */
273         public static final String ID_EXTERNAL_TOOLS_LAUNCH_GROUP = "net.sourceforge.phpdt.externaltools.launchGroup"; //$NON-NLS-1$
274         /**
275          * Identifier for external tools launch configuration group
276          */
277         public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP = "net.sourceforge.phpdt.externaltools.launchGroup.builder"; //$NON-NLS-1$
278
279         // ------- Common External Tool Launch Configuration Attributes -------
280
281         /**
282          * Boolean attribute indicating if external tool output should be captured.
283          * Default value is <code>false</code>.
284          */
285         public static final String ATTR_CAPTURE_OUTPUT = PLUGIN_ID + ".ATTR_CAPTURE_OUTPUT"; //$NON-NLS-1$
286         /**
287          * String attribute identifying the location of an external. Default value
288          * is <code>null</code>. Encoding is tool specific.
289          */
290         public static final String ATTR_LOCATION = PLUGIN_ID + ".ATTR_LOCATION"; //$NON-NLS-1$
291
292         /**
293          * Boolean attribute indicating if the user should be prompted for
294          * arguments before running a tool. Default value is <code>false</code>.
295          */
296         public static final String ATTR_PROMPT_FOR_ARGUMENTS = PLUGIN_ID + ".ATTR_PROMPT_FOR_ARGUMENTS"; //$NON-NLS-1$
297
298         /**
299          * Boolean attribute indicating if a refresh scope is recursive. Default
300          * value is <code>false</code>.
301          */
302         public static final String ATTR_REFRESH_RECURSIVE = PLUGIN_ID + ".ATTR_REFRESH_RECURSIVE"; //$NON-NLS-1$
303
304         /**
305          * String attribute identifying the scope of resources that should be
306          * refreshed after an external tool is run. Default value is
307          * <code>null</code>, indicating no refresh. Format is ???
308          */
309         public static final String ATTR_REFRESH_SCOPE = PLUGIN_ID + ".ATTR_REFRESH_SCOPE"; //$NON-NLS-1$
310         
311         /**
312          * String attribute containing an array of build kinds for which an
313          * external tool builder should be run.
314          */
315         public static final String ATTR_RUN_BUILD_KINDS = PLUGIN_ID + ".ATTR_RUN_BUILD_KINDS"; //$NON-NLS-1$
316
317         /**
318          * Boolean attribute indicating if an external tool should be run in the
319          * background. Default value is <code>false</code>.
320          */
321         public static final String ATTR_RUN_IN_BACKGROUND = PLUGIN_ID + ".ATTR_RUN_IN_BACKGROUND"; //$NON-NLS-1$
322         
323         /**
324          * Boolean attribute indicating if the console should be shown on external
325          * tool output. Default value is <code>false</code>.
326          */
327         public static final String ATTR_SHOW_CONSOLE = PLUGIN_ID + ".ATTR_SHOW_CONSOLE"; //$NON-NLS-1$
328
329         /**
330          * String attribute containing the arguments that should be passed to the
331          * tool. Default value is <code>null</code>, and encoding is tool specific.
332          */
333         public static final String ATTR_TOOL_ARGUMENTS = PLUGIN_ID + ".ATTR_TOOL_ARGUMENTS"; //$NON-NLS-1$
334
335         /**
336          * String attribute identifying the working directory of an external tool.
337          * Default value is <code>null</code>, which indicates a default working
338          * directory, which is tool specific.
339          */
340         public static final String ATTR_WORKING_DIRECTORY = PLUGIN_ID + ".ATTR_WORKING_DIRECTORY"; //$NON-NLS-1$
341
342         // ------- Common Ant Launch Configuration Attributes -------
343         /**
344          * String attribute indicating the Ant targets to execute. Default value is
345          * <code>null</code> which indicates that the default target is to be
346          * executed. Format is a comma separated listing of targets.
347          */
348         public static final String ATTR_ANT_TARGETS = PLUGIN_ID + ".ATTR_ANT_TARGETS"; //$NON-NLS-1$
349
350         /**
351          * Map attribute indicating the Ant properties to be defined during the
352          * build. Default value is <code>null</code> which indicates no additional
353          * properties will be defined.
354          */
355         public static final String ATTR_ANT_PROPERTIES = PLUGIN_ID + ".ATTR_ANT_PROPERTIES"; //$NON-NLS-1$                                      
356
357         /**
358          * String attribute indicating the Ant targets to execute. Default value is
359          * <code>null</code> which indicates that no additional property files
360          * will be defined. Format is a comma separated listing of property files.
361          */
362         //public static final String ATTR_ANT_PROPERTY_FILES = PLUGIN_ID + ".ATTR_ANT_PROPERTY_FILES"; //$NON-NLS-1$
363         
364         /**
365         * String attribute indicating the custom runtime classpath to use for an Ant
366         * build. Default value is <code>null</code> which indicates that the global
367         * classpath is to be used. Format is a comma separated listing of URLs.
368         */
369         //public static final String ATTR_ANT_CUSTOM_CLASSPATH = PLUGIN_ID + ".ATTR_ANT_CUSTOM_CLASSPATH"; //$NON-NLS-1$
370         
371         /**
372          * String attribute indicating the custom Ant home to use for an Ant build.
373          * Default value is <code>null</code> which indicates that no Ant homeis to
374          * be set 
375          */
376         //public static final String ATTR_ANT_HOME = PLUGIN_ID + ".ATTR_ANT_HOME"; //$NON-NLS-1$
377         
378         /**
379          * Identifier for ant processes (value <code>ant</code>). This identifier is
380          * set as the value for the <code>IProcess.ATTR_PROCESS_TYPE</code>
381          * attribute in processes create by the ant launch delegate.
382          */
383         //public static final String ID_ANT_PROCESS_TYPE = "ant"; //$NON-NLS-1$                                                                 
384 }