builder: Better handling of default-branch

Instead of constantly looking at the option we change the
manifest value if its unset. This means we can access the
default branch outside of builder-main.c, and that we get
it into the serialized manifest in the build.
tingping/wmclass
Alexander Larsson 2017-06-19 21:16:46 +02:00
parent 7ef78c8e2b
commit 1820ebdc72
3 changed files with 23 additions and 14 deletions

View File

@ -438,6 +438,9 @@ main (int argc,
return 1; return 1;
} }
if (opt_default_branch)
builder_manifest_set_default_branch (manifest, opt_default_branch);
if (is_run && argc == 3) if (is_run && argc == 3)
return usage (context, "Program to run must be specified"); return usage (context, "Program to run must be specified");
@ -616,7 +619,7 @@ main (int argc,
if (opt_mirror_screenshots_url && !opt_export_only) if (opt_mirror_screenshots_url && !opt_export_only)
{ {
g_autofree char *screenshot_subdir = g_strdup_printf ("%s-%s", builder_manifest_get_id (manifest), g_autofree char *screenshot_subdir = g_strdup_printf ("%s-%s", builder_manifest_get_id (manifest),
builder_manifest_get_branch (manifest, opt_default_branch)); builder_manifest_get_branch (manifest));
g_autofree char *url = g_build_filename (opt_mirror_screenshots_url, screenshot_subdir, NULL); g_autofree char *url = g_build_filename (opt_mirror_screenshots_url, screenshot_subdir, NULL);
g_autofree char *xml_relpath = g_strdup_printf ("files/share/app-info/xmls/%s.xml.gz", builder_manifest_get_id (manifest)); g_autofree char *xml_relpath = g_strdup_printf ("files/share/app-info/xmls/%s.xml.gz", builder_manifest_get_id (manifest));
g_autoptr(GFile) xml = g_file_resolve_relative_path (app_dir, xml_relpath); g_autoptr(GFile) xml = g_file_resolve_relative_path (app_dir, xml_relpath);
@ -668,7 +671,7 @@ main (int argc,
"--exclude=/lib/debug/*", "--exclude=/lib/debug/*",
"--include=/lib/debug/app", "--include=/lib/debug/app",
builder_context_get_separate_locales (build_context) ? "--exclude=/share/runtime/locale/*/*" : skip_arg, builder_context_get_separate_locales (build_context) ? "--exclude=/share/runtime/locale/*/*" : skip_arg,
opt_repo, app_dir_path, builder_manifest_get_branch (manifest, opt_default_branch), NULL)) opt_repo, app_dir_path, builder_manifest_get_branch (manifest), NULL))
{ {
g_printerr ("Export failed: %s\n", error->message); g_printerr ("Export failed: %s\n", error->message);
return 1; return 1;
@ -698,7 +701,7 @@ main (int argc,
if (!do_export (build_context, &error, TRUE, if (!do_export (build_context, &error, TRUE,
metadata_arg, metadata_arg,
files_arg, files_arg,
opt_repo, app_dir_path, builder_manifest_get_branch (manifest, opt_default_branch), NULL)) opt_repo, app_dir_path, builder_manifest_get_branch (manifest), NULL))
{ {
g_printerr ("Export failed: %s\n", error->message); g_printerr ("Export failed: %s\n", error->message);
return 1; return 1;
@ -715,7 +718,7 @@ main (int argc,
if (!do_export (build_context, &error, TRUE, if (!do_export (build_context, &error, TRUE,
"--metadata=metadata.debuginfo", "--metadata=metadata.debuginfo",
builder_context_get_build_runtime (build_context) ? "--files=usr/lib/debug" : "--files=files/lib/debug", builder_context_get_build_runtime (build_context) ? "--files=usr/lib/debug" : "--files=files/lib/debug",
opt_repo, app_dir_path, builder_manifest_get_branch (manifest, opt_default_branch), NULL)) opt_repo, app_dir_path, builder_manifest_get_branch (manifest), NULL))
{ {
g_printerr ("Export failed: %s\n", error->message); g_printerr ("Export failed: %s\n", error->message);
return 1; return 1;
@ -732,7 +735,7 @@ main (int argc,
if (!do_export (build_context, &error, TRUE, if (!do_export (build_context, &error, TRUE,
"--metadata=metadata.sources", "--metadata=metadata.sources",
"--files=sources", "--files=sources",
opt_repo, app_dir_path, builder_manifest_get_branch (manifest, opt_default_branch), NULL)) opt_repo, app_dir_path, builder_manifest_get_branch (manifest), NULL))
{ {
g_printerr ("Export failed: %s\n", error->message); g_printerr ("Export failed: %s\n", error->message);
return 1; return 1;
@ -750,7 +753,7 @@ main (int argc,
"--metadata=metadata.platform", "--metadata=metadata.platform",
"--files=platform", "--files=platform",
builder_context_get_separate_locales (build_context) ? "--exclude=/share/runtime/locale/*/*" : skip_arg, builder_context_get_separate_locales (build_context) ? "--exclude=/share/runtime/locale/*/*" : skip_arg,
opt_repo, app_dir_path, builder_manifest_get_branch (manifest, opt_default_branch), NULL)) opt_repo, app_dir_path, builder_manifest_get_branch (manifest), NULL))
{ {
g_printerr ("Export failed: %s\n", error->message); g_printerr ("Export failed: %s\n", error->message);
return 1; return 1;
@ -780,7 +783,7 @@ main (int argc,
if (!do_export (build_context, &error, TRUE, if (!do_export (build_context, &error, TRUE,
metadata_arg, metadata_arg,
files_arg, files_arg,
opt_repo, app_dir_path, builder_manifest_get_branch (manifest, opt_default_branch), NULL)) opt_repo, app_dir_path, builder_manifest_get_branch (manifest), NULL))
{ {
g_printerr ("Export failed: %s\n", error->message); g_printerr ("Export failed: %s\n", error->message);
return 1; return 1;

View File

@ -1110,21 +1110,26 @@ builder_manifest_get_runtime_version (BuilderManifest *self)
} }
const char * const char *
builder_manifest_get_branch (BuilderManifest *self, const char *default_branch) builder_manifest_get_branch (BuilderManifest *self)
{ {
if (self->branch) if (self->branch)
return self->branch; return self->branch;
if (default_branch)
return default_branch;
return "master"; return "master";
} }
void
builder_manifest_set_default_branch (BuilderManifest *self,
const char *default_branch)
{
if (self->branch == NULL)
self->branch = g_strdup (default_branch);
}
static const char * static const char *
builder_manifest_get_base_version (BuilderManifest *self) builder_manifest_get_base_version (BuilderManifest *self)
{ {
return self->base_version ? self->base_version : builder_manifest_get_branch (self, NULL); return self->base_version ? self->base_version : builder_manifest_get_branch (self);
} }
static char * static char *

View File

@ -56,8 +56,9 @@ const char * builder_manifest_get_id_platform (BuilderManifest *self);
char * builder_manifest_get_locale_id_platform (BuilderManifest *self); char * builder_manifest_get_locale_id_platform (BuilderManifest *self);
BuilderOptions *builder_manifest_get_build_options (BuilderManifest *self); BuilderOptions *builder_manifest_get_build_options (BuilderManifest *self);
GList * builder_manifest_get_modules (BuilderManifest *self); GList * builder_manifest_get_modules (BuilderManifest *self);
const char * builder_manifest_get_branch (BuilderManifest *self, const char * builder_manifest_get_branch (BuilderManifest *self);
const char *default_branch); void builder_manifest_set_default_branch (BuilderManifest *self,
const char *default_branch);
gboolean builder_manifest_start (BuilderManifest *self, gboolean builder_manifest_start (BuilderManifest *self,
gboolean allow_missing_runtimes, gboolean allow_missing_runtimes,