[gnome-builder/wip/chergert/pipeline-merge] buildui: Move build-tools plugin to libide



commit 3e6f92f05e1c51368dd05ebdebcbd96ad5a8388c
Author: Matthew Leeds <mleeds redhat com>
Date:   Mon Dec 26 14:05:43 2016 -0600

    buildui: Move build-tools plugin to libide
    
    Now that IdeConfiguration is derivable, it makes more sense to have the
    view for it in libide so it too can be subclassed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=777959

 configure.ac                                       |    1 -
 data/theme/Adwaita-shared.css                      |   86 +++++++++++
 libide/Makefile.am                                 |   19 +++
 .../buildui/buildui.plugin                         |    5 +-
 .../buildui/ide-build-configuration-row.c          |   58 ++++----
 .../buildui/ide-build-configuration-row.h          |   16 +-
 .../buildui/ide-build-configuration-row.ui         |    2 +-
 .../buildui/ide-build-configuration-view.c         |   82 ++++++-----
 .../buildui/ide-build-configuration-view.h         |   16 +-
 .../buildui/ide-build-configuration-view.ui        |    2 +-
 .../buildui/ide-build-log-panel.c                  |   76 +++++-----
 .../buildui/ide-build-log-panel.h                  |   14 +-
 .../buildui/ide-build-log-panel.ui                 |    2 +-
 .../buildui/ide-build-panel.c                      |  120 ++++++++--------
 .../buildui/ide-build-panel.h                      |   12 +-
 .../buildui/ide-build-panel.ui                     |    2 +-
 .../buildui/ide-build-perspective.c                |  150 ++++++++++----------
 .../buildui/ide-build-perspective.h                |   16 +-
 .../buildui/ide-build-perspective.ui               |    4 +-
 .../buildui/ide-build-plugin.c                     |   14 +-
 .../buildui/ide-build-tool.c                       |   42 +++---
 .../buildui/ide-build-tool.h                       |   12 +-
 .../buildui/ide-build-workbench-addin.c            |   80 ++++++-----
 .../buildui/ide-build-workbench-addin.h            |    6 +-
 .../buildui}/ide-environment-editor-row.c          |    4 +-
 .../buildui}/ide-environment-editor-row.h          |    0
 .../buildui}/ide-environment-editor-row.ui         |    0
 .../buildui}/ide-environment-editor.c              |    2 +
 .../buildui}/ide-environment-editor.h              |    0
 libide/resources/libide.gresource.xml              |   10 ++
 plugins/Makefile.am                                |    1 -
 plugins/build-tools/Makefile.am                    |   54 -------
 plugins/build-tools/configure.ac                   |   12 --
 plugins/build-tools/gbp-build-tools.gresource.xml  |   14 --
 plugins/build-tools/theme/Adwaita-dark.css         |    1 -
 plugins/build-tools/theme/Adwaita-shared.css       |   84 -----------
 plugins/build-tools/theme/Adwaita.css              |    1 -
 37 files changed, 494 insertions(+), 526 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 969d255..5b861e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -274,7 +274,6 @@ dnl ***********************************************************************
 m4_include([plugins/autotools/configure.ac])
 m4_include([plugins/autotools-templates/configure.ac])
 m4_include([plugins/beautifier/configure.ac])
-m4_include([plugins/build-tools/configure.ac])
 m4_include([plugins/c-pack/configure.ac])
 m4_include([plugins/cargo/configure.ac])
 m4_include([plugins/clang/configure.ac])
