From bb4d67b086fb544d1a1844ca5f0c52fc6e6be45b Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 17 Feb 2016 14:54:16 +0100 Subject: builder: Support tags --- builder/builder-manifest.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'builder') diff --git a/builder/builder-manifest.c b/builder/builder-manifest.c index 1a96af6..b31cdf9 100644 --- a/builder/builder-manifest.c +++ b/builder/builder-manifest.c @@ -51,6 +51,7 @@ struct BuilderManifest { char **cleanup_commands; char **cleanup_platform; char **finish_args; + char **tags; char *rename_desktop_file; char *rename_appdata_file; char *rename_icon; @@ -100,6 +101,7 @@ enum { PROP_SDK_EXTENSIONS, PROP_PLATFORM_EXTENSIONS, PROP_FINISH_ARGS, + PROP_TAGS, PROP_RENAME_DESKTOP_FILE, PROP_RENAME_APPDATA_FILE, PROP_RENAME_ICON, @@ -130,6 +132,7 @@ builder_manifest_finalize (GObject *object) g_strfreev (self->cleanup_commands); g_strfreev (self->cleanup_platform); g_strfreev (self->finish_args); + g_strfreev (self->tags); g_free (self->rename_desktop_file); g_free (self->rename_appdata_file); g_free (self->rename_icon); @@ -217,6 +220,10 @@ builder_manifest_get_property (GObject *object, g_value_set_boxed (value, self->finish_args); break; + case PROP_TAGS: + g_value_set_boxed (value, self->tags); + break; + case PROP_BUILD_RUNTIME: g_value_set_boolean (value, self->build_runtime); break; @@ -366,6 +373,12 @@ builder_manifest_set_property (GObject *object, g_strfreev (tmp); break; + case PROP_TAGS: + tmp = self->tags; + self->tags = g_strdupv (g_value_get_boxed (value)); + g_strfreev (tmp); + break; + case PROP_BUILD_RUNTIME: self->build_runtime = g_value_get_boolean (value); break; @@ -586,6 +599,13 @@ builder_manifest_class_init (BuilderManifestClass *klass) "", G_TYPE_STRV, G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_TAGS, + g_param_spec_boxed ("tags", + "", + "", + G_TYPE_STRV, + G_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_RENAME_DESKTOP_FILE, g_param_spec_string ("rename-desktop-file", @@ -855,6 +875,11 @@ builder_manifest_init_app_dir (BuilderManifest *self, g_ptr_array_add (args, g_strdup_printf ("--sdk-extension=%s", ext)); } } + if (self->tags) + { + for (i = 0; self->tags[i] != NULL; i++) + g_ptr_array_add (args, g_strdup_printf ("--tag=%s", self->tags[i])); + } g_ptr_array_add (args, g_file_get_path (app_dir)); g_ptr_array_add (args, g_strdup (self->id)); g_ptr_array_add (args, g_strdup (self->sdk)); @@ -888,6 +913,7 @@ builder_manifest_checksum (BuilderManifest *self, builder_cache_checksum_str (cache, self->sdk); builder_cache_checksum_str (cache, self->sdk_commit); builder_cache_checksum_str (cache, self->metadata); + builder_cache_checksum_strv (cache, self->tags); builder_cache_checksum_boolean (cache, self->writable_sdk); builder_cache_checksum_strv (cache, self->sdk_extensions); builder_cache_checksum_boolean (cache, self->build_runtime); -- cgit v1.2.1