[gnome-builder] beautifier-plugin: fix datadir with GB_IN_TREE_PLUGINS



commit dcaa806c1f9c2baa5de179aa6afbfd3099af425c
Author: Sebastien Lafargue <slafargue gnome org>
Date:   Sat Feb 25 20:01:31 2017 +0100

    beautifier-plugin: fix datadir with GB_IN_TREE_PLUGINS

 plugins/beautifier/Makefile.am                     |   37 +++++++++----------
 plugins/beautifier/beautifier.plugin               |    2 +-
 .../data/c-sharp/config.ini                        |    0
 .../{ => beautifier_plugin}/data/c-sharp/mono.cfg  |    0
 .../{ => beautifier_plugin}/data/c/config.ini      |    0
 .../{ => beautifier_plugin}/data/c/gnu-indent.cfg  |    0
 .../{ => beautifier_plugin}/data/c/k&r.cfg         |    0
 .../data/c/linux-kernel.cfg                        |    0
 .../{ => beautifier_plugin}/data/d/config.ini      |    0
 .../{ => beautifier_plugin}/data/d/d.cfg           |    0
 .../{ => beautifier_plugin}/data/global.ini        |    0
 .../{ => beautifier_plugin}/data/html/config.ini   |    0
 .../data/html/tidy-autoindent.cfg                  |    0
 .../data/html/tidy-indent.cfg                      |    0
 .../{ => beautifier_plugin}/data/objc/config.ini   |    0
 .../{ => beautifier_plugin}/data/objc/objc.cfg     |    0
 .../{ => beautifier_plugin}/data/python/config.ini |    0
 .../{ => beautifier_plugin}/data/xml/config.ini    |    0
 plugins/beautifier/gb-beautifier-config.c          |   20 ++++++++--
 plugins/beautifier/gb-beautifier.gresource.xml     |    2 +-
 plugins/beautifier/meson.build                     |    3 +-
 21 files changed, 37 insertions(+), 27 deletions(-)
---
diff --git a/plugins/beautifier/Makefile.am b/plugins/beautifier/Makefile.am
index 8643d4e..3cdb0bc 100644
--- a/plugins/beautifier/Makefile.am
+++ b/plugins/beautifier/Makefile.am
@@ -7,11 +7,10 @@ EXTRA_DIST = $(plugin_DATA)
 
 beautifier_cflags =                                                                                  \
        $(PLUGIN_CFLAGS)                                                                             \
-       -DGB_BEAUTIFIER_PLUGIN_DATADIR="\"$(datadir)/gnome-builder/plugins/beautifier_plugin/data\"" \
        $(NULL)
 
 plugindir = $(libdir)/gnome-builder/plugins
-plugin_LTLIBRARIES = libbeautifier-plugin.la
+plugin_LTLIBRARIES = libbeautifier_plugin.la
 dist_plugin_DATA = beautifier.plugin
 
 libbeautifier_plugin_la_SOURCES =                                                                    \
@@ -32,24 +31,24 @@ nodist_libbeautifier_plugin_la_SOURCES =
        gb-beautifier-resources.h                                                                    \
        $(NULL)
 
-resourcedir = $(datadir)/gnome-builder/plugins/beautifier_plugin
+resourcedir = $(datadir)/gnome-builder/plugins
 nobase_resource_DATA =                                                                               \
-       data/global.ini                                                                              \
-       data/c/config.ini                                                                            \
-       data/c/gnu-indent.cfg                                                                        \
-       data/c/k&r.cfg                                                                               \
-       data/c/linux-kernel.cfg                                                                      \
-       data/c-sharp/config.ini                                                                      \
-       data/c-sharp/mono.cfg                                                                        \
-       data/d/config.ini                                                                            \
-       data/d/d.cfg                                                                                 \
-       data/html/config.ini                                                                         \
-       data/html/tidy-autoindent.cfg                                                                \
-       data/html/tidy-indent.cfg                                                                    \
-       data/objc/config.ini                                                                         \
-       data/objc/objc.cfg                                                                           \
-       data/python/config.ini                                                                       \
-       data/xml/config.ini                                                                          \
+       beautifier_plugin/data/global.ini                                                            \
+       beautifier_plugin/data/c/config.ini                                                          \
+       beautifier_plugin/data/c/gnu-indent.cfg                                                      \
+       beautifier_plugin/data/c/k&r.cfg                                                             \
+       beautifier_plugin/data/c/linux-kernel.cfg                                                    \
+       beautifier_plugin/data/c-sharp/config.ini                                                    \
+       beautifier_plugin/data/c-sharp/mono.cfg                                                      \
+       beautifier_plugin/data/d/config.ini                                                          \
+       beautifier_plugin/data/d/d.cfg                                                               \
+       beautifier_plugin/data/html/config.ini                                                       \
+       beautifier_plugin/data/html/tidy-autoindent.cfg                                              \
+       beautifier_plugin/data/html/tidy-indent.cfg                                                  \
+       beautifier_plugin/data/objc/config.ini                                                       \
+       beautifier_plugin/data/objc/objc.cfg                                                         \
+       beautifier_plugin/data/python/config.ini                                                     \
+       beautifier_plugin/data/xml/config.ini                                                        \
        $(NULL)
 
 EXTRA_DIST += $(nobase_resource_DATA)
