flow: Merged 'remove-gjs-loader' to ('develop').
--- a/CMakeLists.txt Sat Feb 28 19:43:32 2015 -0600
+++ b/CMakeLists.txt Sat Feb 28 20:41:32 2015 -0600
@@ -11,6 +11,12 @@
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Compatibility)
endif(${CMAKE_VERSION} VERSION_LESS "2.8.3")
+# allow reading of the LOCATION property +cmake_policy(SET CMP0026 OLD) +# don't force target names to match a pattern +cmake_policy(SET CMP0037 OLD) ###############################################################################
###############################################################################
@@ -181,7 +187,6 @@
add_subdirectory(plugins)
--- a/ChangeLog Sat Feb 28 19:43:32 2015 -0600
+++ b/ChangeLog Sat Feb 28 20:41:32 2015 -0600
@@ -1,7 +1,8 @@
* Add debug packages to the Debian packaging
* Add libgplugin-loaders package to the Debian packaging
- * Removed the Seed JavaScript loader
+ * Removed the Seed JavaScript loader (issue #63) + * Removed the GNOME JavaScript loader (issue #64) * Add a dist target to build and sign source archives
--- a/INSTALL Sat Feb 28 19:43:32 2015 -0600
+++ b/INSTALL Sat Feb 28 20:41:32 2015 -0600
@@ -18,7 +18,7 @@
-GPlugin uses CMake (http://www.cmake.org) as it's build system. As such
+GPlugin uses CMake (http://www.cmake.org) as its build system. As such compiling is a little bit different than your typical ./configure, make,
sudo make install. But luckily for you, not too much different.
--- a/gjs/CMakeLists.txt Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
- "Whether or not to build the GJS JavaScript plugin loader"
- set(GPLUGIN_GJS_SOURCES
- set(GPLUGIN_GJS_HEADERS
- pkg_check_modules(GJS REQUIRED gjs-1.0>=1.32.0)
- add_library(gplugin-gjs MODULE
- set_target_properties(gplugin-gjs PROPERTIES PREFIX "")
- include_directories(${GJS_INCLUDE_DIRS})
- target_link_libraries(gplugin-gjs
- install(TARGETS gplugin-gjs DESTINATION lib/gplugin)
- add_subdirectory(tests)
--- a/gjs/gplugin-gjs-core.c Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-#include <gplugin-native.h>
-#include "gplugin-gjs-loader.h"
-#include "gplugin-gjs-plugin.h"
-G_MODULE_EXPORT GPluginPluginInfo *
-gplugin_query(GPLUGIN_UNUSED GError **error) {
- const gchar * const authors[] = {
- "Gary Kramlich <grim@reaperworld.com>",
- return gplugin_plugin_info_new(
- GPLUGIN_NATIVE_PLUGIN_ABI_VERSION,
- "name", "Gjs JavaScript Plugin Loader",
- "version", GPLUGIN_VERSION,
- "summary", "A plugin that can load Gjs JavaScript plugins",
- "description", "This plugin allows the loading of plugins written in "
- "website", GPLUGIN_WEBSITE,
-G_MODULE_EXPORT gboolean
-gplugin_load(GPluginNativePlugin *plugin,
- GPLUGIN_UNUSED GError **error)
- gplugin_gjs_loader_register(plugin);
- gplugin_gjs_plugin_register(plugin);
- gplugin_manager_register_loader(gplugin_gjs_loader_get_type());
-G_MODULE_EXPORT gboolean
-gplugin_unload(GPLUGIN_UNUSED GPluginNativePlugin *plugin,
- GPLUGIN_UNUSED GError **error)
--- a/gjs/gplugin-gjs-loader.c Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-#include "gplugin-gjs-loader.h"
-#include "gplugin-gjs-plugin.h"
-#include <gjs/gjs-module.h>
-/******************************************************************************
- *****************************************************************************/
-static GObjectClass *parent_class = NULL;
-static GType type_real = 0;
-/******************************************************************************
- *****************************************************************************/
-gplugin_gjs_loader_find_function(JSContext *jsctx, JSObject *parent,
- const gchar *name, GError **error)
- if(!JS_GetProperty(jsctx, parent, name, &value)) {
- *error = g_error_new(GPLUGIN_DOMAIN, 0,
- "Failed to find the function '%s'", name);
- if(!JSVAL_IS_OBJECT(value) || JSVAL_IS_NULL(value)) {
- *error = g_error_new(GPLUGIN_DOMAIN, 0,
- "'%s' is not a function", name);
- return JS_ValueToFunction(jsctx, value);
-/******************************************************************************
- * GPluginLoaderInterface API
- *****************************************************************************/
-gplugin_gjs_loader_class_supported_extensions(GPLUGIN_UNUSED const GPluginLoaderClass *klass) {
- return g_slist_append(NULL, "js");
-gplugin_gjs_loader_query(GPluginLoader *loader,
- GPluginPluginInfo *info = NULL;
- GjsContext *context = NULL;
- JSContext *jsctx = NULL;
- JSObject *global = NULL, *jsobj = NULL;
- JSFunction *query = NULL;
- context = gjs_context_new();
- if(!gjs_context_eval_file(context, filename, NULL, error)) {
- g_object_unref(G_OBJECT(context));
- jsctx = gjs_context_get_native_context(context);
- global = JS_GetGlobalObject(jsctx);
- /* find the query function */
- query = gplugin_gjs_loader_find_function(jsctx, global, "gplugin_query",
- g_object_unref(G_OBJECT(context));
- /* now call the query function */
- if(!JS_CallFunction(jsctx, global, query, 0, NULL, &value)) {
- *error = g_error_new(GPLUGIN_DOMAIN, 0,
- "Failed to call the query function");
- g_object_unref(G_OBJECT(context));
- /* now grab the plugin info */
- if(!JS_ValueToObject(jsctx, value, &jsobj)) {
- *error = g_error_new(GPLUGIN_DOMAIN, 0,
- "Query function did not return a GObject");
- g_object_unref(G_OBJECT(context));
- gobj = gjs_g_object_from_object(jsctx, jsobj);
- if(!GPLUGIN_IS_PLUGIN_INFO(gobj)) {
- *error = g_error_new(GPLUGIN_DOMAIN, 0,
- "Query function did not return a "
- "GPluginPluginInfo object");
- g_object_unref(G_OBJECT(context));
- info = GPLUGIN_PLUGIN_INFO(gobj);
- return g_object_new(GPLUGIN_TYPE_GJS_PLUGIN,
-gplugin_gjs_loader_load_unload(GPLUGIN_UNUSED GPluginLoader *loader,
- GPLUGIN_UNUSED GError **error)
- JSContext *jsctx = NULL;
- JSFunction *func = NULL;
- JSObject *global = NULL, *js_plugin = NULL;
- const gchar *func_name = (load) ? "gplugin_load" : "gplugin_unload";
- gchar *filename = NULL;
- g_object_get(G_OBJECT(plugin),
- func = gplugin_gjs_loader_find_function(jsctx, global, func_name, error);
- js_plugin = gjs_object_from_g_object(jsctx, G_OBJECT(plugin));
- args[0] = OBJECT_TO_JSVAL(js_plugin);
- if(!JS_CallFunction(jsctx, global, func, 1, args, &rval)) {
- *error = g_error_new(GPLUGIN_DOMAIN, 0,
- (load) ? "load" : "unload", filename);
- ret = JSVAL_TO_BOOLEAN(rval);
- *error = g_error_new(GPLUGIN_DOMAIN, 0,
- (load) ? "load" : "unload", filename);
-gplugin_gjs_loader_load(GPluginLoader *loader, GPluginPlugin *plugin,
- return gplugin_gjs_loader_load_unload(loader, plugin, TRUE, error);
-gplugin_gjs_loader_unload(GPluginLoader *loader, GPluginPlugin *plugin,
- return gplugin_gjs_loader_load_unload(loader, plugin, FALSE, error);
-/******************************************************************************
- *****************************************************************************/
-gplugin_gjs_loader_class_init(GPluginGjsLoaderClass *klass) {
- GPluginLoaderClass *loader_class = GPLUGIN_LOADER_CLASS(klass);
- parent_class = g_type_class_peek_parent(klass);
- loader_class->supported_extensions =
- gplugin_gjs_loader_class_supported_extensions;
- loader_class->query = gplugin_gjs_loader_query;
- loader_class->load = gplugin_gjs_loader_load;
- loader_class->unload = gplugin_gjs_loader_unload;
-/******************************************************************************
- *****************************************************************************/
-gplugin_gjs_loader_register(GPluginNativePlugin *plugin) {
- if(g_once_init_enter(&type_real)) {
- static const GTypeInfo info = {
- .class_size = sizeof(GPluginGjsLoaderClass),
- .class_init = (GClassInitFunc)gplugin_gjs_loader_class_init,
- .instance_size = sizeof(GPluginGjsLoader),
- type = gplugin_native_plugin_register_type(plugin,
- g_once_init_leave(&type_real, type);
-gplugin_gjs_loader_get_type(void) {
- if(G_UNLIKELY(type_real == 0)) {
- g_warning("gplugin_gjs_loader_get_type was called before "
- "the type was registered!\n");
--- a/gjs/gplugin-gjs-loader.h Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-#ifndef GPLUGIN_GJS_LOADER_H
-#define GPLUGIN_GJS_LOADER_H
-#define GPLUGIN_TYPE_GJS_LOADER (gplugin_gjs_loader_get_type())
-#define GPLUGIN_GJS_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_GJS_LOADER, GPluginGjsLoader))
-#define GPLUGIN_GJS_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_GJS_LOADER, GPluginGjsLoaderClass))
-#define GPLUGIN_IS_GJS_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_GJS_LOADER))
-#define GPLUGIN_IS_GJS_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_GJS_LOADER))
-#define GPLUGIN_GJS_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_GJS_LOADER, GPluginGjsLoaderClass))
-typedef struct _GPluginGjsLoader GPluginGjsLoader;
-typedef struct _GPluginGjsLoaderClass GPluginGjsLoaderClass;
-#include <gplugin-native.h>
-struct _GPluginGjsLoader {
- void (*_gplugin_reserved_1)(void);
- void (*_gplugin_reserved_2)(void);
- void (*_gplugin_reserved_3)(void);
- void (*_gplugin_reserved_4)(void);
-struct _GPluginGjsLoaderClass {
- GPluginLoaderClass parent;
- void (*_gplugin_reserved_1)(void);
- void (*_gplugin_reserved_2)(void);
- void (*_gplugin_reserved_3)(void);
- void (*_gplugin_reserved_4)(void);
-void gplugin_gjs_loader_register(GPluginNativePlugin *plugin);
-GType gplugin_gjs_loader_get_type(void);
-#endif /* GPLUGIN_GJS_LOADER_H */
--- a/gjs/gplugin-gjs-plugin.c Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-#include "gplugin-gjs-plugin.h"
-#define GPLUGIN_GJS_PLUGIN_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE((obj), GPLUGIN_TYPE_GJS_PLUGIN, GPluginGjsPluginPrivate))
-/******************************************************************************
- *****************************************************************************/
-} GPluginGjsPluginPrivate;
-/******************************************************************************
- *****************************************************************************/
-/******************************************************************************
- *****************************************************************************/
-static GObjectClass *parent_class = NULL;
-static GType type_real = 0;
-/******************************************************************************
- *****************************************************************************/
-gplugin_gjs_plugin_set_context(GPluginGjsPlugin *plugin, GjsContext *context) {
- GPluginGjsPluginPrivate *priv = GPLUGIN_GJS_PLUGIN_GET_PRIVATE(plugin);
- g_object_unref(G_OBJECT(priv->context));
- priv->context = GJS_IS_CONTEXT(context) ? g_object_ref(G_OBJECT(context)) :
-gplugin_gjs_plugin_set_global_scope(GPluginGjsPlugin *plugin, JSObject *global) {
- GPluginGjsPluginPrivate *priv = GPLUGIN_GJS_PLUGIN_GET_PRIVATE(plugin);
-gplugin_gjs_plugin_set_js_context(GPluginGjsPlugin *plugin, JSContext *jsctx) {
- GPluginGjsPluginPrivate *priv = GPLUGIN_GJS_PLUGIN_GET_PRIVATE(plugin);
- priv->js_context = jsctx;
-/******************************************************************************
- *****************************************************************************/
-gplugin_gjs_plugin_get_property(GObject *obj, guint param_id, GValue *value,
- GPluginGjsPlugin *plugin = GPLUGIN_GJS_PLUGIN(obj);
- g_value_set_object(value, gplugin_gjs_plugin_get_context(plugin));
- g_value_set_pointer(value,
- gplugin_gjs_plugin_get_global_scope(plugin));
- g_value_set_pointer(value,
- gplugin_gjs_plugin_get_js_context(plugin));
- G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
-gplugin_gjs_plugin_set_property(GObject *obj, guint param_id,
- const GValue *value, GParamSpec *pspec)
- GPluginGjsPlugin *plugin = GPLUGIN_GJS_PLUGIN(obj);
- gplugin_gjs_plugin_set_context(plugin, g_value_get_object(value));
- gplugin_gjs_plugin_set_global_scope(plugin,
- g_value_get_pointer(value));
- gplugin_gjs_plugin_set_js_context(plugin,
- g_value_get_pointer(value));
- G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
-gplugin_gjs_plugin_finalize(GObject *obj) {
- GPluginGjsPluginPrivate *priv = GPLUGIN_GJS_PLUGIN_GET_PRIVATE(obj);
- g_object_unref(G_OBJECT(priv->context));
- G_OBJECT_CLASS(parent_class)->finalize(obj);
-gplugin_gjs_plugin_class_init(GPluginGjsPluginClass *klass) {
- GObjectClass *obj_class = G_OBJECT_CLASS(klass);
- parent_class = g_type_class_peek_parent(klass);
- g_type_class_add_private(klass, sizeof(GPluginGjsPluginPrivate));
- obj_class->get_property = gplugin_gjs_plugin_get_property;
- obj_class->set_property = gplugin_gjs_plugin_set_property;
- obj_class->finalize = gplugin_gjs_plugin_finalize;
- g_object_class_install_property(obj_class, PROP_CONTEXT,
- g_param_spec_object("context", "context",
- "The Gjs Context for this plugin",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
- g_object_class_install_property(obj_class, PROP_GLOBAL,
- g_param_spec_pointer("global", "global",
- "The global scope for this plugin",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
- g_object_class_install_property(obj_class, PROP_JS_CONTEXT,
- g_param_spec_pointer("js-context", "js-context",
- "The JSContext function for this plugin",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-/******************************************************************************
- *****************************************************************************/
-gplugin_gjs_plugin_register(GPluginNativePlugin *plugin) {
- if(g_once_init_enter(&type_real)) {
- static const GTypeInfo info = {
- .class_size = sizeof(GPluginGjsPluginClass),
- .class_init = (GClassInitFunc)gplugin_gjs_plugin_class_init,
- .instance_size = sizeof(GPluginGjsPlugin),
- type = gplugin_native_plugin_register_type(plugin,
- g_once_init_leave(&type_real, type);
-gplugin_gjs_plugin_get_type(void) {
- if(G_UNLIKELY(type_real == 0)) {
- g_warning("gplugin_gjs_plugin_get_type was called before "
- "the type was registered!\n");
-gplugin_gjs_plugin_get_context(const GPluginGjsPlugin *plugin) {
- GPluginGjsPluginPrivate *priv = NULL;
- g_return_val_if_fail(GPLUGIN_IS_GJS_PLUGIN(plugin), NULL);
- priv = GPLUGIN_GJS_PLUGIN_GET_PRIVATE(plugin);
-gplugin_gjs_plugin_get_global_scope(const GPluginGjsPlugin *plugin) {
- GPluginGjsPluginPrivate *priv = NULL;
- g_return_val_if_fail(GPLUGIN_IS_GJS_PLUGIN(plugin), NULL);
- priv = GPLUGIN_GJS_PLUGIN_GET_PRIVATE(plugin);
-gplugin_gjs_plugin_get_js_context(const GPluginGjsPlugin *plugin) {
- GPluginGjsPluginPrivate *priv = NULL;
- g_return_val_if_fail(GPLUGIN_IS_GJS_PLUGIN(plugin), NULL);
- priv = GPLUGIN_GJS_PLUGIN_GET_PRIVATE(plugin);
- return priv->js_context;
--- a/gjs/gplugin-gjs-plugin.h Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-#ifndef GPLUGIN_GJS_PLUGIN_H
-#define GPLUGIN_GJS_PLUGIN_H
-#define GPLUGIN_TYPE_GJS_PLUGIN (gplugin_gjs_plugin_get_type())
-#define GPLUGIN_GJS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLUGIN_TYPE_GJS_PLUGIN, GPluginGjsPlugin))
-#define GPLUGIN_GJS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((obj), GPLUGIN_TYPE_GJS_PLUGIN, GPluginGjsPluginClass))
-#define GPLUGIN_IS_GJS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLUGIN_TYPE_GJS_PLUGIN))
-#define GPLUGIN_IS_GJS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((obj), GPLUGIN_TYPE_GJS_PLUGIN))
-#define GPLUGIN_GJS_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLUGIN_TYPE_GJS_PLUGIN, GPluginGjsPluginClass))
-typedef struct _GPluginGjsPlugin GPluginGjsPlugin;
-typedef struct _GPluginGjsPluginClass GPluginGjsPluginClass;
-#include <gplugin-native.h>
-#include <gjs/gjs-module.h>
-struct _GPluginGjsPlugin {
-struct _GPluginGjsPluginClass {
- GPluginPluginClass parent;
- void (*_gplugin_reserved_1)(void);
- void (*_gplugin_reserved_2)(void);
- void (*_gplugin_reserved_3)(void);
- void (*_gplugin_reserved_4)(void);
-void gplugin_gjs_plugin_register(GPluginNativePlugin *plugin);
-GType gplugin_gjs_plugin_get_type(void);
-GjsContext *gplugin_gjs_plugin_get_context(const GPluginGjsPlugin *plugin);
-JSObject *gplugin_gjs_plugin_get_global_scope(const GPluginGjsPlugin *plugin);
-JSContext *gplugin_gjs_plugin_get_js_context(const GPluginGjsPlugin *plugin);
-#endif /* GPLUGIN_GJS_PLUGIN_H */
--- a/gjs/tests/CMakeLists.txt Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-macro(add_gjs_gtest target)
- add_executable(${target} ${target}.c)
- target_link_libraries(${target}
- ${GLIB_LIBRARIES} ${GJS_LIBRARIES} gplugin
- add_dependencies(${target} gplugin-gjs)
- get_target_property(_output_name ${target} RUNTIME_OUTPUT_NAME)
- if(NOT ${_output_name})
- get_target_property(_output_name ${target} LOCATION)
- endif(NOT ${_output_name})
- list(APPEND GJS_TESTS ${_output_name})
- -DGJS_LOADER_DIR="${CMAKE_BINARY_DIR}/gjs"
- -DGJS_PLUGIN_DIR="${CMAKE_CURRENT_SOURCE_DIR}/plugins"
-add_gjs_gtest(test-gjs-loader)
-target_link_libraries(test-gjs-loader gplugin-loader-tests)
-set(GTESTER_GJS_TESTS "${GJS_TESTS}")
-set(GTESTER_GJS_LOG "test-gplugin-gjs.xml")
-set(GTESTER_GJS_JUNIT "test-gplugin-gjs-junit.xml")
- COMMAND ${GTESTER} -k --verbose -o ${GTESTER_GJS_LOG} ${GJS_TESTS}
- OUTPUT ${GTESTER_GJS_LOG}
- DEPENDS gplugin gplugin-gjs
- ${GJS_TESTS} ${CMAKE_CURRENT_SOURCE_DIR}/plugins
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND ${XSLTPROC} -o ${GTESTER_GJS_JUNIT} --nonet
- ${CMAKE_SOURCE_DIR}/xsl/gtester-junit.xsl
- OUTPUT ${GTESTER_GJS_JUNIT}
- DEPENDS ${GTESTER_GJS_LOG}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-add_custom_target(gjs-tests ALL
- DEPENDS ${GTESTER_GJS_LOG} ${GTESTER_GJS_JUNIT} ${GJS_TESTS}
--- a/gjs/tests/plugins/basic.js Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-const GPlugin = imports.gi.GPlugin;
-function gplugin_query() {
- return new GPlugin.PluginInfo({
- id: "gplugin/gjs-basic-plugin",
- abi_version: 0x01020304,
- description: 'description'
-function gplugin_load(plugin) {
-function gplugin_unload(plugin) {
--- a/gjs/tests/plugins/dependent.js Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-const GPlugin = imports.gi.GPlugin;
-function gplugin_query() {
- return new GPlugin.PluginInfo({
- id: "gplugin/gjs-dependent-plugin",
- dependencies: ["dependency1", "dependency2"],
-function gplugin_load(plugin) {
-function gplugin_unload(plugin) {
--- a/gjs/tests/plugins/load-exception.js Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-const GPlugin = imports.gi.GPlugin;
-function gplugin_query() {
- return new GPlugin.PluginInfo({
- id: "gplugin/gjs-load-exception"
-function gplugin_load(plugin) {
-function gplugin_unload(plugin) {
--- a/gjs/tests/plugins/load-failed.js Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-const GPlugin = imports.gi.GPlugin;
-function gplugin_query() {
- return new GPlugin.PluginInfo({
- id: "gplugin/gjs-load-failed"
-function gplugin_load(plugin) {
-function gplugin_unload(plugin) {
--- a/gjs/tests/plugins/unload-failed.js Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-const GPlugin = imports.gi.GPlugin;
-function gplugin_query() {
- return new GPlugin.PluginInfo({
- id: "gplugin/gjs-unload-failed"
-function gplugin_load(plugin) {
-function gplugin_unload(plugin) {
--- a/gjs/tests/test-gjs-loader.c Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
- * Copyright (C) 2011-2014 Gary Kramlich <grim@reaperworld.com>
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-#include <gplugin/gplugin-loader-tests.h>
-main(gint argc, gchar **argv) {
- g_test_init(&argc, &argv, NULL);
- gplugin_loader_tests_main(GJS_LOADER_DIR, GJS_PLUGIN_DIR, "gjs");
--- a/packaging/debian/control Sat Feb 28 19:43:32 2015 -0600
+++ b/packaging/debian/control Sat Feb 28 20:41:32 2015 -0600
@@ -6,8 +6,7 @@
xsltproc, gettext, help2man,
gobject-introspection, libgirepository1.0-dev,
libluajit-5.1-dev, lua-lgi,
- python3-dev, python-gi-dev, python3-gi,
+ python3-dev, python-gi-dev, python3-gi Homepage: https://bitbucket.org/gplugin/main
Vcs-Browser: https://bitbucket.org/gplugin/main/src
Vcs-Hg: https://bitbucket.org/gplugin/main
@@ -50,7 +49,6 @@
Package: libgplugin-loaders
Depends: ${misc:Depends}, ${shlibs:Depends},
Description: metapackage for all gplugin loaders
@@ -140,15 +138,3 @@
This package allows GPlugin to load plugin written in the Python programming
-Depends: ${misc:Depends}, ${shlibs:Depends}, libgjs0c,
- libgplugin0, gir1.2-gplugin-0.0
-Description: GPlugin GNOME JavaScript Loader
- GPlugin is a GObject based library that implements a reusable plugin system
- which supports loading plugins in other languages via loaders. It relies
- heavily on GObjectIntrospection to expose its API to the other languages.
- This package allows GPlugin to load plugin written in the GNOME JavaScript
--- a/packaging/debian/libgplugin-gjs.install Sat Feb 28 19:43:32 2015 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-usr/lib/gplugin/gplugin-gjs.so usr/lib/gplugin