mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
+13
-9
@@ -5,20 +5,24 @@
|
||||
import os
|
||||
import signal
|
||||
import sys
|
||||
import syslog
|
||||
import time
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
raise Exception('usage: restart.py <pid> <path> [optional command]')
|
||||
|
||||
signal.signal(signal.SIGHUP, signal.SIG_IGN)
|
||||
try:
|
||||
signal.signal(signal.SIGHUP, signal.SIG_IGN)
|
||||
|
||||
pid = int(sys.argv[1])
|
||||
while os.getppid() == pid:
|
||||
time.sleep(0.5)
|
||||
pid = int(sys.argv[1])
|
||||
while os.getppid() == pid:
|
||||
time.sleep(0.5)
|
||||
|
||||
if len(sys.argv) > 3:
|
||||
to_launch = sys.argv[3:]
|
||||
os.spawnv(os.P_WAIT, to_launch[0], to_launch)
|
||||
if len(sys.argv) > 3:
|
||||
to_launch = sys.argv[3:]
|
||||
os.spawnv(os.P_WAIT, to_launch[0], to_launch)
|
||||
|
||||
to_launch = ['/usr/bin/open', sys.argv[2]] if sys.platform == 'darwin' else [sys.argv[2]]
|
||||
os.execv(to_launch[0], to_launch)
|
||||
to_launch = ['/usr/bin/open', sys.argv[2]] if sys.platform == 'darwin' else [sys.argv[2]]
|
||||
os.execv(to_launch[0], to_launch)
|
||||
except:
|
||||
syslog.syslog(syslog.LOG_ERR, str(sys.exc_info()))
|
||||
|
||||
@@ -23,17 +23,17 @@ import com.intellij.execution.filters.TextConsoleBuilderFactory;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.ui.ConsoleView;
|
||||
import com.intellij.execution.ui.ConsoleViewContentType;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.colors.EditorColorsManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.ThreeComponentsSplitter;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.pom.Navigatable;
|
||||
import com.intellij.ui.IdeBorderFactory;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
import com.intellij.ui.SideBorder;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.ui.treeStructure.SimpleTreeBuilder;
|
||||
import com.intellij.ui.treeStructure.SimpleTreeStructure;
|
||||
@@ -52,6 +52,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.border.CompoundBorder;
|
||||
import javax.swing.event.TreeSelectionEvent;
|
||||
import javax.swing.event.TreeSelectionListener;
|
||||
import javax.swing.table.DefaultTableCellRenderer;
|
||||
@@ -418,13 +419,25 @@ public class BuildTreeConsoleView implements ConsoleView, DataProvider, BuildCon
|
||||
@Nullable
|
||||
private ExecutionNode myExecutionNode;
|
||||
private final ConsoleView myConsole;
|
||||
private final JPanel myPanel;
|
||||
|
||||
public DetailsHandler(Project project,
|
||||
TreeTableTree tree,
|
||||
ThreeComponentsSplitter threeComponentsSplitter) {
|
||||
myConsole = TextConsoleBuilderFactory.getInstance().createBuilder(project).getConsole();
|
||||
mySplitter = threeComponentsSplitter;
|
||||
myConsole.getComponent().setVisible(false);
|
||||
myPanel = new JPanel(new BorderLayout());
|
||||
JComponent consoleComponent = myConsole.getComponent();
|
||||
AnAction[] consoleActions = myConsole.createConsoleActions();
|
||||
consoleComponent.setFocusable(true);
|
||||
final Color editorBackground = EditorColorsManager.getInstance().getGlobalScheme().getDefaultBackground();
|
||||
consoleComponent.setBorder(new CompoundBorder(IdeBorderFactory.createBorder(SideBorder.RIGHT | SideBorder.TOP),
|
||||
new SideBorder(editorBackground, SideBorder.LEFT)));
|
||||
myPanel.add(consoleComponent, BorderLayout.CENTER);
|
||||
final ActionToolbar toolbar = ActionManager.getInstance()
|
||||
.createActionToolbar("BuildResults", new DefaultActionGroup(consoleActions), false);
|
||||
myPanel.add(toolbar.getComponent(), BorderLayout.EAST);
|
||||
myPanel.setVisible(false);
|
||||
tree.addTreeSelectionListener(new TreeSelectionListener() {
|
||||
@Override
|
||||
public void valueChanged(TreeSelectionEvent e) {
|
||||
@@ -467,7 +480,7 @@ public class BuildTreeConsoleView implements ConsoleView, DataProvider, BuildCon
|
||||
int width = Math.round(mySplitter.getWidth() / 2f);
|
||||
mySplitter.setFirstSize(width);
|
||||
}
|
||||
myConsole.getComponent().setVisible(true);
|
||||
myPanel.setVisible(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -522,15 +535,15 @@ public class BuildTreeConsoleView implements ConsoleView, DataProvider, BuildCon
|
||||
}
|
||||
|
||||
myExecutionNode = null;
|
||||
myConsole.getComponent().setVisible(false);
|
||||
myPanel.setVisible(false);
|
||||
}
|
||||
|
||||
public JComponent getComponent() {
|
||||
return myConsole.getComponent();
|
||||
return myPanel;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
myConsole.getComponent().setVisible(false);
|
||||
myPanel.setVisible(false);
|
||||
myConsole.clear();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,31 +20,26 @@ import com.intellij.util.ProcessingContext;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.function.BiPredicate;
|
||||
public class PsiClassNamePatternCondition extends PatternCondition<PsiClass> {
|
||||
|
||||
abstract public class PsiClassNamePatternCondition extends PatternCondition<PsiClass> {
|
||||
private final ElementPattern<String> stringPattern;
|
||||
|
||||
public static PsiClassNamePatternCondition accepting(BiPredicate<String, ProcessingContext> condition) {
|
||||
return new PsiClassNamePatternCondition() {
|
||||
@Override
|
||||
public boolean accepts(String qualifiedName, ProcessingContext context) {
|
||||
return condition.test(qualifiedName, context);
|
||||
}
|
||||
};
|
||||
public PsiClassNamePatternCondition(ElementPattern<String> pattern) {
|
||||
this("withQualifiedName", pattern);
|
||||
}
|
||||
|
||||
public PsiClassNamePatternCondition() {
|
||||
this("withQualifiedName");
|
||||
}
|
||||
|
||||
public PsiClassNamePatternCondition(@Nullable String debugMethodName) {
|
||||
public PsiClassNamePatternCondition(@Nullable String debugMethodName, ElementPattern<String> pattern) {
|
||||
super(debugMethodName);
|
||||
stringPattern = pattern;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean accepts(@NotNull PsiClass aClass, ProcessingContext context) {
|
||||
return accepts(aClass.getQualifiedName(), context);
|
||||
public boolean accepts(@NotNull PsiClass aClass, ProcessingContext context) {
|
||||
return stringPattern.accepts(aClass.getQualifiedName(), context);
|
||||
}
|
||||
|
||||
public abstract boolean accepts(String qualifiedName, ProcessingContext context);
|
||||
@SuppressWarnings("unused") //Used in Kotlin
|
||||
public ElementPattern<String> getStringPattern() {
|
||||
return stringPattern;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,8 @@ import com.intellij.util.ProcessingContext;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.intellij.patterns.StandardPatterns.string;
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
@@ -102,10 +104,10 @@ public class PsiClassPattern extends PsiMemberPattern<PsiClass, PsiClassPattern>
|
||||
}
|
||||
|
||||
public PsiClassPattern withQualifiedName(@NonNls @NotNull final String qname) {
|
||||
return with(PsiClassNamePatternCondition.accepting((qualifiedName, context) -> qname.equals(qualifiedName)));
|
||||
return with(new PsiClassNamePatternCondition(string().equalTo(qname)));
|
||||
}
|
||||
|
||||
public PsiClassPattern withQualifiedName(@NonNls @NotNull final ElementPattern<String> qname) {
|
||||
return with(PsiClassNamePatternCondition.accepting((qualifiedName, context) -> qname.accepts(qualifiedName, context)));
|
||||
return with(new PsiClassNamePatternCondition(qname));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,4 +80,5 @@ io.t28.json2java 0.1.0 0.2.0 0.2.1
|
||||
TabFolder 1.0 1.0.1
|
||||
ssh 1.0 1.0.1
|
||||
"Log4j Plugin" 1.1.2 1.1.1 1.1.0 1.0.1 1.0
|
||||
nix-idea 0.2.0.1
|
||||
nix-idea 0.2.0.1
|
||||
com.basisjs 0.1.3 0.1.4.1 0.1.5
|
||||
+1
-21
@@ -15,24 +15,15 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.gradle.execution.test.runner;
|
||||
|
||||
import com.intellij.execution.console.DuplexConsoleView;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
import com.intellij.execution.testframework.sm.runner.SMTestLocator;
|
||||
import com.intellij.execution.testframework.sm.runner.SMTestProxy;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.SMTRunnerConsoleView;
|
||||
import com.intellij.execution.ui.ConsoleView;
|
||||
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static org.jetbrains.plugins.gradle.execution.GradleRunnerUtil.attachTaskExecutionView;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
* @since 10/28/2015
|
||||
@@ -40,22 +31,11 @@ import static org.jetbrains.plugins.gradle.execution.GradleRunnerUtil.attachTask
|
||||
public class GradleTestsExecutionConsole extends SMTRunnerConsoleView {
|
||||
private Map<String, SMTestProxy> testsMap = ContainerUtil.newHashMap();
|
||||
private StringBuilder myBuffer = new StringBuilder();
|
||||
private DuplexConsoleView myConsoleView;
|
||||
|
||||
public GradleTestsExecutionConsole(TestConsoleProperties consoleProperties, @Nullable String splitterProperty) {
|
||||
super(consoleProperties, splitterProperty);
|
||||
}
|
||||
|
||||
public void initTaskExecutionView(Project project, ProcessHandler processHandler, ExternalSystemTaskId taskId) {
|
||||
myConsoleView = attachTaskExecutionView(project, super.getConsole(), false, "gradle.test.runner.text.console", processHandler, taskId);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ConsoleView getConsole() {
|
||||
return myConsoleView != null ? myConsoleView : super.getConsole();
|
||||
}
|
||||
|
||||
public Map<String, SMTestProxy> getTestsMap() {
|
||||
return testsMap;
|
||||
}
|
||||
@@ -66,8 +46,8 @@ public class GradleTestsExecutionConsole extends SMTRunnerConsoleView {
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
testsMap.clear();
|
||||
super.dispose();
|
||||
Disposer.dispose(myConsoleView);
|
||||
}
|
||||
|
||||
public SMTestLocator getUrlProvider() {
|
||||
|
||||
Reference in New Issue
Block a user