Clean built targets in IntelliJ.
Summary: Clean built targets by running `buck clean`.
diff --git a/plugin/src/com/facebook/buck/plugin/intellij/BuckPluginComponent.java b/plugin/src/com/facebook/buck/plugin/intellij/BuckPluginComponent.java
index 752bb81..5d383a6 100644
--- a/plugin/src/com/facebook/buck/plugin/intellij/BuckPluginComponent.java
+++ b/plugin/src/com/facebook/buck/plugin/intellij/BuckPluginComponent.java
@@ -17,6 +17,7 @@
package com.facebook.buck.plugin.intellij;
import com.facebook.buck.plugin.intellij.commands.BuckRunner;
+import com.facebook.buck.plugin.intellij.commands.CleanCommand;
import com.facebook.buck.plugin.intellij.commands.SocketClient.BuckPluginEventListener;
import com.facebook.buck.plugin.intellij.commands.TargetsCommand;
import com.facebook.buck.plugin.intellij.commands.event.Event;
@@ -98,6 +99,22 @@
task.queue();
}
+ public void clean() {
+ if (!checkBuckRunner()) {
+ return;
+ }
+ Task.Backgroundable task = new Task.Backgroundable(project,
+ "Cleaning",
+ true, /* canBeCanceled */
+ BackgroundFromStartOption.getInstance()) {
+ public void run(ProgressIndicator progressIndicator) {
+ CleanCommand.clean(buckRunner.get());
+ // TODO(user) Clear built targets on UI
+ }
+ };
+ task.queue();
+ }
+
private class EventListener implements BuckPluginEventListener {
@Override
diff --git a/plugin/src/com/facebook/buck/plugin/intellij/commands/CleanCommand.java b/plugin/src/com/facebook/buck/plugin/intellij/commands/CleanCommand.java
new file mode 100644
index 0000000..a52f354
--- /dev/null
+++ b/plugin/src/com/facebook/buck/plugin/intellij/commands/CleanCommand.java
@@ -0,0 +1,18 @@
+package com.facebook.buck.plugin.intellij.commands;
+
+import com.intellij.openapi.diagnostic.Logger;
+
+public class CleanCommand {
+
+ private static final Logger LOG = Logger.getInstance(CleanCommand.class);
+
+ private CleanCommand() {}
+
+ public static void clean(BuckRunner buckRunner) {
+ int exitCode = buckRunner.execute("clean");
+ if (exitCode != 0) {
+ LOG.error(buckRunner.getStderr());
+ return;
+ }
+ }
+}