builder: Support tags

tingping/wmclass
Alexander Larsson 2016-02-17 14:54:16 +01:00
parent be97206c7b
commit bb4d67b086
2 changed files with 30 additions and 0 deletions

View File

@ -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);

View File

@ -151,6 +151,10 @@
<term><option>platform-extensions</option></term>
<listitem><para>Install these extra sdk extensions when creating the platform</para></listitem>
</varlistentry>
<varlistentry>
<term><option>tags</option></term>
<listitem><para>Add these tags to the metadata file</para></listitem>
</varlistentry>
<varlistentry>
<term><option>build-options</option></term>
<listitem><para>object specifying the build environment. See below for details.</para></listitem>