本文整理汇总了Java中com.intellij.execution.util.ExecUtil类的典型用法代码示例。如果您正苦于以下问题:Java ExecUtil类的具体用法?Java ExecUtil怎么用?Java ExecUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ExecUtil类属于com.intellij.execution.util包,在下文中一共展示了ExecUtil类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: listDevices
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Test
public void listDevices() {
System.out.println(
System.getProperty("user.home"));
// System.getProperties().list(System.out);
GeneralCommandLine commandLine = RNPathUtil.cmdToGeneralCommandLine(IOSDevicesParser.LIST_Simulator_JSON);
try {
String json = ExecUtil.execAndGetOutput(commandLine).getStdout();
System.out.println("json=" + json);
Simulators result = new Gson().fromJson(json, Simulators.class);
System.out.println(result.devices.keySet());
System.out.println(result.devices.get("iOS 10.3")[0]);
} catch (ExecutionException e) {
e.printStackTrace();
NotificationUtils.errorNotification( "xcrun invocation failed. Please check that Xcode is installed." );
}
}
示例2: parseCurrentPathFromRNConsoleJsonFile
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Test
public void parseCurrentPathFromRNConsoleJsonFile() {
// System.out.println(
// System.getProperty("user.home"));
// System.getProperties().list(System.out);
GeneralCommandLine commandLine = RNPathUtil.cmdToGeneralCommandLine(IOSDevicesParser.LIST_DEVICES);
try {
String json = ExecUtil.execAndGetOutput(commandLine).getStdout();
System.out.println(json);
Arrays.asList(json.split("\n")).forEach(line -> {
System.out.println(line);
// Pattern pattern = Pattern
// .compile("^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\/])+$");
boolean device = line.matches("^(.*?) \\((.*?)\\)\\ \\[(.*?)\\]");
System.out.println("device=" + device);
// String noSimulator = line.match(/(.*?) \((.*?)\) \[(.*?)\] \((.*?)\)/);
});
} catch (ExecutionException e) {
e.printStackTrace();
NotificationUtils.errorNotification( "xcrun invocation failed. Please check that Xcode is installed." );
return;
}
}
示例3: getOpenBrowserCommand
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@NotNull
public static List<String> getOpenBrowserCommand(@NonNls @NotNull String browserPathOrName, boolean newWindowIfPossible) {
if (new File(browserPathOrName).isFile()) {
return Collections.singletonList(browserPathOrName);
}
else if (SystemInfo.isMac) {
List<String> command = newArrayList(ExecUtil.getOpenCommandPath(), "-a", browserPathOrName);
if (newWindowIfPossible) {
command.add("-n");
}
return command;
}
else if (SystemInfo.isWindows) {
return Arrays.asList(ExecUtil.getWindowsShellName(), "/c", "start", GeneralCommandLine.inescapableQuote(""), browserPathOrName);
}
else {
return Collections.singletonList(browserPathOrName);
}
}
示例4: getAwesomeWMVersion
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Nullable
private static String getAwesomeWMVersion() {
try {
String version = ExecUtil.execAndReadLine(new GeneralCommandLine("awesome", "--version"));
if (version != null) {
Matcher m = Pattern.compile("awesome v([0-9.]+)").matcher(version);
if (m.find()) {
return m.group(1);
}
}
}
catch (Throwable t) {
LOG.warn(t);
}
return null;
}
示例5: checkIBus
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
private void checkIBus() {
if (SystemInfo.isXWindow) {
String xim = System.getenv("XMODIFIERS");
if (xim != null && xim.contains("im=ibus")) {
String version = ExecUtil.execAndReadLine(new GeneralCommandLine("ibus-daemon", "--version"));
if (version != null) {
Matcher m = Pattern.compile("ibus-daemon - Version ([0-9.]+)").matcher(version);
if (m.find() && StringUtil.compareVersionNumbers(m.group(1), "1.5.11") < 0) {
String fix = System.getenv("IBUS_ENABLE_SYNC_MODE");
if (fix == null || fix.isEmpty() || fix.equals("0") || fix.equalsIgnoreCase("false")) {
showNotification("ibus.blocking.warn.message");
}
}
}
}
}
}
示例6: compute
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@NotNull
@Override
protected Boolean compute() {
if (!SystemInfo.isUnix || !SystemInfo.hasXdgMime() || !new File("/usr/bin/nautilus").canExecute()) {
return false;
}
String appName = ExecUtil.execAndReadLine(new GeneralCommandLine("xdg-mime", "query", "default", "inode/directory"));
if (appName == null || !appName.matches("nautilus.*\\.desktop")) return false;
String version = ExecUtil.execAndReadLine(new GeneralCommandLine("nautilus", "--version"));
if (version == null) return false;
Matcher m = Pattern.compile("GNOME nautilus ([0-9.]+)").matcher(version);
return m.find() && StringUtil.compareVersionNumbers(m.group(1), "3") >= 0;
}
示例7: unicodePath
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Test
public void unicodePath() throws Exception {
String mark = String.valueOf(new Random().nextInt());
String prefix = "spaces 'and quotes' and " + UNICODE_RU + "_" + UNICODE_EU + " ";
File script;
if (SystemInfo.isWindows) {
script = ExecUtil.createTempExecutableScript(prefix, ".cmd", "@echo " + mark + "\n");
}
else {
script = ExecUtil.createTempExecutableScript(prefix, ".sh", "#!/bin/sh\n" + "echo " + mark + "\n");
}
try {
String output = execAndGetOutput(new GeneralCommandLine(script.getPath()));
assertEquals(mark + "\n", StringUtil.convertLineSeparators(output));
}
finally {
FileUtil.delete(script);
}
}
示例8: passingArgumentsToJavaAppThroughCmdScriptAndWinShell
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Test
public void passingArgumentsToJavaAppThroughCmdScriptAndWinShell() throws Exception {
assumeTrue(SystemInfo.isWindows);
Pair<GeneralCommandLine, File> command = makeHelperCommand(null, CommandTestHelper.ARG);
File script = ExecUtil.createTempExecutableScript("my script ", ".cmd", "@" + command.first.getCommandLineString() + " %*");
try {
GeneralCommandLine commandLine = new GeneralCommandLine(ExecUtil.getWindowsShellName(), "/D", "/C", "call", script.getAbsolutePath());
commandLine.addParameters(ARGUMENTS);
String output = execHelper(pair(commandLine, command.second));
checkParamPassing(output, ARGUMENTS);
}
finally {
FileUtil.delete(script);
}
}
示例9: winShellScriptQuoting
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Test
public void winShellScriptQuoting() throws Exception {
assumeTrue(SystemInfo.isWindows);
String scriptPrefix = "my_script";
for (String scriptExt : new String[]{".cmd", ".bat"}) {
File script = ExecUtil.createTempExecutableScript(scriptPrefix, scriptExt, "@echo %1\n");
String param = "a&b";
GeneralCommandLine commandLine = new GeneralCommandLine(script.getAbsolutePath(), param);
String text = commandLine.getPreparedCommandLine(Platform.WINDOWS);
assertEquals(commandLine.getExePath() + "\n" + StringUtil.wrapWithDoubleQuote(param), text);
try {
String output = execAndGetOutput(commandLine);
assertEquals(StringUtil.wrapWithDoubleQuote(param), output.trim());
}
finally {
FileUtil.delete(script);
}
}
}
示例10: createProcess
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@NotNull
@Override
protected Process createProcess() throws ExecutionException {
checkRedirectFile();
List<String> parameters = escapeArguments(buildParameters());
parameters.add(0, ExecUtil.getWindowsShellName());
parameters.add(1, "/c");
parameters.add(">>");
//noinspection ConstantConditions
parameters.add(quote(myRedirectFile.getAbsolutePath()));
Process process = createProcess(parameters);
return new ProcessWrapper(process) {
@Override
public InputStream getInputStream() {
return myRedirectStream;
}
@Override
public InputStream getErrorStream() {
return getOriginalProcess().getInputStream();
}
};
}
示例11: getVersionString
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Nullable
@Override
public String getVersionString(String s)
{
try
{
GeneralCommandLine commandLine = new GeneralCommandLine();
commandLine.setExePath(getExePath(s).getPath());
commandLine.withWorkDirectory(s);
commandLine.addParameter("-v");
ProcessOutput processOutput = ExecUtil.execAndGetOutput(commandLine);
String stdout = processOutput.getStdout();
if(StringUtil.startsWith(stdout, "v"))
{
stdout = stdout.substring(1, stdout.length());
}
return stdout.trim();
}
catch(ExecutionException e)
{
return null;
}
}
示例12: getOpenBrowserCommand
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@NotNull
public static List<String> getOpenBrowserCommand(@NonNls @NotNull String browserPathOrName, boolean newWindowIfPossible) {
if (new File(browserPathOrName).isFile()) {
return newSmartList(browserPathOrName);
}
else if (SystemInfo.isMac) {
List<String> command = newArrayList(ExecUtil.getOpenCommandPath(), "-a", browserPathOrName);
if (newWindowIfPossible) {
command.add("-n");
}
return command;
}
else if (SystemInfo.isWindows) {
return newArrayList(ExecUtil.getWindowsShellName(), "/c", "start", GeneralCommandLine.inescapableQuote(""), browserPathOrName);
}
else {
return newSmartList(browserPathOrName);
}
}
示例13: compute
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@NotNull
@Override
protected Boolean compute() {
if (!SystemInfo.isUnix || !SystemInfo.hasXdgMime() || !new File("/usr/bin/nautilus").canExecute()) {
return false;
}
String appName = ExecUtil.execAndReadLine("xdg-mime", "query", "default", "inode/directory");
if (appName == null || !appName.matches("nautilus.*\\.desktop")) return false;
String version = ExecUtil.execAndReadLine("nautilus", "--version");
if (version == null) return false;
Matcher m = Pattern.compile("GNOME nautilus ([0-9.]+)").matcher(version);
return m.find() && StringUtil.compareVersionNumbers(m.group(1), "3") >= 0;
}
示例14: unicodePath
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
@Test
public void unicodePath() throws Exception {
String mark = String.valueOf(new Random().nextInt());
File script;
if (SystemInfo.isWindows) {
script = ExecUtil.createTempExecutableScript(
"path with spaces 'and quotes' и юникодом ", ".cmd",
"@echo " + mark + "\n"
);
}
else {
script = ExecUtil.createTempExecutableScript(
"path with spaces 'and quotes' и юникодом ", ".sh",
"#!/bin/sh\n" + "echo " + mark + "\n"
);
}
try {
GeneralCommandLine commandLine = new GeneralCommandLine(script.getPath());
String output = execAndGetOutput(commandLine, null);
assertEquals(mark + "\n", StringUtil.convertLineSeparators(output));
}
finally {
FileUtil.delete(script);
}
}
示例15: addArgs
import com.intellij.execution.util.ExecUtil; //导入依赖的package包/类
private static void addArgs(List<String> command, @Nullable BrowserSpecificSettings settings, String[] additional) {
String[] specific = settings != null ? settings.getAdditionalParameters() : ArrayUtil.EMPTY_STRING_ARRAY;
if (specific.length + additional.length > 0) {
if (SystemInfo.isMac && ExecUtil.getOpenCommandPath().equals(command.get(0))) {
if (!BrowserUtil.isOpenCommandSupportArgs()) {
LOG.warn("'open' command doesn't allow to pass command line arguments so they will be ignored: " +
Arrays.toString(specific) + " " + Arrays.toString(additional));
}
else {
command.add("--args");
}
}
Collections.addAll(command, specific);
Collections.addAll(command, additional);
}
}