10
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
1 |
/*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved.
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0"
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
8 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors:
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution.
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
11 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors:
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
13 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
14 |
* Description:
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
15 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
16 |
* Utility functions for workbench monitoring
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
17 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
18 |
*/
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
19 |
package com.nokia.tracebuilder.eclipse;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
20 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
21 |
import java.lang.reflect.InvocationTargetException;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
22 |
import java.lang.reflect.Method;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
23 |
import java.net.URI;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
24 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
25 |
import org.eclipse.core.resources.IFile;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
26 |
import org.eclipse.core.resources.IProject;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
27 |
import org.eclipse.core.resources.IWorkspaceRoot;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
28 |
import org.eclipse.core.resources.ResourcesPlugin;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
29 |
import org.eclipse.core.runtime.IPath;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
30 |
import org.eclipse.core.runtime.Path;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
31 |
import org.eclipse.ui.IEditorInput;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
32 |
import org.eclipse.ui.IEditorPart;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
33 |
import org.eclipse.ui.IEditorReference;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
34 |
import org.eclipse.ui.IPathEditorInput;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
35 |
import org.eclipse.ui.IWorkbenchPage;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
36 |
import org.eclipse.ui.IWorkbenchPartReference;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
37 |
import org.eclipse.ui.IWorkbenchWindow;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
38 |
import org.eclipse.ui.PlatformUI;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
39 |
import org.eclipse.ui.texteditor.IDocumentProvider;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
40 |
import org.eclipse.ui.texteditor.ITextEditor;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
41 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
42 |
import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
43 |
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
44 |
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
45 |
import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
46 |
import com.nokia.tracebuilder.engine.TraceBuilderGlobals;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
47 |
import com.nokia.tracebuilder.file.FileUtils;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
48 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
49 |
/**
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
50 |
* Utility functions for workbench monitoring
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
51 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
52 |
*/
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
53 |
final class WorkbenchUtils {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
54 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
55 |
/**
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
56 |
* Gets the path from given editor input
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
57 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
58 |
* @param input
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
59 |
* the editor input
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
60 |
* @return the path
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
61 |
*/
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
62 |
static String getEditorInputPath(IEditorInput input) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
63 |
String ret = null;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
64 |
// Eclipse 3.2
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
65 |
if (input instanceof IPathEditorInput) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
66 |
IPathEditorInput pathInput = (IPathEditorInput) input;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
67 |
if (pathInput.exists()) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
68 |
IPath path = ((IPathEditorInput) input).getPath();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
69 |
if (path != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
70 |
ret = path.toOSString();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
71 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
72 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
73 |
} else {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
74 |
// Eclipse 3.3 might not be present
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
75 |
try {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
76 |
Class<?> uriEditor = Class
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
77 |
.forName("org.eclipse.ui.IURIEditorInput"); //$NON-NLS-1$
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
78 |
if (uriEditor.isAssignableFrom(input.getClass())) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
79 |
Method m = uriEditor.getMethod("getURI"); //$NON-NLS-1$
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
80 |
URI uri = (URI) m.invoke(input);
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
81 |
if (uri != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
82 |
ret = uri.getPath();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
83 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
84 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
85 |
} catch (ClassNotFoundException e) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
86 |
} catch (SecurityException e) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
87 |
} catch (NoSuchMethodException e) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
88 |
} catch (IllegalArgumentException e) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
89 |
} catch (IllegalAccessException e) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
90 |
} catch (InvocationTargetException e) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
91 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
92 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
93 |
return ret;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
94 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
95 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
96 |
/**
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
97 |
* Checks if there are any editors open
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
98 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
99 |
* @return true if editors are open, false if not
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
100 |
*/
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
101 |
static boolean isEditorsOpen() {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
102 |
boolean editorOpen = false;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
103 |
IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
104 |
.getWorkbenchWindows();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
105 |
for (IWorkbenchWindow window : windows) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
106 |
IWorkbenchPage[] pages = window.getPages();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
107 |
for (IWorkbenchPage page : pages) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
108 |
IEditorReference[] refs = page.getEditorReferences();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
109 |
for (IEditorReference ref : refs) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
110 |
IFile file = WorkbenchUtils.getEditorFile(ref);
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
111 |
if (file != null && FileUtils.isFileAllowed(file.getName())) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
112 |
editorOpen = true;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
113 |
break;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
114 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
115 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
116 |
if (editorOpen) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
117 |
break;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
118 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
119 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
120 |
if (editorOpen) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
121 |
break;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
122 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
123 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
124 |
return editorOpen;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
125 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
126 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
127 |
/**
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
128 |
* Checks if the editor is valid and returns the file the editor is
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
129 |
* associated to
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
130 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
131 |
* @param partRef
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
132 |
* the editor reference
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
133 |
* @return the editor file
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
134 |
*/
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
135 |
static IFile getEditorFile(IWorkbenchPartReference partRef) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
136 |
IFile editorFile = null;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
137 |
if (partRef instanceof IEditorReference) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
138 |
IEditorPart editor = ((IEditorReference) partRef).getEditor(false);
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
139 |
if (editor instanceof ITextEditor) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
140 |
IDocumentProvider provider = ((ITextEditor) editor)
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
141 |
.getDocumentProvider();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
142 |
if (provider != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
143 |
IEditorInput input = editor.getEditorInput();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
144 |
if (input instanceof IPathEditorInput) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
145 |
IPath path = null;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
146 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
147 |
IPathEditorInput pathEditorInput = (IPathEditorInput) input;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
148 |
if (pathEditorInput.exists()) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
149 |
path = pathEditorInput.getPath();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
150 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
151 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
152 |
if (path != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
153 |
IWorkspaceRoot root = ResourcesPlugin
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
154 |
.getWorkspace().getRoot();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
155 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
156 |
IFile[] fileArr = root
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
157 |
.findFilesForLocationURI(FileUtils
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
158 |
.makeURI(path));
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
159 |
// There can be only one file with this path
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
160 |
if (fileArr != null && fileArr.length > 0) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
161 |
editorFile = fileArr[0];
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
162 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
163 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
164 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
165 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
166 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
167 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
168 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
169 |
return editorFile;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
170 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
171 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
172 |
/**
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
173 |
* Returns the absolute file system path to the EPOCROOT directory of the
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
174 |
* SDK for the active build configuration of the project
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
175 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
176 |
* @param project
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
177 |
* the project
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
178 |
* @return the absolute path to EPOCROOT, or null if the project is not a
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
179 |
* Carbide project, is closed, or there are no build configurations
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
180 |
* in the project.
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
181 |
*/
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
182 |
static IPath getEpocRootForProject(IProject project) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
183 |
IPath epocroot = null;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
184 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
185 |
if (project != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
186 |
if (CarbideBuilderPlugin.getBuildManager()
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
187 |
.isCarbideProject(project)
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
188 |
&& project.isAccessible()) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
189 |
ICarbideProjectInfo cpi = CarbideBuilderPlugin
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
190 |
.getBuildManager().getProjectInfo(project);
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
191 |
if (cpi != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
192 |
ICarbideBuildConfiguration config = cpi
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
193 |
.getDefaultConfiguration();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
194 |
if (config != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
195 |
ISymbianSDK sdk = config.getSDK();
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
196 |
if (sdk != null) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
197 |
epocroot = new Path(sdk.getEPOCROOT());
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
198 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
199 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
200 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
201 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
202 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
203 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
204 |
return epocroot;
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
205 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
206 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
207 |
/**
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
208 |
* Posts user include added message
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
209 |
*
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
210 |
* @param mmpPath
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
211 |
* MMP path
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
212 |
*/
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
213 |
protected static void postUserIncludeMsg(IPath mmpPath) {
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
214 |
String msg = Messages.getString("WorkbenchUtils.UserIncludeMsg"); //$NON-NLS-1$
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
215 |
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
216 |
// Post the message
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
217 |
TraceBuilderGlobals.getEvents().postInfoMessage(msg,
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
218 |
mmpPath.lastSegment());
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
219 |
}
|
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff
changeset
|
220 |
}
|