|
26 | 26 | import org.eclipse.cdt.core.templateengine.process.ProcessArgument; |
27 | 27 | import org.eclipse.cdt.core.templateengine.process.ProcessFailureException; |
28 | 28 | import org.eclipse.cdt.core.templateengine.process.ProcessRunner; |
| 29 | +import org.eclipse.cdt.utils.pty.PTY; |
| 30 | +import org.eclipse.cdt.utils.pty.PTY.Mode; |
29 | 31 | import org.eclipse.cdt.utils.spawner.ProcessFactory; |
30 | 32 | import org.eclipse.core.resources.IProject; |
31 | 33 | import org.eclipse.core.resources.IResource; |
32 | 34 | import org.eclipse.core.resources.ResourcesPlugin; |
33 | 35 | import org.eclipse.core.runtime.CoreException; |
34 | 36 | import org.eclipse.core.runtime.IProgressMonitor; |
35 | 37 | import org.eclipse.core.runtime.IStatus; |
| 38 | +import org.eclipse.core.runtime.Platform; |
36 | 39 | import org.eclipse.embedcdt.core.EclipseUtils; |
37 | 40 | import org.eclipse.embedcdt.core.StringUtils; |
38 | 41 | import org.eclipse.embedcdt.internal.core.Activator; |
@@ -150,7 +153,12 @@ public void process(TemplateCore template, ProcessArgument[] args, String proces |
150 | 153 |
|
151 | 154 | try { |
152 | 155 | BufferedReader reader = null; |
153 | | - Process process = ProcessFactory.getFactory().exec(cmdArray, envp, dir); |
| 156 | + Process process; |
| 157 | + if (!PTY.isSupported(Mode.TERMINAL) || Platform.OS_WIN32.equals(Platform.getOS())) { |
| 158 | + process = ProcessFactory.getFactory().exec(cmdArray, envp); |
| 159 | + } else { |
| 160 | + process = ProcessFactory.getFactory().exec(cmdArray, envp, null, new PTY(Mode.TERMINAL)); |
| 161 | + } |
154 | 162 | reader = new BufferedReader(new InputStreamReader(process.getInputStream())); |
155 | 163 |
|
156 | 164 | String line; |
|
0 commit comments