diff --git a/plugins/beautifier/beautifier.plugin b/plugins/beautifier/beautifier.plugin
index 28a4ffa..9cc60c9 100644
--- a/plugins/beautifier/beautifier.plugin
+++ b/plugins/beautifier/beautifier.plugin
@@ -1,5 +1,5 @@
 [Plugin]
-Module=beautifier-plugin
+Module=beautifier_plugin
 Name=Code Beautifier
 Description=Beautify code according to profiles
 Authors=Sébastien Lafargue <slafargue gnome org>
diff --git a/plugins/beautifier/data/c-sharp/config.ini 
b/plugins/beautifier/beautifier_plugin/data/c-sharp/config.ini
similarity index 100%
rename from plugins/beautifier/data/c-sharp/config.ini
rename to plugins/beautifier/beautifier_plugin/data/c-sharp/config.ini
diff --git a/plugins/beautifier/data/c-sharp/mono.cfg 
b/plugins/beautifier/beautifier_plugin/data/c-sharp/mono.cfg
similarity index 100%
rename from plugins/beautifier/data/c-sharp/mono.cfg
rename to plugins/beautifier/beautifier_plugin/data/c-sharp/mono.cfg
diff --git a/plugins/beautifier/data/c/config.ini b/plugins/beautifier/beautifier_plugin/data/c/config.ini
similarity index 100%
rename from plugins/beautifier/data/c/config.ini
rename to plugins/beautifier/beautifier_plugin/data/c/config.ini
diff --git a/plugins/beautifier/data/c/gnu-indent.cfg 
b/plugins/beautifier/beautifier_plugin/data/c/gnu-indent.cfg
similarity index 100%
rename from plugins/beautifier/data/c/gnu-indent.cfg
rename to plugins/beautifier/beautifier_plugin/data/c/gnu-indent.cfg
diff --git a/plugins/beautifier/data/c/k&r.cfg b/plugins/beautifier/beautifier_plugin/data/c/k&r.cfg
similarity index 100%
rename from plugins/beautifier/data/c/k&r.cfg
rename to plugins/beautifier/beautifier_plugin/data/c/k&r.cfg
diff --git a/plugins/beautifier/data/c/linux-kernel.cfg 
b/plugins/beautifier/beautifier_plugin/data/c/linux-kernel.cfg
similarity index 100%
rename from plugins/beautifier/data/c/linux-kernel.cfg
rename to plugins/beautifier/beautifier_plugin/data/c/linux-kernel.cfg
diff --git a/plugins/beautifier/data/d/config.ini b/plugins/beautifier/beautifier_plugin/data/d/config.ini
similarity index 100%
rename from plugins/beautifier/data/d/config.ini
rename to plugins/beautifier/beautifier_plugin/data/d/config.ini
diff --git a/plugins/beautifier/data/d/d.cfg b/plugins/beautifier/beautifier_plugin/data/d/d.cfg
similarity index 100%
rename from plugins/beautifier/data/d/d.cfg
rename to plugins/beautifier/beautifier_plugin/data/d/d.cfg
diff --git a/plugins/beautifier/data/global.ini b/plugins/beautifier/beautifier_plugin/data/global.ini
similarity index 100%
rename from plugins/beautifier/data/global.ini
rename to plugins/beautifier/beautifier_plugin/data/global.ini
diff --git a/plugins/beautifier/data/html/config.ini 
b/plugins/beautifier/beautifier_plugin/data/html/config.ini
similarity index 100%
rename from plugins/beautifier/data/html/config.ini
rename to plugins/beautifier/beautifier_plugin/data/html/config.ini
diff --git a/plugins/beautifier/data/html/tidy-autoindent.cfg 
b/plugins/beautifier/beautifier_plugin/data/html/tidy-autoindent.cfg
similarity index 100%
rename from plugins/beautifier/data/html/tidy-autoindent.cfg
rename to plugins/beautifier/beautifier_plugin/data/html/tidy-autoindent.cfg
diff --git a/plugins/beautifier/data/html/tidy-indent.cfg 
b/plugins/beautifier/beautifier_plugin/data/html/tidy-indent.cfg
similarity index 100%
rename from plugins/beautifier/data/html/tidy-indent.cfg
rename to plugins/beautifier/beautifier_plugin/data/html/tidy-indent.cfg
diff --git a/plugins/beautifier/data/objc/config.ini 
b/plugins/beautifier/beautifier_plugin/data/objc/config.ini
similarity index 100%
rename from plugins/beautifier/data/objc/config.ini
rename to plugins/beautifier/beautifier_plugin/data/objc/config.ini
diff --git a/plugins/beautifier/data/objc/objc.cfg b/plugins/beautifier/beautifier_plugin/data/objc/objc.cfg
similarity index 100%
rename from plugins/beautifier/data/objc/objc.cfg
rename to plugins/beautifier/beautifier_plugin/data/objc/objc.cfg
diff --git a/plugins/beautifier/data/python/config.ini 
b/plugins/beautifier/beautifier_plugin/data/python/config.ini
similarity index 100%
rename from plugins/beautifier/data/python/config.ini
rename to plugins/beautifier/beautifier_plugin/data/python/config.ini
diff --git a/plugins/beautifier/data/xml/config.ini b/plugins/beautifier/beautifier_plugin/data/xml/config.ini
similarity index 100%
rename from plugins/beautifier/data/xml/config.ini
rename to plugins/beautifier/beautifier_plugin/data/xml/config.ini
diff --git a/plugins/beautifier/gb-beautifier-config.c b/plugins/beautifier/gb-beautifier-config.c
index b56f574..6cee0ad 100644
--- a/plugins/beautifier/gb-beautifier-config.c
+++ b/plugins/beautifier/gb-beautifier-config.c
@@ -20,6 +20,7 @@
 
 #include <string.h>
 #include <ide.h>