diff --git a/data/theme/Adwaita-shared.css b/data/theme/Adwaita-shared.css
index 8bc7a1b..b10ba54 100644
--- a/data/theme/Adwaita-shared.css
+++ b/data/theme/Adwaita-shared.css
@@ -212,3 +212,89 @@ popover.transfers list row:first-child {
 popover.transfers list row > box {
   padding: 10px;
 }
+
+
+/*
+buildpanel button.popup:active,
+buildpanel button.popup:checked,
+buildpanel button.popup {
+  background-image: none;
+  background-color: transparent;
+  box-shadow: none;
+  border-style: none;
+  margin: 0;
+  padding: 0;
+}
+*/
+
+list.buildpanel row {
+  padding: 10px;
+  border-bottom: 1px solid alpha(@borders, 0.4);
+}
+
+list.buildpanel row:last-child {
+  border-bottom: none;
+}
+
+buildpanel list row {
+  padding: 6px;
+  border-bottom: 1px solid alpha(@borders, 0.4);
+}
+
+buildpanel list row:last-child {
+  border-bottom: none;
+}
+
+buildpanel list row label.file {
+  opacity: 0.5;
+}
+
+
+buildpanel box.build-status {
+  background: shade(@theme_bg_color, 0.96);
+}
+
+
+buildperspective list.sidebar row:selected button:hover {
+  border-color: transparent;
+  box-shadow: none;
+  background: transparent;
+  color: @theme_selected_fg_color;
+  opacity: 1;
+}
+buildperspective list.sidebar row:selected button,
+buildperspective list.sidebar row:selected button:active {
+  opacity: 0.8;
+}
+buildperspective list.sidebar {
+  border-right: 1px solid alpha(@borders, 0.55);
+}
+
+
+configurationview list row {
+  padding: 10px;
+  border-bottom: 1px solid alpha(@borders, 0.4);
+}
+configurationview list row:last-child {
+  border-bottom: none;
+}
+configurationview list row entry {
+  background: transparent;
+  border: none;
+  padding: 0;
+  margin: 0;
+}
+
+
+/* hrmm, we can use this to get row separators */
+buildpanel treeview,
+configurationview treeview {
+  border-bottom: 1px solid alpha(@borders, 0.4);
+}
+
+
+buildpanel list > label {
+  font-weight: bold;
+  opacity: 0.55;
+  margin: 6px 10px 0px 10px;
+}
diff --git a/libide/Makefile.am b/libide/Makefile.am
index 48fc0da..b8e987c 100644
--- a/libide/Makefile.am
+++ b/libide/Makefile.am
@@ -381,6 +381,25 @@ libide_1_0_la_SOURCES =                                   \
        buildsystem/ide-build-log-private.h               \
        buildsystem/ide-build-stage-private.h             \
        buildsystem/ide-buildsystem-plugin.c              \
+       buildui/ide-build-configuration-row.c             \
+       buildui/ide-build-configuration-row.h             \
+       buildui/ide-build-configuration-view.c            \
+       buildui/ide-build-configuration-view.h            \
+       buildui/ide-build-log-panel.c                     \
+       buildui/ide-build-log-panel.h                     \
+       buildui/ide-build-panel.c                         \
+       buildui/ide-build-panel.h                         \
+       buildui/ide-build-perspective.c                   \
+       buildui/ide-build-perspective.h                   \
+       buildui/ide-build-plugin.c                        \
+       buildui/ide-build-tool.c                          \
+       buildui/ide-build-tool.h                          \
+       buildui/ide-build-workbench-addin.c               \
+       buildui/ide-build-workbench-addin.h               \
+       buildui/ide-environment-editor-row.c              \
+       buildui/ide-environment-editor-row.h              \
+       buildui/ide-environment-editor.c                  \
+       buildui/ide-environment-editor.h                  \
        editor/ide-editor-frame-actions.c                 \
        editor/ide-editor-frame-actions.h                 \
        editor/ide-editor-frame-private.h                 \
diff --git a/plugins/build-tools/build-tools.plugin b/libide/buildui/buildui.plugin
similarity index 76%
rename from plugins/build-tools/build-tools.plugin
rename to libide/buildui/buildui.plugin
index 30d0ba2..31524ca 100644
--- a/plugins/build-tools/build-tools.plugin
+++ b/libide/buildui/buildui.plugin
@@ -1,11 +1,12 @@
 [Plugin]
-Module=build-tools-plugin
-Name=Build Tools
+Module=build-ui-plugin
+Name=Build UI
 Description=Build panel and command line tools
 Authors=Christian Hergert <christian hergert me>
 Copyright=Copyright © 2015 Christian Hergert
 Depends=editor
 Hidden=true
 Builtin=true
+Embedded=ide_build_tool_register_types
 X-Tool-Name=build
 X-Tool-Description=Build a project
diff --git a/plugins/build-tools/gbp-build-configuration-row.c b/libide/buildui/ide-build-configuration-row.c
similarity index 71%
rename from plugins/build-tools/gbp-build-configuration-row.c
rename to libide/buildui/ide-build-configuration-row.c
index 1eddc5a..860fb18 100644
--- a/plugins/build-tools/gbp-build-configuration-row.c
+++ b/libide/buildui/ide-build-configuration-row.c
@@ -1,4 +1,4 @@
-/* gbp-build-configuration-row.c
+/* ide-build-configuration-row.c
  *
  * Copyright (C) 2016 Christian Hergert <chergert redhat com>
  *
@@ -16,9 +16,11 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "gbp-build-configuration-row.h"
+#define G_LOG_DOMAIN "ide-build-configuration-row"
 
-struct _GbpBuildConfigurationRow
+#include "ide-build-configuration-row.h"
+
+struct _IdeBuildConfigurationRow
 {
   GtkListBoxRow     parent_instance;
 
@@ -39,15 +41,15 @@ enum {
   LAST_PROP
 };
 
-G_DEFINE_TYPE (GbpBuildConfigurationRow, gbp_build_configuration_row, GTK_TYPE_LIST_BOX_ROW)
+G_DEFINE_TYPE (IdeBuildConfigurationRow, ide_build_configuration_row, GTK_TYPE_LIST_BOX_ROW)
 
 static GParamSpec *properties [LAST_PROP];
 
 static void
-gbp_build_configuration_row_set_configuration (GbpBuildConfigurationRow *self,
+ide_build_configuration_row_set_configuration (IdeBuildConfigurationRow *self,
                                                IdeConfiguration         *configuration)
 {
-  g_assert (GBP_IS_BUILD_CONFIGURATION_ROW (self));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_ROW (self));
   g_assert (IDE_IS_CONFIGURATION (configuration));
 
   if (g_set_object (&self->configuration, configuration))
@@ -57,27 +59,27 @@ gbp_build_configuration_row_set_configuration (GbpBuildConfigurationRow *self,
 }
 
 static void
-gbp_build_configuration_row_finalize (GObject *object)
+ide_build_configuration_row_finalize (GObject *object)
 {
-  GbpBuildConfigurationRow *self = (GbpBuildConfigurationRow *)object;
+  IdeBuildConfigurationRow *self = (IdeBuildConfigurationRow *)object;
 
   g_clear_object (&self->configuration);
 
-  G_OBJECT_CLASS (gbp_build_configuration_row_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ide_build_configuration_row_parent_class)->finalize (object);
 }
 
 static void
-gbp_build_configuration_row_get_property (GObject    *object,
+ide_build_configuration_row_get_property (GObject    *object,
                                           guint       prop_id,
                                           GValue     *value,
                                           GParamSpec *pspec)
 {
-  GbpBuildConfigurationRow *self = GBP_BUILD_CONFIGURATION_ROW (object);
+  IdeBuildConfigurationRow *self = IDE_BUILD_CONFIGURATION_ROW (object);
 
   switch (prop_id)
     {
     case PROP_CONFIGURATION:
-      g_value_set_object (value, gbp_build_configuration_row_get_configuration (self));
+      g_value_set_object (value, ide_build_configuration_row_get_configuration (self));
       break;
 
     default:
@@ -86,17 +88,17 @@ gbp_build_configuration_row_get_property (GObject    *object,
 }
 
 static void
-gbp_build_configuration_row_set_property (GObject      *object,
+ide_build_configuration_row_set_property (GObject      *object,
                                           guint         prop_id,
                                           const GValue *value,
                                           GParamSpec   *pspec)
 {
-  GbpBuildConfigurationRow *self = GBP_BUILD_CONFIGURATION_ROW (object);
+  IdeBuildConfigurationRow *self = IDE_BUILD_CONFIGURATION_ROW (object);
 
   switch (prop_id)
     {
     case PROP_CONFIGURATION:
-      gbp_build_configuration_row_set_configuration (self, g_value_get_object (value));
+      ide_build_configuration_row_set_configuration (self, g_value_get_object (value));
       break;
 
     case PROP_ACTIVE:
@@ -123,14 +125,14 @@ gbp_build_configuration_row_set_property (GObject      *object,
 }
 
 static void
-gbp_build_configuration_row_class_init (GbpBuildConfigurationRowClass *klass)
+ide_build_configuration_row_class_init (IdeBuildConfigurationRowClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-  object_class->finalize = gbp_build_configuration_row_finalize;
-  object_class->get_property = gbp_build_configuration_row_get_property;
-  object_class->set_property = gbp_build_configuration_row_set_property;
+  object_class->finalize = ide_build_configuration_row_finalize;
+  object_class->get_property = ide_build_configuration_row_get_property;
+  object_class->set_property = ide_build_configuration_row_set_property;
 
   properties [PROP_CONFIGURATION] =
     g_param_spec_object ("configuration",
@@ -155,24 +157,24 @@ gbp_build_configuration_row_class_init (GbpBuildConfigurationRowClass *klass)
 
   g_object_class_install_properties (object_class, LAST_PROP, properties);
 
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/build-tools-plugin/gbp-build-configuration-row.ui");
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationRow, label);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationRow, duplicate);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationRow, delete);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationRow, radio);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationRow, controls);
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/buildui/ide-build-configuration-row.ui");
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationRow, label);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationRow, duplicate);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationRow, delete);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationRow, radio);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationRow, controls);
 }
 
 static void
-gbp_build_configuration_row_init (GbpBuildConfigurationRow *self)
+ide_build_configuration_row_init (IdeBuildConfigurationRow *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
 }
 
 IdeConfiguration *
-gbp_build_configuration_row_get_configuration (GbpBuildConfigurationRow *self)
+ide_build_configuration_row_get_configuration (IdeBuildConfigurationRow *self)
 {
-  g_return_val_if_fail (GBP_IS_BUILD_CONFIGURATION_ROW (self), NULL);
+  g_return_val_if_fail (IDE_IS_BUILD_CONFIGURATION_ROW (self), NULL);
 
   return self->configuration;
 }
diff --git a/plugins/build-tools/gbp-build-configuration-row.h b/libide/buildui/ide-build-configuration-row.h
similarity index 62%
rename from plugins/build-tools/gbp-build-configuration-row.h
rename to libide/buildui/ide-build-configuration-row.h
index 6bf4d65..bed81ab 100644
--- a/plugins/build-tools/gbp-build-configuration-row.h
+++ b/libide/buildui/ide-build-configuration-row.h
@@ -1,4 +1,4 @@
-/* gbp-build-configuration-row.h
+/* ide-build-configuration-row.h
  *
  * Copyright (C) 2016 Christian Hergert <chergert redhat com>
  *
@@ -16,21 +16,21 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef GBP_BUILD_CONFIGURATION_ROW_H
-#define GBP_BUILD_CONFIGURATION_ROW_H
+#ifndef IDE_BUILD_CONFIGURATION_ROW_H
+#define IDE_BUILD_CONFIGURATION_ROW_H
 
 #include <gtk/gtk.h>
 #include <ide.h>
 
 G_BEGIN_DECLS
 
-#define GBP_TYPE_BUILD_CONFIGURATION_ROW (gbp_build_configuration_row_get_type())
+#define IDE_TYPE_BUILD_CONFIGURATION_ROW (ide_build_configuration_row_get_type())
 
-G_DECLARE_FINAL_TYPE (GbpBuildConfigurationRow, gbp_build_configuration_row, GBP, BUILD_CONFIGURATION_ROW, 
GtkListBoxRow)
+G_DECLARE_FINAL_TYPE (IdeBuildConfigurationRow, ide_build_configuration_row, IDE, BUILD_CONFIGURATION_ROW, 
GtkListBoxRow)
 
-GtkWidget        *gbp_build_configuration_row_new               (IdeConfiguration         *configuration);
-IdeConfiguration *gbp_build_configuration_row_get_configuration (GbpBuildConfigurationRow *self);
+GtkWidget        *ide_build_configuration_row_new               (IdeConfiguration         *configuration);
+IdeConfiguration *ide_build_configuration_row_get_configuration (IdeBuildConfigurationRow *self);
 
 G_END_DECLS
 
-#endif /* GBP_BUILD_CONFIGURATION_ROW_H */
+#endif /* IDE_BUILD_CONFIGURATION_ROW_H */
diff --git a/plugins/build-tools/gbp-build-configuration-row.ui 
b/libide/buildui/ide-build-configuration-row.ui
similarity index 98%
rename from plugins/build-tools/gbp-build-configuration-row.ui
rename to libide/buildui/ide-build-configuration-row.ui
index fd0ba80..b29a414 100644
--- a/plugins/build-tools/gbp-build-configuration-row.ui
+++ b/libide/buildui/ide-build-configuration-row.ui
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <template class="GbpBuildConfigurationRow" parent="GtkListBoxRow">
+  <template class="IdeBuildConfigurationRow" parent="GtkListBoxRow">
     <child>
       <object class="GtkBox">
         <property name="orientation">horizontal</property>
diff --git a/plugins/build-tools/gbp-build-configuration-view.c 
b/libide/buildui/ide-build-configuration-view.c
similarity index 83%
rename from plugins/build-tools/gbp-build-configuration-view.c
rename to libide/buildui/ide-build-configuration-view.c
index a361aa1..fba74f6 100644
--- a/plugins/build-tools/gbp-build-configuration-view.c
+++ b/libide/buildui/ide-build-configuration-view.c
@@ -1,4 +1,4 @@
-/* gbp-build-configuration-view.c
+/* ide-build-configuration-view.c
  *
  * Copyright (C) 2016 Christian Hergert <chergert redhat com>
  *
@@ -16,15 +16,17 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-build-configuration-view"
+
 #include <ide.h>
 #include <string.h>
 
-#include "gbp-build-configuration-view.h"
+#include "ide-build-configuration-view.h"
 
 #include "ide-environment-editor.h"
 #include "ide-internal.h"
 
-struct _GbpBuildConfigurationView
+struct _IdeBuildConfigurationView
 {
   EggColumnLayout       parent_instance;
 
@@ -48,7 +50,7 @@ enum {
   LAST_PROP
 };
 
-G_DEFINE_TYPE (GbpBuildConfigurationView, gbp_build_configuration_view, EGG_TYPE_COLUMN_LAYOUT)
+G_DEFINE_TYPE (IdeBuildConfigurationView, ide_build_configuration_view, EGG_TYPE_COLUMN_LAYOUT)
 
 static GParamSpec *properties [LAST_PROP];
 
@@ -175,13 +177,13 @@ create_device_row (gpointer item,
 }
 
 static void
-device_row_activated (GbpBuildConfigurationView *self,
+device_row_activated (IdeBuildConfigurationView *self,
                       GtkListBoxRow             *row,
                       GtkListBox                *list_box)
 {
   IdeDevice *device;
 
-  g_assert (GBP_IS_BUILD_CONFIGURATION_VIEW (self));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_VIEW (self));
   g_assert (GTK_IS_LIST_BOX_ROW (row));
   g_assert (GTK_IS_LIST_BOX (list_box));
 
@@ -192,13 +194,13 @@ device_row_activated (GbpBuildConfigurationView *self,
 }
 
 static void
-runtime_row_activated (GbpBuildConfigurationView *self,
+runtime_row_activated (IdeBuildConfigurationView *self,
                        GtkListBoxRow             *row,
                        GtkListBox                *list_box)
 {
   IdeRuntime *runtime;
 
-  g_assert (GBP_IS_BUILD_CONFIGURATION_VIEW (self));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_VIEW (self));
   g_assert (GTK_IS_LIST_BOX_ROW (row));
   g_assert (GTK_IS_LIST_BOX (list_box));
 
@@ -220,7 +222,7 @@ treat_null_as_empty (GBinding     *binding,
 }
 
 static void
-gbp_build_configuration_view_connect (GbpBuildConfigurationView *self,
+ide_build_configuration_view_connect (IdeBuildConfigurationView *self,
                                       IdeConfiguration          *configuration)
 {
   IdeRuntimeManager *runtime_manager;
@@ -228,7 +230,7 @@ gbp_build_configuration_view_connect (GbpBuildConfigurationView *self,
   IdeContext *context;
   IdeEnvironment *environment;
 
-  g_assert (GBP_IS_BUILD_CONFIGURATION_VIEW (self));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_VIEW (self));
   g_assert (IDE_IS_CONFIGURATION (configuration));
 
   context = ide_object_get_context (IDE_OBJECT (configuration));
@@ -270,10 +272,10 @@ gbp_build_configuration_view_connect (GbpBuildConfigurationView *self,
 }
 
 static void
-gbp_build_configuration_view_disconnect (GbpBuildConfigurationView *self,
+ide_build_configuration_view_disconnect (IdeBuildConfigurationView *self,
                                          IdeConfiguration          *configuration)
 {
-  g_assert (GBP_IS_BUILD_CONFIGURATION_VIEW (self));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_VIEW (self));
   g_assert (IDE_IS_CONFIGURATION (configuration));
 
   gtk_list_box_bind_model (self->device_list_box, NULL, NULL, NULL, NULL);
@@ -285,31 +287,31 @@ gbp_build_configuration_view_disconnect (GbpBuildConfigurationView *self,
 }
 
 static void
-gbp_build_configuration_view_destroy (GtkWidget *widget)
+ide_build_configuration_view_destroy (GtkWidget *widget)
 {
-  GbpBuildConfigurationView *self = (GbpBuildConfigurationView *)widget;
+  IdeBuildConfigurationView *self = (IdeBuildConfigurationView *)widget;
 
   if (self->configuration != NULL)
     {
-      gbp_build_configuration_view_disconnect (self, self->configuration);
+      ide_build_configuration_view_disconnect (self, self->configuration);
       g_clear_object (&self->configuration);
     }
 
-  GTK_WIDGET_CLASS (gbp_build_configuration_view_parent_class)->destroy (widget);
+  GTK_WIDGET_CLASS (ide_build_configuration_view_parent_class)->destroy (widget);
 }
 
 static void
-gbp_build_configuration_view_get_property (GObject    *object,
+ide_build_configuration_view_get_property (GObject    *object,
                                            guint       prop_id,
                                            GValue     *value,
                                            GParamSpec *pspec)
 {
-  GbpBuildConfigurationView *self = GBP_BUILD_CONFIGURATION_VIEW (object);
+  IdeBuildConfigurationView *self = IDE_BUILD_CONFIGURATION_VIEW (object);
 
   switch (prop_id)
     {
     case PROP_CONFIGURATION:
-      g_value_set_object (value, gbp_build_configuration_view_get_configuration (self));
+      g_value_set_object (value, ide_build_configuration_view_get_configuration (self));
       break;
 
     default:
@@ -318,17 +320,17 @@ gbp_build_configuration_view_get_property (GObject    *object,
 }
 
 static void
-gbp_build_configuration_view_set_property (GObject      *object,
+ide_build_configuration_view_set_property (GObject      *object,
                                            guint         prop_id,
                                            const GValue *value,
                                            GParamSpec   *pspec)
 {
-  GbpBuildConfigurationView *self = GBP_BUILD_CONFIGURATION_VIEW (object);
+  IdeBuildConfigurationView *self = IDE_BUILD_CONFIGURATION_VIEW (object);
 
   switch (prop_id)
     {
     case PROP_CONFIGURATION:
-      gbp_build_configuration_view_set_configuration (self, g_value_get_object (value));
+      ide_build_configuration_view_set_configuration (self, g_value_get_object (value));
       break;
 
     default:
@@ -337,13 +339,13 @@ gbp_build_configuration_view_set_property (GObject      *object,
 }
 
 static void
-gbp_build_configuration_view_class_init (GbpBuildConfigurationViewClass *klass)
+ide_build_configuration_view_class_init (IdeBuildConfigurationViewClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-  object_class->get_property = gbp_build_configuration_view_get_property;
-  object_class->set_property = gbp_build_configuration_view_set_property;
+  object_class->get_property = ide_build_configuration_view_get_property;
+  object_class->set_property = ide_build_configuration_view_set_property;
 
   properties [PROP_CONFIGURATION] =
     g_param_spec_object ("configuration",
@@ -354,22 +356,22 @@ gbp_build_configuration_view_class_init (GbpBuildConfigurationViewClass *klass)
 
   g_object_class_install_properties (object_class, LAST_PROP, properties);
 
-  widget_class->destroy = gbp_build_configuration_view_destroy;
+  widget_class->destroy = ide_build_configuration_view_destroy;
 
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/build-tools-plugin/gbp-build-configuration-view.ui");
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/buildui/ide-build-configuration-view.ui");
   gtk_widget_class_set_css_name (widget_class, "configurationview");
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationView, configure_entry);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationView, device_list_box);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationView, display_name_entry);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationView, environment_editor);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationView, prefix_entry);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildConfigurationView, runtime_list_box);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationView, configure_entry);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationView, device_list_box);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationView, display_name_entry);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationView, environment_editor);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationView, prefix_entry);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildConfigurationView, runtime_list_box);
 
   g_type_ensure (IDE_TYPE_ENVIRONMENT_EDITOR);
 }
 
 static void
-gbp_build_configuration_view_init (GbpBuildConfigurationView *self)
+ide_build_configuration_view_init (IdeBuildConfigurationView *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
 
@@ -387,32 +389,32 @@ gbp_build_configuration_view_init (GbpBuildConfigurationView *self)
 }
 
 IdeConfiguration *
-gbp_build_configuration_view_get_configuration (GbpBuildConfigurationView *self)
+ide_build_configuration_view_get_configuration (IdeBuildConfigurationView *self)
 {
-  g_return_val_if_fail (GBP_IS_BUILD_CONFIGURATION_VIEW (self), NULL);
+  g_return_val_if_fail (IDE_IS_BUILD_CONFIGURATION_VIEW (self), NULL);
 
   return self->configuration;
 }
 
 void
-gbp_build_configuration_view_set_configuration (GbpBuildConfigurationView *self,
+ide_build_configuration_view_set_configuration (IdeBuildConfigurationView *self,
                                                 IdeConfiguration          *configuration)
 {
-  g_return_if_fail (GBP_IS_BUILD_CONFIGURATION_VIEW (self));
+  g_return_if_fail (IDE_IS_BUILD_CONFIGURATION_VIEW (self));
   g_return_if_fail (!configuration || IDE_IS_CONFIGURATION (configuration));
 
   if (self->configuration != configuration)
     {
       if (self->configuration != NULL)
         {
-          gbp_build_configuration_view_disconnect (self, self->configuration);
+          ide_build_configuration_view_disconnect (self, self->configuration);
           g_clear_object (&self->configuration);
         }
 
       if (configuration != NULL)
         {
           self->configuration = g_object_ref (configuration);
-          gbp_build_configuration_view_connect (self, configuration);
+          ide_build_configuration_view_connect (self, configuration);
         }
 
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CONFIGURATION]);
diff --git a/plugins/build-tools/gbp-build-configuration-view.h 
b/libide/buildui/ide-build-configuration-view.h
similarity index 63%
rename from plugins/build-tools/gbp-build-configuration-view.h
rename to libide/buildui/ide-build-configuration-view.h
index 37a00a1..2adea17 100644
--- a/plugins/build-tools/gbp-build-configuration-view.h
+++ b/libide/buildui/ide-build-configuration-view.h
@@ -1,4 +1,4 @@
-/* gbp-build-configuration-view.h
+/* ide-build-configuration-view.h
  *
  * Copyright (C) 2016 Christian Hergert <chergert redhat com>
  *
@@ -16,8 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef GBP_BUILD_CONFIGURATION_VIEW_H
-#define GBP_BUILD_CONFIGURATION_VIEW_H
+#ifndef IDE_BUILD_CONFIGURATION_VIEW_H
+#define IDE_BUILD_CONFIGURATION_VIEW_H
 
 #include <ide.h>
 
@@ -25,14 +25,14 @@
 
 G_BEGIN_DECLS
 
-#define GBP_TYPE_BUILD_CONFIGURATION_VIEW (gbp_build_configuration_view_get_type())
+#define IDE_TYPE_BUILD_CONFIGURATION_VIEW (ide_build_configuration_view_get_type())
 
-G_DECLARE_FINAL_TYPE (GbpBuildConfigurationView, gbp_build_configuration_view, GBP, 
BUILD_CONFIGURATION_VIEW, EggColumnLayout)
+G_DECLARE_FINAL_TYPE (IdeBuildConfigurationView, ide_build_configuration_view, IDE, 
BUILD_CONFIGURATION_VIEW, EggColumnLayout)
 
-IdeConfiguration *gbp_build_configuration_view_get_configuration (GbpBuildConfigurationView *self);
-void              gbp_build_configuration_view_set_configuration (GbpBuildConfigurationView *self,
+IdeConfiguration *ide_build_configuration_view_get_configuration (IdeBuildConfigurationView *self);
+void              ide_build_configuration_view_set_configuration (IdeBuildConfigurationView *self,
                                                                   IdeConfiguration          *configuration);
 
 G_END_DECLS
 
-#endif /* GBP_BUILD_CONFIGURATION_VIEW_H */
+#endif /* IDE_BUILD_CONFIGURATION_VIEW_H */
diff --git a/plugins/build-tools/gbp-build-configuration-view.ui 
b/libide/buildui/ide-build-configuration-view.ui
similarity index 99%
rename from plugins/build-tools/gbp-build-configuration-view.ui
rename to libide/buildui/ide-build-configuration-view.ui
index 8bed09e..2ea8e21 100644
--- a/plugins/build-tools/gbp-build-configuration-view.ui
+++ b/libide/buildui/ide-build-configuration-view.ui
@@ -1,5 +1,5 @@
 <interface>
-  <template class="GbpBuildConfigurationView" parent="EggColumnLayout">
+  <template class="IdeBuildConfigurationView" parent="EggColumnLayout">
     <property name="border-width">24</property>
     <child>
       <object class="GtkBox">
diff --git a/plugins/build-tools/gbp-build-log-panel.c b/libide/buildui/ide-build-log-panel.c
similarity index 78%
rename from plugins/build-tools/gbp-build-log-panel.c
rename to libide/buildui/ide-build-log-panel.c
index 7de582a..21a367e 100644
--- a/plugins/build-tools/gbp-build-log-panel.c
+++ b/libide/buildui/ide-build-log-panel.c
@@ -1,4 +1,4 @@
-/* gbp-build-log-panel.c
+/* ide-build-log-panel.c
  *
  * Copyright (C) 2015 Christian Hergert <chergert redhat com>
  *
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-build-log-panel"
+
 #include <glib/gi18n.h>
 #include <ide.h>
 
@@ -23,9 +25,9 @@
 
 #include "egg-signal-group.h"
 
-#include "gbp-build-log-panel.h"
+#include "ide-build-log-panel.h"
 
-struct _GbpBuildLogPanel
+struct _IdeBuildLogPanel
 {
   PnlDockWidget      parent_instance;
 
@@ -47,16 +49,16 @@ enum {
   LAST_PROP
 };
 
-G_DEFINE_TYPE (GbpBuildLogPanel, gbp_build_log_panel, PNL_TYPE_DOCK_WIDGET)
+G_DEFINE_TYPE (IdeBuildLogPanel, ide_build_log_panel, PNL_TYPE_DOCK_WIDGET)
 
 static GParamSpec *properties [LAST_PROP];
 
 static void
-gbp_build_log_panel_reset_view (GbpBuildLogPanel *self)
+ide_build_log_panel_reset_view (IdeBuildLogPanel *self)
 {
   GtkStyleContext *context;
 
-  g_assert (GBP_IS_BUILD_LOG_PANEL (self));
+  g_assert (IDE_IS_BUILD_LOG_PANEL (self));
 
   g_clear_object (&self->buffer);
 
@@ -88,16 +90,16 @@ gbp_build_log_panel_reset_view (GbpBuildLogPanel *self)
 }
 
 static void
-gbp_build_log_panel_log_observer (IdeBuildLogStream  stream,
+ide_build_log_panel_log_observer (IdeBuildLogStream  stream,
                                   const gchar       *message,
                                   gssize             message_len,
                                   gpointer           user_data)
 {
-  GbpBuildLogPanel *self = user_data;
+  IdeBuildLogPanel *self = user_data;
   GtkTextMark *insert;
   GtkTextIter iter;
 
-  g_assert (GBP_IS_BUILD_LOG_PANEL (self));
+  g_assert (IDE_IS_BUILD_LOG_PANEL (self));
   g_assert (message != NULL);
   g_assert (message_len >= 0);
   g_assert (message[message_len] == '\0');
@@ -126,10 +128,10 @@ gbp_build_log_panel_log_observer (IdeBuildLogStream  stream,
 }
 
 void
-gbp_build_log_panel_set_pipeline (GbpBuildLogPanel *self,
+ide_build_log_panel_set_pipeline (IdeBuildLogPanel *self,
                                   IdeBuildPipeline *pipeline)
 {
-  g_return_if_fail (GBP_IS_BUILD_LOG_PANEL (self));
+  g_return_if_fail (IDE_IS_BUILD_LOG_PANEL (self));
   g_return_if_fail (!pipeline || IDE_IS_BUILD_PIPELINE (pipeline));
 
   if (pipeline != self->pipeline)
@@ -146,7 +148,7 @@ gbp_build_log_panel_set_pipeline (GbpBuildLogPanel *self,
           self->pipeline = g_object_ref (pipeline);
           self->log_observer =
             ide_build_pipeline_add_log_observer (self->pipeline,
-                                                 gbp_build_log_panel_log_observer,
+                                                 ide_build_log_panel_log_observer,
                                                  self,
                                                  NULL);
         }
@@ -154,14 +156,14 @@ gbp_build_log_panel_set_pipeline (GbpBuildLogPanel *self,
 }
 
 static void
-gbp_build_log_panel_changed_font_name (GbpBuildLogPanel *self,
+ide_build_log_panel_changed_font_name (IdeBuildLogPanel *self,
                                        const gchar      *key,
                                        GSettings        *settings)
 {
   gchar *font_name;
   PangoFontDescription *font_desc;
 
-  g_assert (GBP_IS_BUILD_LOG_PANEL (self));
+  g_assert (IDE_IS_BUILD_LOG_PANEL (self));
   g_assert (g_strcmp0 (key, "font-name") == 0);
   g_assert (G_IS_SETTINGS (settings));
 
@@ -187,9 +189,9 @@ gbp_build_log_panel_changed_font_name (GbpBuildLogPanel *self,
 }
 
 static void
-gbp_build_log_panel_finalize (GObject *object)
+ide_build_log_panel_finalize (GObject *object)
 {
-  GbpBuildLogPanel *self = (GbpBuildLogPanel *)object;
+  IdeBuildLogPanel *self = (IdeBuildLogPanel *)object;
 
   self->stderr_tag = NULL;
 
@@ -197,26 +199,26 @@ gbp_build_log_panel_finalize (GObject *object)
   g_clear_object (&self->css);
   g_clear_object (&self->settings);
 
-  G_OBJECT_CLASS (gbp_build_log_panel_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ide_build_log_panel_parent_class)->finalize (object);
 }
 
 static void
-gbp_build_log_panel_dispose (GObject *object)
+ide_build_log_panel_dispose (GObject *object)
 {
-  GbpBuildLogPanel *self = (GbpBuildLogPanel *)object;
+  IdeBuildLogPanel *self = (IdeBuildLogPanel *)object;
 
-  gbp_build_log_panel_set_pipeline (self, NULL);
+  ide_build_log_panel_set_pipeline (self, NULL);
 
-  G_OBJECT_CLASS (gbp_build_log_panel_parent_class)->dispose (object);
+  G_OBJECT_CLASS (ide_build_log_panel_parent_class)->dispose (object);
 }
 
 static void
-gbp_build_log_panel_get_property (GObject    *object,
+ide_build_log_panel_get_property (GObject    *object,
                                   guint       prop_id,
                                   GValue     *value,
                                   GParamSpec *pspec)
 {
-  GbpBuildLogPanel *self = GBP_BUILD_LOG_PANEL (object);
+  IdeBuildLogPanel *self = IDE_BUILD_LOG_PANEL (object);
 
   switch (prop_id)
     {
@@ -230,17 +232,17 @@ gbp_build_log_panel_get_property (GObject    *object,
 }
 
 static void
-gbp_build_log_panel_set_property (GObject      *object,
+ide_build_log_panel_set_property (GObject      *object,
                                   guint         prop_id,
                                   const GValue *value,
                                   GParamSpec   *pspec)
 {
-  GbpBuildLogPanel *self = GBP_BUILD_LOG_PANEL (object);
+  IdeBuildLogPanel *self = IDE_BUILD_LOG_PANEL (object);
 
   switch (prop_id)
     {
     case PROP_PIPELINE:
-      gbp_build_log_panel_set_pipeline (self, g_value_get_object (value));
+      ide_build_log_panel_set_pipeline (self, g_value_get_object (value));
       break;
 
     default:
@@ -249,19 +251,19 @@ gbp_build_log_panel_set_property (GObject      *object,
 }
 
 static void
-gbp_build_log_panel_class_init (GbpBuildLogPanelClass *klass)
+ide_build_log_panel_class_init (IdeBuildLogPanelClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-  object_class->dispose = gbp_build_log_panel_dispose;
-  object_class->finalize = gbp_build_log_panel_finalize;
-  object_class->get_property = gbp_build_log_panel_get_property;
-  object_class->set_property = gbp_build_log_panel_set_property;
+  object_class->dispose = ide_build_log_panel_dispose;
+  object_class->finalize = ide_build_log_panel_finalize;
+  object_class->get_property = ide_build_log_panel_get_property;
+  object_class->set_property = ide_build_log_panel_set_property;
 
   gtk_widget_class_set_css_name (widget_class, "buildlogpanel");
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/build-tools-plugin/gbp-build-log-panel.ui");
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildLogPanel, scroller);
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/buildui/ide-build-log-panel.ui");
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildLogPanel, scroller);
 
   properties [PROP_PIPELINE] =
     g_param_spec_object ("pipeline",
@@ -274,7 +276,7 @@ gbp_build_log_panel_class_init (GbpBuildLogPanelClass *klass)
 }
 
 static void
-gbp_build_log_panel_init (GbpBuildLogPanel *self)
+ide_build_log_panel_init (IdeBuildLogPanel *self)
 {
   self->css = gtk_css_provider_new ();
 
@@ -282,13 +284,13 @@ gbp_build_log_panel_init (GbpBuildLogPanel *self)
 
   g_object_set (self, "title", _("Build Output"), NULL);
 
-  gbp_build_log_panel_reset_view (self);
+  ide_build_log_panel_reset_view (self);
 
   self->settings = g_settings_new ("org.gnome.builder.terminal");
   g_signal_connect_object (self->settings,
                            "changed::font-name",
-                           G_CALLBACK (gbp_build_log_panel_changed_font_name),
+                           G_CALLBACK (ide_build_log_panel_changed_font_name),
                            self,
                            G_CONNECT_SWAPPED);
-  gbp_build_log_panel_changed_font_name (self, "font-name", self->settings);
+  ide_build_log_panel_changed_font_name (self, "font-name", self->settings);
 }
diff --git a/plugins/build-tools/gbp-build-log-panel.h b/libide/buildui/ide-build-log-panel.h
similarity index 73%
rename from plugins/build-tools/gbp-build-log-panel.h
rename to libide/buildui/ide-build-log-panel.h
index f4d5079..d2145fc 100644
--- a/plugins/build-tools/gbp-build-log-panel.h
+++ b/libide/buildui/ide-build-log-panel.h
@@ -1,4 +1,4 @@
-/* gbp-build-log-panel.h
+/* ide-build-log-panel.h
  *
  * Copyright (C) 2015 Christian Hergert <chergert redhat com>
  *
@@ -16,20 +16,20 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef GBP_BUILD_LOG_PANEL_H
-#define GBP_BUILD_LOG_PANEL_H
+#ifndef IDE_BUILD_LOG_PANEL_H
+#define IDE_BUILD_LOG_PANEL_H
 
 #include <ide.h>
 
 G_BEGIN_DECLS
 
-#define GBP_TYPE_BUILD_LOG_PANEL (gbp_build_log_panel_get_type())
+#define IDE_TYPE_BUILD_LOG_PANEL (ide_build_log_panel_get_type())
 
-G_DECLARE_FINAL_TYPE (GbpBuildLogPanel, gbp_build_log_panel, GBP, BUILD_LOG_PANEL, PnlDockWidget)
+G_DECLARE_FINAL_TYPE (IdeBuildLogPanel, ide_build_log_panel, IDE, BUILD_LOG_PANEL, PnlDockWidget)
 
-void gbp_build_log_panel_set_pipeline (GbpBuildLogPanel *self,
+void ide_build_log_panel_set_pipeline (IdeBuildLogPanel *self,
                                        IdeBuildPipeline *pipeline);
 
 G_END_DECLS
 
-#endif /* GBP_BUILD_LOG_PANEL_H */
+#endif /* IDE_BUILD_LOG_PANEL_H */
diff --git a/plugins/build-tools/gbp-build-log-panel.ui b/libide/buildui/ide-build-log-panel.ui
similarity index 79%
rename from plugins/build-tools/gbp-build-log-panel.ui
rename to libide/buildui/ide-build-log-panel.ui
index 36f6402..93a1463 100644
--- a/plugins/build-tools/gbp-build-log-panel.ui
+++ b/libide/buildui/ide-build-log-panel.ui
@@ -1,5 +1,5 @@
 <interface>
-  <template class="GbpBuildLogPanel" parent="PnlDockWidget">
+  <template class="IdeBuildLogPanel" parent="PnlDockWidget">
     <child>
       <object class="GtkScrolledWindow" id="scroller">
         <property name="expand">true</property>
diff --git a/plugins/build-tools/gbp-build-panel.c b/libide/buildui/ide-build-panel.c
similarity index 79%
rename from plugins/build-tools/gbp-build-panel.c
rename to libide/buildui/ide-build-panel.c
index 0fb954f..52653fa 100644
--- a/plugins/build-tools/gbp-build-panel.c
+++ b/libide/buildui/ide-build-panel.c
@@ -1,4 +1,4 @@
-/* gbp-build-panel.c
+/* ide-build-panel.c
  *
  * Copyright (C) 2015 Christian Hergert <chergert redhat com>
  *
@@ -16,12 +16,14 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-build-panel"
+
 #include <glib/gi18n.h>
 #include <ide.h>
 
-#include "gbp-build-panel.h"
+#include "ide-build-panel.h"
 
-struct _GbpBuildPanel
+struct _IdeBuildPanel
 {
   PnlDockWidget        parent_instance;
 
@@ -43,7 +45,7 @@ struct _GbpBuildPanel
   guint                warning_count;
 };
 
-G_DEFINE_TYPE (GbpBuildPanel, gbp_build_panel, PNL_TYPE_DOCK_WIDGET)
+G_DEFINE_TYPE (IdeBuildPanel, ide_build_panel, PNL_TYPE_DOCK_WIDGET)
 
 enum {
   COLUMN_DIAGNOSTIC,
@@ -60,7 +62,7 @@ enum {
 static GParamSpec *properties [N_PROPS];
 
 static void
-gbp_build_panel_diagnostic (GbpBuildPanel    *self,
+ide_build_panel_diagnostic (IdeBuildPanel    *self,
                             IdeDiagnostic    *diagnostic,
                             IdeBuildPipeline *pipeline)
 {
@@ -69,7 +71,7 @@ gbp_build_panel_diagnostic (GbpBuildPanel    *self,
 
   IDE_ENTRY;
 
-  g_assert (GBP_IS_BUILD_PANEL (self));
+  g_assert (IDE_IS_BUILD_PANEL (self));
   g_assert (diagnostic != NULL);
   g_assert (IDE_IS_BUILD_PIPELINE (pipeline));
 
@@ -144,11 +146,11 @@ gbp_build_panel_diagnostic (GbpBuildPanel    *self,
 }
 
 static void
-gbp_build_panel_update_running_time (GbpBuildPanel *self)
+ide_build_panel_update_running_time (IdeBuildPanel *self)
 {
   g_autofree gchar *text = NULL;
 
-  g_assert (GBP_IS_BUILD_PANEL (self));
+  g_assert (IDE_IS_BUILD_PANEL (self));
 
   if (self->pipeline != NULL)
     {
@@ -167,12 +169,12 @@ gbp_build_panel_update_running_time (GbpBuildPanel *self)
 }
 
 static void
-gbp_build_panel_started (GbpBuildPanel    *self,
+ide_build_panel_started (IdeBuildPanel    *self,
                          IdeBuildPipeline *pipeline)
 {
   IDE_ENTRY;
 
-  g_assert (GBP_IS_BUILD_PANEL (self));
+  g_assert (IDE_IS_BUILD_PANEL (self));
   g_assert (IDE_IS_BUILD_PIPELINE (pipeline));
 
   self->error_count = 0;
@@ -188,10 +190,10 @@ gbp_build_panel_started (GbpBuildPanel    *self,
 }
 
 static void
-gbp_build_panel_connect (GbpBuildPanel    *self,
+ide_build_panel_connect (IdeBuildPanel    *self,
                          IdeBuildPipeline *pipeline)
 {
-  g_return_if_fail (GBP_IS_BUILD_PANEL (self));
+  g_return_if_fail (IDE_IS_BUILD_PANEL (self));
   g_return_if_fail (IDE_IS_BUILD_PIPELINE (pipeline));
   g_return_if_fail (self->pipeline == NULL);
 
@@ -204,13 +206,13 @@ gbp_build_panel_connect (GbpBuildPanel    *self,
 
   g_signal_connect_object (pipeline,
                            "diagnostic",
-                           G_CALLBACK (gbp_build_panel_diagnostic),
+                           G_CALLBACK (ide_build_panel_diagnostic),
                            self,
                            G_CONNECT_SWAPPED);
 
   g_signal_connect_object (pipeline,
                            "started",
-                           G_CALLBACK (gbp_build_panel_started),
+                           G_CALLBACK (ide_build_panel_started),
                            self,
                            G_CONNECT_SWAPPED);
 
@@ -220,13 +222,13 @@ gbp_build_panel_connect (GbpBuildPanel    *self,
 }
 
 static void
-gbp_build_panel_disconnect (GbpBuildPanel *self)
+ide_build_panel_disconnect (IdeBuildPanel *self)
 {
-  g_return_if_fail (GBP_IS_BUILD_PANEL (self));
+  g_return_if_fail (IDE_IS_BUILD_PANEL (self));
   g_return_if_fail (IDE_IS_BUILD_PIPELINE (self->pipeline));
 
   g_signal_handlers_disconnect_by_func (self->pipeline,
-                                        G_CALLBACK (gbp_build_panel_diagnostic),
+                                        G_CALLBACK (ide_build_panel_diagnostic),
                                         self);
   g_clear_object (&self->pipeline);
 
@@ -238,24 +240,24 @@ gbp_build_panel_disconnect (GbpBuildPanel *self)
 }
 
 void
-gbp_build_panel_set_pipeline (GbpBuildPanel    *self,
+ide_build_panel_set_pipeline (IdeBuildPanel    *self,
                               IdeBuildPipeline *pipeline)
 {
-  g_return_if_fail (GBP_IS_BUILD_PANEL (self));
+  g_return_if_fail (IDE_IS_BUILD_PANEL (self));
   g_return_if_fail (!pipeline || IDE_IS_BUILD_PIPELINE (pipeline));
 
   if (pipeline != self->pipeline)
     {
       if (self->pipeline)
-        gbp_build_panel_disconnect (self);
+        ide_build_panel_disconnect (self);
 
       if (pipeline)
-        gbp_build_panel_connect (self, pipeline);
+        ide_build_panel_connect (self, pipeline);
     }
 }
 
 static void
-gbp_build_panel_diagnostic_activated (GbpBuildPanel     *self,
+ide_build_panel_diagnostic_activated (IdeBuildPanel     *self,
                                       GtkTreePath       *path,
                                       GtkTreeViewColumn *colun,
                                       GtkTreeView       *tree_view)
@@ -269,7 +271,7 @@ gbp_build_panel_diagnostic_activated (GbpBuildPanel     *self,
 
   IDE_ENTRY;
 
-  g_assert (GBP_IS_BUILD_PANEL (self));
+  g_assert (IDE_IS_BUILD_PANEL (self));
   g_assert (path != NULL);
   g_assert (GTK_IS_TREE_VIEW_COLUMN (colun));
   g_assert (GTK_IS_TREE_VIEW (tree_view));
@@ -307,7 +309,7 @@ gbp_build_panel_diagnostic_activated (GbpBuildPanel     *self,
 }
 
 static void
-gbp_build_panel_text_func (GtkCellLayout   *layout,
+ide_build_panel_text_func (GtkCellLayout   *layout,
                            GtkCellRenderer *renderer,
                            GtkTreeModel    *model,
                            GtkTreeIter     *iter,
@@ -371,15 +373,15 @@ gbp_build_panel_text_func (GtkCellLayout   *layout,
 }
 
 static void
-gbp_build_panel_context_handler (GtkWidget  *widget,
+ide_build_panel_context_handler (GtkWidget  *widget,
                                  IdeContext *context)
 {
-  GbpBuildPanel *self = (GbpBuildPanel *)widget;
+  IdeBuildPanel *self = (IdeBuildPanel *)widget;
   IdeBuildManager *build_manager;
 
   IDE_ENTRY;
 
-  g_assert (GBP_IS_BUILD_PANEL (self));
+  g_assert (IDE_IS_BUILD_PANEL (self));
   g_assert (!context || IDE_IS_CONTEXT (context));
 
   if (context == NULL)
@@ -393,25 +395,25 @@ gbp_build_panel_context_handler (GtkWidget  *widget,
 
   g_signal_connect_object (build_manager,
                            "notify::running-time",
-                           G_CALLBACK (gbp_build_panel_update_running_time),
+                           G_CALLBACK (ide_build_panel_update_running_time),
                            self,
                            G_CONNECT_SWAPPED);
 
   g_signal_connect_object (build_manager,
                            "build-started",
-                           G_CALLBACK (gbp_build_panel_update_running_time),
+                           G_CALLBACK (ide_build_panel_update_running_time),
                            self,
                            G_CONNECT_SWAPPED);
 
   g_signal_connect_object (build_manager,
                            "build-finished",
-                           G_CALLBACK (gbp_build_panel_update_running_time),
+                           G_CALLBACK (ide_build_panel_update_running_time),
                            self,
                            G_CONNECT_SWAPPED);
 
   g_signal_connect_object (build_manager,
                            "build-failed",
-                           G_CALLBACK (gbp_build_panel_update_running_time),
+                           G_CALLBACK (ide_build_panel_update_running_time),
                            self,
                            G_CONNECT_SWAPPED);
 
@@ -419,25 +421,25 @@ gbp_build_panel_context_handler (GtkWidget  *widget,
 }
 
 static void
-gbp_build_panel_destroy (GtkWidget *widget)
+ide_build_panel_destroy (GtkWidget *widget)
 {
-  GbpBuildPanel *self = (GbpBuildPanel *)widget;
+  IdeBuildPanel *self = (IdeBuildPanel *)widget;
 
   if (self->pipeline != NULL)
-    gbp_build_panel_disconnect (self);
+    ide_build_panel_disconnect (self);
 
   g_clear_pointer (&self->diags_hash, g_hash_table_unref);
 
-  GTK_WIDGET_CLASS (gbp_build_panel_parent_class)->destroy (widget);
+  GTK_WIDGET_CLASS (ide_build_panel_parent_class)->destroy (widget);
 }
 
 static void
-gbp_build_panel_get_property (GObject    *object,
+ide_build_panel_get_property (GObject    *object,
                               guint       prop_id,
                               GValue     *value,
                               GParamSpec *pspec)
 {
-  GbpBuildPanel *self = GBP_BUILD_PANEL (object);
+  IdeBuildPanel *self = IDE_BUILD_PANEL (object);
 
   switch (prop_id)
     {
@@ -451,17 +453,17 @@ gbp_build_panel_get_property (GObject    *object,
 }
 
 static void
-gbp_build_panel_set_property (GObject      *object,
+ide_build_panel_set_property (GObject      *object,
                               guint         prop_id,
                               const GValue *value,
                               GParamSpec   *pspec)
 {
-  GbpBuildPanel *self = GBP_BUILD_PANEL (object);
+  IdeBuildPanel *self = IDE_BUILD_PANEL (object);
 
   switch (prop_id)
     {
     case PROP_PIPELINE:
-      gbp_build_panel_set_pipeline (self, g_value_get_object (value));
+      ide_build_panel_set_pipeline (self, g_value_get_object (value));
       break;
 
     default:
@@ -470,15 +472,15 @@ gbp_build_panel_set_property (GObject      *object,
 }
 
 static void
-gbp_build_panel_class_init (GbpBuildPanelClass *klass)
+ide_build_panel_class_init (IdeBuildPanelClass *klass)
 {
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  widget_class->destroy = gbp_build_panel_destroy;
+  widget_class->destroy = ide_build_panel_destroy;
 
-  object_class->get_property = gbp_build_panel_get_property;
-  object_class->set_property = gbp_build_panel_set_property;
+  object_class->get_property = ide_build_panel_get_property;
+  object_class->set_property = ide_build_panel_set_property;
 
   properties [PROP_PIPELINE] =
     g_param_spec_object ("pipeline",
@@ -489,24 +491,24 @@ gbp_build_panel_class_init (GbpBuildPanelClass *klass)
 
   g_object_class_install_properties (object_class, N_PROPS, properties);
 
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/build-tools-plugin/gbp-build-panel.ui");
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/buildui/ide-build-panel.ui");
   gtk_widget_class_set_css_name (widget_class, "buildpanel");
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, diagnostics_column);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, diagnostics_store);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, diagnostics_text);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, diagnostics_tree_view);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, errors_label);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, running_time_label);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, stack);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, status_label);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, status_revealer);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, warnings_label);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, diagnostics_column);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, diagnostics_store);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, diagnostics_text);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, diagnostics_tree_view);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, errors_label);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, running_time_label);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, stack);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, status_label);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, status_revealer);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPanel, warnings_label);
 
   g_type_ensure (IDE_TYPE_DIAGNOSTIC);
 }
 
 static void
-gbp_build_panel_init (GbpBuildPanel *self)
+ide_build_panel_init (IdeBuildPanel *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
 
@@ -514,16 +516,16 @@ gbp_build_panel_init (GbpBuildPanel *self)
 
   g_object_set (self, "title", _("Build"), NULL);
 
-  ide_widget_set_context_handler (self, gbp_build_panel_context_handler);
+  ide_widget_set_context_handler (self, ide_build_panel_context_handler);
 
   g_signal_connect_object (self->diagnostics_tree_view,
                            "row-activated",
-                           G_CALLBACK (gbp_build_panel_diagnostic_activated),
+                           G_CALLBACK (ide_build_panel_diagnostic_activated),
                            self,
                            G_CONNECT_SWAPPED);
 
   gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (self->diagnostics_column),
                                       GTK_CELL_RENDERER (self->diagnostics_text),
-                                      gbp_build_panel_text_func,
+                                      ide_build_panel_text_func,
                                       self, NULL);
 }
diff --git a/plugins/build-tools/gbp-build-panel.h b/libide/buildui/ide-build-panel.h
similarity index 78%
rename from plugins/build-tools/gbp-build-panel.h
rename to libide/buildui/ide-build-panel.h
index a3e61ca..c8e48e0 100644
--- a/plugins/build-tools/gbp-build-panel.h
+++ b/libide/buildui/ide-build-panel.h
@@ -1,4 +1,4 @@
-/* gbp-build-panel.h
+/* ide-build-panel.h
  *
  * Copyright (C) 2015 Christian Hergert <chergert redhat com>
  *
@@ -16,18 +16,18 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef GBP_BUILD_PANEL_H
-#define GBP_BUILD_PANEL_H
+#ifndef IDE_BUILD_PANEL_H
+#define IDE_BUILD_PANEL_H
 
 #include <gtk/gtk.h>
 #include <ide.h>
 
 G_BEGIN_DECLS
 
-#define GBP_TYPE_BUILD_PANEL (gbp_build_panel_get_type())
+#define IDE_TYPE_BUILD_PANEL (ide_build_panel_get_type())
 
-G_DECLARE_FINAL_TYPE (GbpBuildPanel, gbp_build_panel, GBP, BUILD_PANEL, PnlDockWidget)
+G_DECLARE_FINAL_TYPE (IdeBuildPanel, ide_build_panel, IDE, BUILD_PANEL, PnlDockWidget)
 
 G_END_DECLS
 
-#endif /* GBP_BUILD_PANEL_H */
+#endif /* IDE_BUILD_PANEL_H */
diff --git a/plugins/build-tools/gbp-build-panel.ui b/libide/buildui/ide-build-panel.ui
similarity index 99%
rename from plugins/build-tools/gbp-build-panel.ui
rename to libide/buildui/ide-build-panel.ui
index 39f5cf2..e3993f6 100644
--- a/plugins/build-tools/gbp-build-panel.ui
+++ b/libide/buildui/ide-build-panel.ui
@@ -1,5 +1,5 @@
 <interface>
-  <template class="GbpBuildPanel" parent="PnlDockWidget">
+  <template class="IdeBuildPanel" parent="PnlDockWidget">
     <child>
       <object class="GtkBox" id="toplevel">
         <property name="visible">true</property>
diff --git a/plugins/build-tools/gbp-build-perspective.c b/libide/buildui/ide-build-perspective.c
similarity index 71%
rename from plugins/build-tools/gbp-build-perspective.c
rename to libide/buildui/ide-build-perspective.c
index af1bb5b..2b17bd6 100644
--- a/plugins/build-tools/gbp-build-perspective.c
+++ b/libide/buildui/ide-build-perspective.c
@@ -1,4 +1,4 @@
-/* gbp-build-perspective.c
+/* ide-build-perspective.c
  *
  * Copyright (C) 2016 Christian Hergert <chergert redhat com>
  *
@@ -16,13 +16,15 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-build-perspective"
+
 #include <glib/gi18n.h>
 
-#include "gbp-build-configuration-row.h"
-#include "gbp-build-configuration-view.h"
-#include "gbp-build-perspective.h"
+#include "ide-build-configuration-row.h"
+#include "ide-build-configuration-view.h"
+#include "ide-build-perspective.h"
 
-struct _GbpBuildPerspective
+struct _IdeBuildPerspective
 {
   GtkBin                     parent_instance;
 
@@ -31,7 +33,7 @@ struct _GbpBuildPerspective
   IdeConfigurationManager   *configuration_manager;
 
   GtkListBox                *list_box;
-  GbpBuildConfigurationView *view;
+  IdeBuildConfigurationView *view;
 };
 
 enum {
@@ -43,7 +45,7 @@ enum {
 
 static void perspective_iface_init (IdePerspectiveInterface *iface);
 
-G_DEFINE_TYPE_EXTENDED (GbpBuildPerspective, gbp_build_perspective, GTK_TYPE_BIN, 0,
+G_DEFINE_TYPE_EXTENDED (IdeBuildPerspective, ide_build_perspective, GTK_TYPE_BIN, 0,
                         G_IMPLEMENT_INTERFACE (IDE_TYPE_PERSPECTIVE, perspective_iface_init))
 
 static GParamSpec *properties [LAST_PROP];
@@ -64,7 +66,7 @@ select_first_row (GtkWidget *widget,
 {
   gboolean *selected = user_data;
 
-  g_assert (GBP_IS_BUILD_CONFIGURATION_ROW (widget));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_ROW (widget));
   g_assert (selected != NULL);
 
   if (*selected == FALSE)
@@ -107,7 +109,7 @@ create_configuration_row (gpointer item,
   g_assert (IDE_IS_CONFIGURATION (configuration));
   g_assert (IDE_IS_CONFIGURATION_MANAGER (manager));
 
-  ret = g_object_new (GBP_TYPE_BUILD_CONFIGURATION_ROW,
+  ret = g_object_new (IDE_TYPE_BUILD_CONFIGURATION_ROW,
                       "configuration", configuration,
                       "visible", TRUE,
                       NULL);
@@ -120,10 +122,10 @@ create_configuration_row (gpointer item,
 }
 
 static void
-gbp_build_perspective_set_configuration_manager (GbpBuildPerspective     *self,
+ide_build_perspective_set_configuration_manager (IdeBuildPerspective     *self,
                                                  IdeConfigurationManager *manager)
 {
-  g_assert (GBP_IS_BUILD_PERSPECTIVE (self));
+  g_assert (IDE_IS_BUILD_PERSPECTIVE (self));
   g_assert (IDE_IS_CONFIGURATION_MANAGER (manager));
 
   g_set_object (&self->configuration_manager, manager);
@@ -140,14 +142,14 @@ static void
 update_selected_state (GtkWidget *widget,
                        gpointer   user_data)
 {
-  GbpBuildConfigurationRow *row = (GbpBuildConfigurationRow *)widget;
+  IdeBuildConfigurationRow *row = (IdeBuildConfigurationRow *)widget;
   IdeConfiguration *selected = user_data;
   IdeConfiguration *config;
 
-  g_assert (GBP_IS_BUILD_CONFIGURATION_ROW (row));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_ROW (row));
   g_assert (IDE_IS_CONFIGURATION (selected));
 
-  config = gbp_build_configuration_row_get_configuration (row);
+  config = ide_build_configuration_row_get_configuration (row);
 
   g_object_set (row,
                 "selected", (config == selected),
@@ -155,21 +157,21 @@ update_selected_state (GtkWidget *widget,
 }
 
 static void
-gbp_build_perspective_row_selected (GbpBuildPerspective      *self,
-                                    GbpBuildConfigurationRow *row,
+ide_build_perspective_row_selected (IdeBuildPerspective      *self,
+                                    IdeBuildConfigurationRow *row,
                                     GtkListBox               *list_box)
 {
-  g_assert (GBP_IS_BUILD_PERSPECTIVE (self));
-  g_assert (!row || GBP_IS_BUILD_CONFIGURATION_ROW (row));
+  g_assert (IDE_IS_BUILD_PERSPECTIVE (self));
+  g_assert (!row || IDE_IS_BUILD_CONFIGURATION_ROW (row));
   g_assert (GTK_IS_LIST_BOX (list_box));
 
   if (row != NULL)
     {
       IdeConfiguration *configuration;
 
-      configuration = gbp_build_configuration_row_get_configuration (row);
+      configuration = ide_build_configuration_row_get_configuration (row);
       g_set_object (&self->configuration, configuration);
-      gbp_build_configuration_view_set_configuration (self->view, configuration);
+      ide_build_configuration_view_set_configuration (self->view, configuration);
 
       gtk_container_foreach (GTK_CONTAINER (list_box),
                              update_selected_state,
@@ -185,17 +187,17 @@ gbp_build_perspective_row_selected (GbpBuildPerspective      *self,
 }
 
 static void
-gbp_build_perspective_row_activated (GbpBuildPerspective      *self,
-                                     GbpBuildConfigurationRow *row,
+ide_build_perspective_row_activated (IdeBuildPerspective      *self,
+                                     IdeBuildConfigurationRow *row,
                                      GtkListBox               *list_box)
 {
   IdeConfiguration *configuration;
 
-  g_assert (GBP_IS_BUILD_PERSPECTIVE (self));
-  g_assert (GBP_IS_BUILD_CONFIGURATION_ROW (row));
+  g_assert (IDE_IS_BUILD_PERSPECTIVE (self));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_ROW (row));
   g_assert (GTK_IS_LIST_BOX (list_box));
 
-  configuration = gbp_build_configuration_row_get_configuration (row);
+  configuration = ide_build_configuration_row_get_configuration (row);
   ide_configuration_manager_set_current (self->configuration_manager, configuration);
 }
 
@@ -204,9 +206,9 @@ duplicate_configuration (GSimpleAction *action,
                          GVariant      *variant,
                          gpointer       user_data)
 {
-  GbpBuildPerspective *self = user_data;
+  IdeBuildPerspective *self = user_data;
 
-  g_assert (GBP_IS_BUILD_PERSPECTIVE (self));
+  g_assert (IDE_IS_BUILD_PERSPECTIVE (self));
 
   if (self->configuration != NULL)
     {
@@ -222,9 +224,9 @@ delete_configuration (GSimpleAction *action,
                       GVariant      *variant,
                       gpointer       user_data)
 {
-  GbpBuildPerspective *self = user_data;
+  IdeBuildPerspective *self = user_data;
 
-  g_assert (GBP_IS_BUILD_PERSPECTIVE (self));
+  g_assert (IDE_IS_BUILD_PERSPECTIVE (self));
 
   if (self->configuration != NULL)
     {
@@ -248,34 +250,34 @@ delete_configuration (GSimpleAction *action,
           g_autoptr(IdeConfiguration) first = NULL;
 
           first = g_list_model_get_item (G_LIST_MODEL (self->configuration_manager), 0);
-          gbp_build_perspective_set_configuration (self, first);
+          ide_build_perspective_set_configuration (self, first);
         }
     }
 }
 
 static void
-gbp_build_perspective_finalize (GObject *object)
+ide_build_perspective_finalize (GObject *object)
 {
-  GbpBuildPerspective *self = (GbpBuildPerspective *)object;
+  IdeBuildPerspective *self = (IdeBuildPerspective *)object;
 
   g_clear_object (&self->actions);
   g_clear_object (&self->configuration);
 
-  G_OBJECT_CLASS (gbp_build_perspective_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ide_build_perspective_parent_class)->finalize (object);
 }
 
 static void
-gbp_build_perspective_get_property (GObject    *object,
+ide_build_perspective_get_property (GObject    *object,
                                     guint       prop_id,
                                     GValue     *value,
                                     GParamSpec *pspec)
 {
-  GbpBuildPerspective *self = GBP_BUILD_PERSPECTIVE (object);
+  IdeBuildPerspective *self = IDE_BUILD_PERSPECTIVE (object);
 
   switch (prop_id)
     {
     case PROP_CONFIGURATION:
-      g_value_set_object (value, gbp_build_perspective_get_configuration (self));
+      g_value_set_object (value, ide_build_perspective_get_configuration (self));
       break;
 
     case PROP_CONFIGURATION_MANAGER:
@@ -288,21 +290,21 @@ gbp_build_perspective_get_property (GObject    *object,
 }
 
 static void
-gbp_build_perspective_set_property (GObject      *object,
+ide_build_perspective_set_property (GObject      *object,
                                     guint         prop_id,
                                     const GValue *value,
                                     GParamSpec   *pspec)
 {
-  GbpBuildPerspective *self = GBP_BUILD_PERSPECTIVE (object);
+  IdeBuildPerspective *self = IDE_BUILD_PERSPECTIVE (object);
 
   switch (prop_id)
     {
     case PROP_CONFIGURATION:
-      gbp_build_perspective_set_configuration (self, g_value_get_object (value));
+      ide_build_perspective_set_configuration (self, g_value_get_object (value));
       break;
 
     case PROP_CONFIGURATION_MANAGER:
-      gbp_build_perspective_set_configuration_manager (self, g_value_get_object (value));
+      ide_build_perspective_set_configuration_manager (self, g_value_get_object (value));
       break;
 
     default:
@@ -311,14 +313,14 @@ gbp_build_perspective_set_property (GObject      *object,
 }
 
 static void
-gbp_build_perspective_class_init (GbpBuildPerspectiveClass *klass)
+ide_build_perspective_class_init (IdeBuildPerspectiveClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-  object_class->finalize = gbp_build_perspective_finalize;
-  object_class->get_property = gbp_build_perspective_get_property;
-  object_class->set_property = gbp_build_perspective_set_property;
+  object_class->finalize = ide_build_perspective_finalize;
+  object_class->get_property = ide_build_perspective_get_property;
+  object_class->set_property = ide_build_perspective_set_property;
 
   properties [PROP_CONFIGURATION_MANAGER] =
     g_param_spec_object ("configuration-manager",
@@ -336,16 +338,16 @@ gbp_build_perspective_class_init (GbpBuildPerspectiveClass *klass)
 
   g_object_class_install_properties (object_class, LAST_PROP, properties);
 
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/build-tools-plugin/gbp-build-perspective.ui");
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/buildui/ide-build-perspective.ui");
   gtk_widget_class_set_css_name (widget_class, "buildperspective");
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPerspective, list_box);
-  gtk_widget_class_bind_template_child (widget_class, GbpBuildPerspective, view);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPerspective, list_box);
+  gtk_widget_class_bind_template_child (widget_class, IdeBuildPerspective, view);
 
-  g_type_ensure (GBP_TYPE_BUILD_CONFIGURATION_VIEW);
+  g_type_ensure (IDE_TYPE_BUILD_CONFIGURATION_VIEW);
 }
 
 static void
-gbp_build_perspective_init (GbpBuildPerspective *self)
+ide_build_perspective_init (IdeBuildPerspective *self)
 {
   static GActionEntry actions[] = {
     { "delete-configuration", delete_configuration },
@@ -356,13 +358,13 @@ gbp_build_perspective_init (GbpBuildPerspective *self)
 
   g_signal_connect_object (self->list_box,
                            "row-selected",
-                           G_CALLBACK (gbp_build_perspective_row_selected),
+                           G_CALLBACK (ide_build_perspective_row_selected),
                            self,
                            G_CONNECT_SWAPPED);
 
   g_signal_connect_object (self->list_box,
                            "row-activated",
-                           G_CALLBACK (gbp_build_perspective_row_activated),
+                           G_CALLBACK (ide_build_perspective_row_activated),
                            self,
                            G_CONNECT_SWAPPED);
 
@@ -372,15 +374,15 @@ gbp_build_perspective_init (GbpBuildPerspective *self)
 }
 
 GtkWidget *
-gbp_build_perspective_new (void)
+ide_build_perspective_new (void)
 {
-  return g_object_new (GBP_TYPE_BUILD_PERSPECTIVE, NULL);
+  return g_object_new (IDE_TYPE_BUILD_PERSPECTIVE, NULL);
 }
 
 IdeConfiguration *
-gbp_build_perspective_get_configuration (GbpBuildPerspective *self)
+ide_build_perspective_get_configuration (IdeBuildPerspective *self)
 {
-  g_return_val_if_fail (GBP_IS_BUILD_PERSPECTIVE (self), NULL);
+  g_return_val_if_fail (IDE_IS_BUILD_PERSPECTIVE (self), NULL);
 
   return self->configuration;
 }
@@ -393,19 +395,19 @@ find_configuration_row (GtkWidget *widget,
     IdeConfiguration *config;
     GtkWidget        *row;
   } *lookup = data;
-  GbpBuildConfigurationRow *row = (GbpBuildConfigurationRow *)widget;
+  IdeBuildConfigurationRow *row = (IdeBuildConfigurationRow *)widget;
 
-  g_assert (GBP_IS_BUILD_CONFIGURATION_ROW (row));
+  g_assert (IDE_IS_BUILD_CONFIGURATION_ROW (row));
 
   if (lookup->row != NULL)
     return;
 
-  if (lookup->config == gbp_build_configuration_row_get_configuration (row))
+  if (lookup->config == ide_build_configuration_row_get_configuration (row))
     lookup->row = widget;
 }
 
 void
-gbp_build_perspective_set_configuration (GbpBuildPerspective *self,
+ide_build_perspective_set_configuration (IdeBuildPerspective *self,
                                          IdeConfiguration    *configuration)
 {
   struct {
@@ -413,7 +415,7 @@ gbp_build_perspective_set_configuration (GbpBuildPerspective *self,
     GtkWidget        *row;
   } lookup = { configuration, NULL };
 
-  g_return_if_fail (GBP_IS_BUILD_PERSPECTIVE (self));
+  g_return_if_fail (IDE_IS_BUILD_PERSPECTIVE (self));
   g_return_if_fail (!configuration || IDE_IS_CONFIGURATION (configuration));
 
   gtk_container_foreach (GTK_CONTAINER (self->list_box),
@@ -425,41 +427,41 @@ gbp_build_perspective_set_configuration (GbpBuildPerspective *self,
 }
 
 static gchar *
-gbp_build_perspective_get_icon_name (IdePerspective *perspective)
+ide_build_perspective_get_icon_name (IdePerspective *perspective)
 {
   return g_strdup ("builder-build-configure-symbolic");
 }
 
 static gchar *
-gbp_build_perspective_get_title (IdePerspective *perspective)
+ide_build_perspective_get_title (IdePerspective *perspective)
 {
   return g_strdup (_("Build Preferences"));
 }
 
 static gchar *
-gbp_build_perspective_get_id (IdePerspective *perspective)
+ide_build_perspective_get_id (IdePerspective *perspective)
 {
   return g_strdup ("buildperspective");
 }
 
 static gint
-gbp_build_perspective_get_priority (IdePerspective *perspective)
+ide_build_perspective_get_priority (IdePerspective *perspective)
 {
   return 80000;
 }
 
 static GActionGroup *
-gbp_build_perspective_get_actions (IdePerspective *perspective)
+ide_build_perspective_get_actions (IdePerspective *perspective)
 {
-  GbpBuildPerspective *self = (GbpBuildPerspective *)perspective;
+  IdeBuildPerspective *self = (IdeBuildPerspective *)perspective;
 
-  g_assert (GBP_IS_BUILD_PERSPECTIVE (self));
+  g_assert (IDE_IS_BUILD_PERSPECTIVE (self));
 
   return g_object_ref (self->actions);
 }
 
 static gchar *
-gbp_build_perspective_get_accelerator (IdePerspective *perspective)
+ide_build_perspective_get_accelerator (IdePerspective *perspective)
 {
   return g_strdup ("<alt>comma");
 }
@@ -467,10 +469,10 @@ gbp_build_perspective_get_accelerator (IdePerspective *perspective)
 static void
 perspective_iface_init (IdePerspectiveInterface *iface)
 {
-  iface->get_actions = gbp_build_perspective_get_actions;
-  iface->get_icon_name = gbp_build_perspective_get_icon_name;
-  iface->get_title = gbp_build_perspective_get_title;
-  iface->get_id = gbp_build_perspective_get_id;
-  iface->get_priority = gbp_build_perspective_get_priority;
-  iface->get_accelerator = gbp_build_perspective_get_accelerator;
+  iface->get_actions = ide_build_perspective_get_actions;
+  iface->get_icon_name = ide_build_perspective_get_icon_name;
+  iface->get_title = ide_build_perspective_get_title;
+  iface->get_id = ide_build_perspective_get_id;
+  iface->get_priority = ide_build_perspective_get_priority;
+  iface->get_accelerator = ide_build_perspective_get_accelerator;
 }
diff --git a/plugins/build-tools/gbp-build-perspective.h b/libide/buildui/ide-build-perspective.h
similarity index 68%
rename from plugins/build-tools/gbp-build-perspective.h
rename to libide/buildui/ide-build-perspective.h
index 22242f7..c3cb734 100644
--- a/plugins/build-tools/gbp-build-perspective.h
+++ b/libide/buildui/ide-build-perspective.h
@@ -1,4 +1,4 @@
-/* gbp-build-perspective.h
+/* ide-build-perspective.h
  *
  * Copyright (C) 2016 Christian Hergert <chergert redhat com>
  *
@@ -16,21 +16,21 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef GBP_BUILD_PERSPECTIVE_H
-#define GBP_BUILD_PERSPECTIVE_H
+#ifndef IDE_BUILD_PERSPECTIVE_H
+#define IDE_BUILD_PERSPECTIVE_H
 
 #include <ide.h>
 
 G_BEGIN_DECLS
 
-#define GBP_TYPE_BUILD_PERSPECTIVE (gbp_build_perspective_get_type())
+#define IDE_TYPE_BUILD_PERSPECTIVE (ide_build_perspective_get_type())
 
-G_DECLARE_FINAL_TYPE (GbpBuildPerspective, gbp_build_perspective, GBP, BUILD_PERSPECTIVE, GtkBin)
+G_DECLARE_FINAL_TYPE (IdeBuildPerspective, ide_build_perspective, IDE, BUILD_PERSPECTIVE, GtkBin)
 
-IdeConfiguration *gbp_build_perspective_get_configuration (GbpBuildPerspective *self);
-void              gbp_build_perspective_set_configuration (GbpBuildPerspective *self,
+IdeConfiguration *ide_build_perspective_get_configuration (IdeBuildPerspective *self);
+void              ide_build_perspective_set_configuration (IdeBuildPerspective *self,
                                                            IdeConfiguration    *configuration);
 
 G_END_DECLS
 
-#endif /* GBP_BUILD_PERSPECTIVE_H */
+#endif /* IDE_BUILD_PERSPECTIVE_H */
diff --git a/plugins/build-tools/gbp-build-perspective.ui b/libide/buildui/ide-build-perspective.ui
similarity index 93%
rename from plugins/build-tools/gbp-build-perspective.ui
rename to libide/buildui/ide-build-perspective.ui
index d19870b..9075f65 100644
--- a/plugins/build-tools/gbp-build-perspective.ui
+++ b/libide/buildui/ide-build-perspective.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.21 -->
-  <template class="GbpBuildPerspective" parent="GtkBin">
+  <template class="IdeBuildPerspective" parent="GtkBin">
     <child>
       <object class="GtkBox">
         <property name="halign">start</property>
@@ -33,7 +33,7 @@
             <property name="propagate-natural-height">true</property>
             <property name="propagate-natural-width">true</property>
             <child>
-              <object class="GbpBuildConfigurationView" id="view">
+              <object class="IdeBuildConfigurationView" id="view">
                 <property name="expand">true</property>
                 <property name="visible">true</property>
               </object>
diff --git a/plugins/build-tools/gbp-build-plugin.c b/libide/buildui/ide-build-plugin.c
similarity index 76%
rename from plugins/build-tools/gbp-build-plugin.c
rename to libide/buildui/ide-build-plugin.c
index 251631c..44fe39f 100644
--- a/plugins/build-tools/gbp-build-plugin.c
+++ b/libide/buildui/ide-build-plugin.c
@@ -1,4 +1,4 @@
-/* gbp-build-plugin.c
+/* ide-build-plugin.c
  *
  * Copyright (C) 2015 Christian Hergert <chergert redhat com>
  *
@@ -16,19 +16,21 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-build-plugin"
+
 #include <libpeas/peas.h>
 #include <ide.h>
 
-#include "gbp-build-tool.h"
-#include "gbp-build-workbench-addin.h"
+#include "ide-build-tool.h"
+#include "ide-build-workbench-addin.h"
 
 void
-peas_register_types (PeasObjectModule *module)
+ide_build_tool_register_types (PeasObjectModule *module)
 {
   peas_object_module_register_extension_type (module,
                                               IDE_TYPE_APPLICATION_TOOL,
-                                              GBP_TYPE_BUILD_TOOL);
+                                              IDE_TYPE_BUILD_TOOL);
   peas_object_module_register_extension_type (module,
                                               IDE_TYPE_WORKBENCH_ADDIN,
-                                              GBP_TYPE_BUILD_WORKBENCH_ADDIN);
+                                              IDE_TYPE_BUILD_WORKBENCH_ADDIN);
 }
diff --git a/plugins/build-tools/gbp-build-tool.c b/libide/buildui/ide-build-tool.c
similarity index 91%
rename from plugins/build-tools/gbp-build-tool.c
rename to libide/buildui/ide-build-tool.c
index 231cf36..a3c8681 100644
--- a/plugins/build-tools/gbp-build-tool.c
+++ b/libide/buildui/ide-build-tool.c
@@ -1,4 +1,4 @@
-/* gbp-build-tool.c
+/* ide-build-tool.c
  *
  * Copyright (C) 2015 Christian Hergert <christian hergert me>
  *
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-build-tool"
+
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
@@ -23,9 +25,9 @@
 #include <glib/gi18n.h>
 #include <ide.h>
 
-#include "gbp-build-tool.h"
+#include "ide-build-tool.h"
 
-struct _GbpBuildTool
+struct _IdeBuildTool
 {
   GObject parent_instance;
   gint64  build_start;
@@ -38,21 +40,21 @@ static gchar *runtime_id;
 
 static void application_tool_init (IdeApplicationToolInterface *iface);
 
-G_DEFINE_TYPE_EXTENDED (GbpBuildTool, gbp_build_tool, G_TYPE_OBJECT, 0,
+G_DEFINE_TYPE_EXTENDED (IdeBuildTool, ide_build_tool, G_TYPE_OBJECT, 0,
                         G_IMPLEMENT_INTERFACE (IDE_TYPE_APPLICATION_TOOL, application_tool_init))
 
 static void
-gbp_build_tool_class_init (GbpBuildToolClass *klass)
+ide_build_tool_class_init (IdeBuildToolClass *klass)
 {
 }
 
 static void
-gbp_build_tool_init (GbpBuildTool *self)
+ide_build_tool_init (IdeBuildTool *self)
 {
 }
 
 static void
-gbp_build_tool_log_observer (IdeBuildLogStream  stream,
+ide_build_tool_log_observer (IdeBuildLogStream  stream,
                              const gchar       *message,
                              gssize             message_len,
                              gpointer           user_data)
@@ -115,14 +117,14 @@ print_build_info (IdeContext       *context,
 }
 
 static void
-gbp_build_tool_execute_cb (GObject      *object,
+ide_build_tool_execute_cb (GObject      *object,
                            GAsyncResult *result,
                            gpointer      user_data)
 {
   IdeBuildManager *build_manager = (IdeBuildManager *)object;
   g_autoptr(GTask) task = user_data;
   g_autoptr(GError) error = NULL;
-  GbpBuildTool *self;
+  IdeBuildTool *self;
   guint64 completed_at;
   guint64 total_usec;
 
@@ -163,7 +165,7 @@ gbp_build_tool_execute_cb (GObject      *object,
 }
 
 static void
-gbp_build_tool_new_context_cb (GObject      *object,
+ide_build_tool_new_context_cb (GObject      *object,
                                GAsyncResult *result,
                                gpointer      user_data)
 {
@@ -235,24 +237,24 @@ gbp_build_tool_new_context_cb (GObject      *object,
 
   pipeline = ide_build_manager_get_pipeline (build_manager);
   ide_build_pipeline_add_log_observer (pipeline,
-                                       gbp_build_tool_log_observer,
+                                       ide_build_tool_log_observer,
                                        NULL, NULL);
 
   ide_build_manager_execute_async (build_manager,
                                    IDE_BUILD_PHASE_BUILD,
                                    cancellable,
-                                   gbp_build_tool_execute_cb,
+                                   ide_build_tool_execute_cb,
                                    g_steal_pointer (&task));
 }
 
 static void
-gbp_build_tool_run_async (IdeApplicationTool  *tool,
+ide_build_tool_run_async (IdeApplicationTool  *tool,
                           const gchar * const *arguments,
                           GCancellable        *cancellable,
                           GAsyncReadyCallback  callback,
                           gpointer             user_data)
 {
-  GbpBuildTool *self = (GbpBuildTool *)tool;
+  IdeBuildTool *self = (IdeBuildTool *)tool;
   g_autoptr(GTask) task = NULL;
   g_autofree gchar *project_path = NULL;
   g_autoptr(GFile) project_file = NULL;
@@ -281,7 +283,7 @@ gbp_build_tool_run_async (IdeApplicationTool  *tool,
     { NULL }
   };
 
-  g_assert (GBP_IS_BUILD_TOOL (self));
+  g_assert (IDE_IS_BUILD_TOOL (self));
   g_assert (arguments != NULL);
   g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
 
@@ -312,16 +314,16 @@ gbp_build_tool_run_async (IdeApplicationTool  *tool,
 
   ide_context_new_async (project_file,
                          cancellable,
-                         gbp_build_tool_new_context_cb,
+                         ide_build_tool_new_context_cb,
                          g_steal_pointer (&task));
 }
 
 static gboolean
-gbp_build_tool_run_finish (IdeApplicationTool  *tool,
+ide_build_tool_run_finish (IdeApplicationTool  *tool,
                            GAsyncResult        *result,
                            GError             **error)
 {
-  g_assert (GBP_IS_BUILD_TOOL (tool));
+  g_assert (IDE_IS_BUILD_TOOL (tool));
   g_assert (G_IS_TASK (result));
 
   return g_task_propagate_boolean (G_TASK (result), error);
@@ -330,6 +332,6 @@ gbp_build_tool_run_finish (IdeApplicationTool  *tool,
 static void
 application_tool_init (IdeApplicationToolInterface *iface)
 {
-  iface->run_async = gbp_build_tool_run_async;
-  iface->run_finish = gbp_build_tool_run_finish;
+  iface->run_async = ide_build_tool_run_async;
+  iface->run_finish = ide_build_tool_run_finish;
 }
diff --git a/plugins/build-tools/gbp-build-tool.h b/libide/buildui/ide-build-tool.h
similarity index 78%
rename from plugins/build-tools/gbp-build-tool.h
rename to libide/buildui/ide-build-tool.h
index 478c6de..49023ea 100644
--- a/plugins/build-tools/gbp-build-tool.h
+++ b/libide/buildui/ide-build-tool.h
@@ -1,4 +1,4 @@
-/* gbp-build-tool.h
+/* ide-build-tool.h
  *
  * Copyright (C) 2015 Christian Hergert <christian hergert me>
  *
@@ -16,17 +16,17 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef GBP_BUILD_TOOL_H
-#define GBP_BUILD_TOOL_H
+#ifndef IDE_BUILD_TOOL_H
+#define IDE_BUILD_TOOL_H
 
 #include <ide.h>
 
 G_BEGIN_DECLS
 
-#define GBP_TYPE_BUILD_TOOL (gbp_build_tool_get_type())
+#define IDE_TYPE_BUILD_TOOL (ide_build_tool_get_type())
 
-G_DECLARE_FINAL_TYPE (GbpBuildTool, gbp_build_tool, GBP, BUILD_TOOL, GObject)
+G_DECLARE_FINAL_TYPE (IdeBuildTool, ide_build_tool, IDE, BUILD_TOOL, GObject)
 
 G_END_DECLS
 
-#endif /* GBP_BUILD_TOOL_H */
+#endif /* IDE_BUILD_TOOL_H */
diff --git a/plugins/build-tools/gbp-build-workbench-addin.c b/libide/buildui/ide-build-workbench-addin.c
similarity index 75%
rename from plugins/build-tools/gbp-build-workbench-addin.c
rename to libide/buildui/ide-build-workbench-addin.c
index 47f47ff..b4e6793 100644
--- a/plugins/build-tools/gbp-build-workbench-addin.c
+++ b/libide/buildui/ide-build-workbench-addin.c
@@ -1,4 +1,4 @@
-/* gbp-build-workbench-addin.c
+/* ide-build-workbench-addin.c
  *
  * Copyright (C) 2015 Christian Hergert <chergert redhat com>
  *
@@ -16,24 +16,26 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-build-workbench-addin"
+
 #include <egg-binding-group.h>
 #include <glib/gi18n.h>
 
-#include "gbp-build-log-panel.h"
-#include "gbp-build-panel.h"
-#include "gbp-build-perspective.h"
-#include "gbp-build-workbench-addin.h"
+#include "ide-build-log-panel.h"
+#include "ide-build-panel.h"
+#include "ide-build-perspective.h"
+#include "ide-build-workbench-addin.h"
 
-struct _GbpBuildWorkbenchAddin
+struct _IdeBuildWorkbenchAddin
 {
   GObject              parent_instance;
 
   /* Unowned */
-  GbpBuildPanel       *panel;
+  IdeBuildPanel       *panel;
   IdeWorkbench        *workbench;
-  GbpBuildLogPanel    *build_log_panel;
+  IdeBuildLogPanel    *build_log_panel;
   GtkWidget           *run_button;
-  GbpBuildPerspective *build_perspective;
+  IdeBuildPerspective *build_perspective;
 
   /* Owned */
   IdeBuildPipeline    *pipeline;
@@ -42,7 +44,7 @@ struct _GbpBuildWorkbenchAddin
 
 static void workbench_addin_iface_init (IdeWorkbenchAddinInterface *iface);
 
-G_DEFINE_TYPE_EXTENDED (GbpBuildWorkbenchAddin, gbp_build_workbench_addin, G_TYPE_OBJECT, 0,
+G_DEFINE_TYPE_EXTENDED (IdeBuildWorkbenchAddin, ide_build_workbench_addin, G_TYPE_OBJECT, 0,
                         G_IMPLEMENT_INTERFACE (IDE_TYPE_WORKBENCH_ADDIN, workbench_addin_iface_init))
 
 enum {
@@ -70,30 +72,30 @@ gbp_build_workbench_addin_set_pipeline (GbpBuildWorkbenchAddin *self,
 }
 
 static void
-gbp_build_workbench_addin_view_output (GSimpleAction *action,
+ide_build_workbench_addin_view_output (GSimpleAction *action,
                                        GVariant      *param,
                                        gpointer       user_data)
 {
-  GbpBuildWorkbenchAddin *self = user_data;
+  IdeBuildWorkbenchAddin *self = user_data;
 
   g_assert (G_IS_SIMPLE_ACTION (action));
-  g_assert (GBP_IS_BUILD_WORKBENCH_ADDIN (self));
+  g_assert (IDE_IS_BUILD_WORKBENCH_ADDIN (self));
 
   ide_workbench_focus (self->workbench, GTK_WIDGET (self->build_log_panel));
 }
 
 static void
-gbp_build_workbench_addin_configure (GSimpleAction *action,
+ide_build_workbench_addin_configure (GSimpleAction *action,
                                      GVariant      *param,
                                      gpointer       user_data)
 {
-  GbpBuildWorkbenchAddin *self = user_data;
+  IdeBuildWorkbenchAddin *self = user_data;
   IdeConfigurationManager *config_manager;
   IdeConfiguration *config;
   IdeContext *context;
   const gchar *id;
 
-  g_assert (GBP_IS_BUILD_WORKBENCH_ADDIN (self));
+  g_assert (IDE_IS_BUILD_WORKBENCH_ADDIN (self));
   g_assert (g_variant_is_of_type (param, G_VARIANT_TYPE_STRING));
 
   ide_workbench_set_visible_perspective (self->workbench,
@@ -105,20 +107,20 @@ gbp_build_workbench_addin_configure (GSimpleAction *action,
   config = ide_configuration_manager_get_configuration (config_manager, id);
 
   if (config != NULL)
-    gbp_build_perspective_set_configuration (self->build_perspective, config);
+    ide_build_perspective_set_configuration (self->build_perspective, config);
 }
 
 static const GActionEntry actions_entries[] = {
-  { "configure", gbp_build_workbench_addin_configure, "s" },
-  { "view-output", gbp_build_workbench_addin_view_output },
+  { "configure", ide_build_workbench_addin_configure, "s" },
+  { "view-output", ide_build_workbench_addin_view_output },
 };
 
 static void
-gbp_build_workbench_addin_load (IdeWorkbenchAddin *addin,
+ide_build_workbench_addin_load (IdeWorkbenchAddin *addin,
                                 IdeWorkbench      *workbench)
 {
   IdeConfigurationManager *configuration_manager;
-  GbpBuildWorkbenchAddin *self = (GbpBuildWorkbenchAddin *)addin;
+  IdeBuildWorkbenchAddin *self = (IdeBuildWorkbenchAddin *)addin;
   IdeConfiguration *configuration;
   IdeBuildManager *build_manager;
   IdePerspective *editor;
@@ -126,7 +128,7 @@ gbp_build_workbench_addin_load (IdeWorkbenchAddin *addin,
   GtkWidget *pane;
 
   g_assert (IDE_IS_WORKBENCH_ADDIN (addin));
-  g_assert (GBP_IS_BUILD_WORKBENCH_ADDIN (self));
+  g_assert (IDE_IS_BUILD_WORKBENCH_ADDIN (self));
   g_assert (IDE_IS_WORKBENCH (workbench));
 
   self->workbench = workbench;
@@ -146,13 +148,13 @@ gbp_build_workbench_addin_load (IdeWorkbenchAddin *addin,
 
   editor = ide_workbench_get_perspective_by_name (workbench, "editor");
   pane = ide_editor_perspective_get_right_edge (IDE_EDITOR_PERSPECTIVE (editor));
-  self->panel = g_object_new (GBP_TYPE_BUILD_PANEL,
+  self->panel = g_object_new (IDE_TYPE_BUILD_PANEL,
                               "visible", TRUE,
                               NULL);
   gtk_container_add (GTK_CONTAINER (pane), GTK_WIDGET (self->panel));
 
   pane = ide_editor_perspective_get_bottom_edge (IDE_EDITOR_PERSPECTIVE (editor));
-  self->build_log_panel = g_object_new (GBP_TYPE_BUILD_LOG_PANEL, NULL);
+  self->build_log_panel = g_object_new (IDE_TYPE_BUILD_LOG_PANEL, NULL);
   gtk_container_add (GTK_CONTAINER (pane), GTK_WIDGET (self->build_log_panel));
 
   gtk_widget_insert_action_group (GTK_WIDGET (workbench), "build-tools",
@@ -160,7 +162,7 @@ gbp_build_workbench_addin_load (IdeWorkbenchAddin *addin,
 
   g_object_bind_property (self, "pipeline", self->panel, "pipeline", 0);
 
-  self->build_perspective = g_object_new (GBP_TYPE_BUILD_PERSPECTIVE,
+  self->build_perspective = g_object_new (IDE_TYPE_BUILD_PERSPECTIVE,
                                           "configuration-manager", configuration_manager,
                                           "configuration", configuration,
                                           "visible", TRUE,
@@ -169,13 +171,13 @@ gbp_build_workbench_addin_load (IdeWorkbenchAddin *addin,
 }
 
 static void
-gbp_build_workbench_addin_unload (IdeWorkbenchAddin *addin,
+ide_build_workbench_addin_unload (IdeWorkbenchAddin *addin,
                                   IdeWorkbench      *workbench)
 {
-  GbpBuildWorkbenchAddin *self = (GbpBuildWorkbenchAddin *)addin;
+  IdeBuildWorkbenchAddin *self = (IdeBuildWorkbenchAddin *)addin;
 
   g_assert (IDE_IS_WORKBENCH_ADDIN (addin));
-  g_assert (GBP_IS_BUILD_WORKBENCH_ADDIN (self));
+  g_assert (IDE_IS_BUILD_WORKBENCH_ADDIN (self));
   g_assert (IDE_IS_WORKBENCH (workbench));
 
   gtk_widget_insert_action_group (GTK_WIDGET (workbench), "build-tools", NULL);
@@ -185,12 +187,12 @@ gbp_build_workbench_addin_unload (IdeWorkbenchAddin *addin,
 }
 
 static void
-gbp_build_workbench_addin_get_property (GObject    *object,
+ide_build_workbench_addin_get_property (GObject    *object,
                                         guint       prop_id,
                                         GValue     *value,
                                         GParamSpec *pspec)
 {
-  GbpBuildWorkbenchAddin *self = GBP_BUILD_WORKBENCH_ADDIN(object);
+  IdeBuildWorkbenchAddin *self = IDE_BUILD_WORKBENCH_ADDIN(object);
 
   switch (prop_id)
     {
@@ -204,23 +206,23 @@ gbp_build_workbench_addin_get_property (GObject    *object,
 }
 
 static void
-gbp_build_workbench_addin_finalize (GObject *object)
+ide_build_workbench_addin_finalize (GObject *object)
 {
-  GbpBuildWorkbenchAddin *self = (GbpBuildWorkbenchAddin *)object;
+  IdeBuildWorkbenchAddin *self = (IdeBuildWorkbenchAddin *)object;
 
   g_clear_object (&self->actions);
   g_clear_object (&self->pipeline);
 
-  G_OBJECT_CLASS (gbp_build_workbench_addin_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ide_build_workbench_addin_parent_class)->finalize (object);
 }
 
 static void
-gbp_build_workbench_addin_class_init (GbpBuildWorkbenchAddinClass *klass)
+ide_build_workbench_addin_class_init (IdeBuildWorkbenchAddinClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  object_class->finalize = gbp_build_workbench_addin_finalize;
-  object_class->get_property = gbp_build_workbench_addin_get_property;
+  object_class->finalize = ide_build_workbench_addin_finalize;
+  object_class->get_property = ide_build_workbench_addin_get_property;
 
   properties [PROP_PIPELINE] =
     g_param_spec_object ("pipeline",
@@ -233,7 +235,7 @@ gbp_build_workbench_addin_class_init (GbpBuildWorkbenchAddinClass *klass)
 }
 
 static void
-gbp_build_workbench_addin_init (GbpBuildWorkbenchAddin *self)
+ide_build_workbench_addin_init (IdeBuildWorkbenchAddin *self)
 {
   self->actions = g_simple_action_group_new ();
 
@@ -246,6 +248,6 @@ gbp_build_workbench_addin_init (GbpBuildWorkbenchAddin *self)
 static void
 workbench_addin_iface_init (IdeWorkbenchAddinInterface *iface)
 {
-  iface->load = gbp_build_workbench_addin_load;
-  iface->unload = gbp_build_workbench_addin_unload;
+  iface->load = ide_build_workbench_addin_load;
+  iface->unload = ide_build_workbench_addin_unload;
 }
diff --git a/plugins/build-tools/gbp-build-workbench-addin.h b/libide/buildui/ide-build-workbench-addin.h
similarity index 79%
rename from plugins/build-tools/gbp-build-workbench-addin.h
rename to libide/buildui/ide-build-workbench-addin.h
index 3b3d748..4ba8d06 100644
--- a/plugins/build-tools/gbp-build-workbench-addin.h
+++ b/libide/buildui/ide-build-workbench-addin.h
@@ -1,4 +1,4 @@
-/* gbp-build-workbench-addin.h
+/* ide-build-workbench-addin.h
  *
  * Copyright (C) 2015 Christian Hergert <chergert redhat com>
  *
@@ -22,8 +22,8 @@
 
 G_BEGIN_DECLS
 
-#define GBP_TYPE_BUILD_WORKBENCH_ADDIN (gbp_build_workbench_addin_get_type())
+#define IDE_TYPE_BUILD_WORKBENCH_ADDIN (ide_build_workbench_addin_get_type())
 
-G_DECLARE_FINAL_TYPE (GbpBuildWorkbenchAddin, gbp_build_workbench_addin, GBP, BUILD_WORKBENCH_ADDIN, GObject)
+G_DECLARE_FINAL_TYPE (IdeBuildWorkbenchAddin, ide_build_workbench_addin, IDE, BUILD_WORKBENCH_ADDIN, GObject)
 
 G_END_DECLS
diff --git a/plugins/build-tools/ide-environment-editor-row.c b/libide/buildui/ide-environment-editor-row.c
similarity index 98%
rename from plugins/build-tools/ide-environment-editor-row.c
rename to libide/buildui/ide-environment-editor-row.c
index 0238f48..22bd5a6 100644
--- a/plugins/build-tools/ide-environment-editor-row.c
+++ b/libide/buildui/ide-environment-editor-row.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-environment-editor-row"
+
 #include "ide-environment-editor-row.h"
 
 struct _IdeEnvironmentEditorRow
@@ -183,7 +185,7 @@ ide_environment_editor_row_class_init (IdeEnvironmentEditorRowClass *klass)
 
   widget_class->destroy = ide_environment_editor_row_destroy;
 
-  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/build-tools-plugin/ide-environment-editor-row.ui");
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/buildui/ide-environment-editor-row.ui");
   gtk_widget_class_bind_template_child (widget_class, IdeEnvironmentEditorRow, delete_button);
   gtk_widget_class_bind_template_child (widget_class, IdeEnvironmentEditorRow, key_entry);
   gtk_widget_class_bind_template_child (widget_class, IdeEnvironmentEditorRow, value_entry);
diff --git a/plugins/build-tools/ide-environment-editor-row.h b/libide/buildui/ide-environment-editor-row.h
similarity index 100%
rename from plugins/build-tools/ide-environment-editor-row.h
rename to libide/buildui/ide-environment-editor-row.h
diff --git a/plugins/build-tools/ide-environment-editor-row.ui b/libide/buildui/ide-environment-editor-row.ui
similarity index 100%
rename from plugins/build-tools/ide-environment-editor-row.ui
rename to libide/buildui/ide-environment-editor-row.ui
diff --git a/plugins/build-tools/ide-environment-editor.c b/libide/buildui/ide-environment-editor.c
similarity index 99%
rename from plugins/build-tools/ide-environment-editor.c
rename to libide/buildui/ide-environment-editor.c
index 0128a83..c52a3e9 100644
--- a/plugins/build-tools/ide-environment-editor.c
+++ b/libide/buildui/ide-environment-editor.c
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#define G_LOG_DOMAIN "ide-environment-editor"
+
 #include <glib/gi18n.h>
 
 #include "ide-environment-editor.h"
diff --git a/plugins/build-tools/ide-environment-editor.h b/libide/buildui/ide-environment-editor.h
similarity index 100%
rename from plugins/build-tools/ide-environment-editor.h
rename to libide/buildui/ide-environment-editor.h
diff --git a/libide/resources/libide.gresource.xml b/libide/resources/libide.gresource.xml
index 84c30e7..70ac8af 100644
--- a/libide/resources/libide.gresource.xml
+++ b/libide/resources/libide.gresource.xml
@@ -100,4 +100,14 @@
   <gresource prefix="/org/gnome/builder/plugins/webkit">
     <file alias="webkit.plugin">../webkit/webkit.plugin</file>
   </gresource>
+
+  <gresource prefix="/org/gnome/builder/plugins/buildui">
+    <file alias="buildui.plugin">../buildui/buildui.plugin</file>
+    <file compressed="true" 
alias="ide-build-configuration-row.ui">../buildui/ide-build-configuration-row.ui</file>
+    <file compressed="true" 
alias="ide-build-configuration-view.ui">../buildui/ide-build-configuration-view.ui</file>
+    <file compressed="true" alias="ide-build-log-panel.ui">../buildui/ide-build-log-panel.ui</file>
+    <file compressed="true" alias="ide-build-panel.ui">../buildui/ide-build-panel.ui</file>
+    <file compressed="true" alias="ide-build-perspective.ui">../buildui/ide-build-perspective.ui</file>
+    <file compressed="true" 
alias="ide-environment-editor-row.ui">../buildui/ide-environment-editor-row.ui</file>
+  </gresource>
 </gresources>
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 24fb80a..060bed3 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -2,7 +2,6 @@ SUBDIRS = \
        autotools \
        autotools-templates \
        beautifier \
-       build-tools \
        c-pack \
        cargo \
        clang \



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]