+#include <libpeas/peas.h>
 
 #include "gb-beautifier-private.h"
 #include "gb-beautifier-config.h"
@@ -399,11 +400,15 @@ GArray *
 gb_beautifier_config_get_entries (GbBeautifierWorkbenchAddin *self)
 {
   IdeContext *context;
+  PeasEngine *engine;
+  PeasPluginInfo *info;
   IdeVcs *vcs;
   GArray *entries;
   GArray *map = NULL;
   g_autofree gchar *project_config_path = NULL;
   g_autofree gchar *user_config_path = NULL;
+  const gchar *datadir;
+  g_autofree gchar *configdir = NULL;
 
   g_assert (GB_IS_BEAUTIFIER_WORKBENCH_ADDIN (self));
 
@@ -439,10 +444,17 @@ gb_beautifier_config_get_entries (GbBeautifierWorkbenchAddin *self)
     }
 
   /* System wide config */
-  map = gb_beautifier_config_get_map (self, GB_BEAUTIFIER_PLUGIN_DATADIR);
-  add_entries_from_base_path (self, GB_BEAUTIFIER_PLUGIN_DATADIR, entries, map);
-  if (map != NULL)
-    g_array_free (map, TRUE);
+  engine = peas_engine_get_default ();
+  if (NULL != (info = peas_engine_get_plugin_info (engine, "beautifier_plugin")))
+    {
+      datadir = peas_plugin_info_get_data_dir (info);
+      configdir = g_build_filename (datadir, "data", NULL);
+
+      map = gb_beautifier_config_get_map (self, configdir);
+      add_entries_from_base_path (self, configdir, entries, map);
+      if (map != NULL)
+        g_array_free (map, TRUE);
+    }
 
   return entries;
 }
diff --git a/plugins/beautifier/gb-beautifier.gresource.xml b/plugins/beautifier/gb-beautifier.gresource.xml
index 4312603..f5ec9f1 100644
--- a/plugins/beautifier/gb-beautifier.gresource.xml
+++ b/plugins/beautifier/gb-beautifier.gresource.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <gresources>
-  <gresource prefix="/org/gnome/builder/plugins/beautifier-plugin">
+  <gresource prefix="/org/gnome/builder/plugins/beautifier_plugin">
     <file>gtk/menus.ui</file>
   </gresource>
 </gresources>
diff --git a/plugins/beautifier/meson.build b/plugins/beautifier/meson.build
index 9674a47..a514093 100644
--- a/plugins/beautifier/meson.build
+++ b/plugins/beautifier/meson.build
@@ -21,9 +21,8 @@ beautifier_sources = [
 ]
 
 beautifier_datadir = join_paths(get_option('prefix'), plugindatadir, 'beautifier')
-shared_module('beautifier-plugin', beautifier_sources,
+shared_module('beautifier_plugin', beautifier_sources,
   dependencies: plugin_deps,
-  c_args: '-DGB_BEAUTIFIER_PLUGIN_DATADIR="@0@"'.format(join_paths(beautifier_datadir, 'data')),
   link_args: plugin_link_args,
   link_depends: plugin_link_deps,
   install: true,


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