mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
gen-demo-header.py: Fix running without git
The script assumes that the git program is in the PATH which may not be always the case, so if git was not found, fallback to the former behavior of making VCS_TAG an empty string if the profile option was not set to 'devel'. Also fix the call to the script so that we do indeed call GIT on the source GIT repo so that we can get the right short SHA1 sum. Re-organize the code a bit in the process, so that things seem cleaner.
This commit is contained in:
parent
ab6e4bfc8d
commit
c18a1ac1a1
@ -4,7 +4,8 @@ import os
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
profile = sys.argv[1]
|
repodir = sys.argv[1]
|
||||||
|
profile = sys.argv[2]
|
||||||
|
|
||||||
sys.stdout.write("/* This file is auto-generated. Do not edit. */\n")
|
sys.stdout.write("/* This file is auto-generated. Do not edit. */\n")
|
||||||
sys.stdout.write("#pragma once\n")
|
sys.stdout.write("#pragma once\n")
|
||||||
@ -12,10 +13,14 @@ sys.stdout.write("\n")
|
|||||||
sys.stdout.write(f"#define PROFILE \"{profile}\"\n")
|
sys.stdout.write(f"#define PROFILE \"{profile}\"\n")
|
||||||
|
|
||||||
short_sha = os.environ.get('CI_COMMIT_SHORT_SHA')
|
short_sha = os.environ.get('CI_COMMIT_SHORT_SHA')
|
||||||
if short_sha is not None:
|
if short_sha is None:
|
||||||
sys.stdout.write(f"#define VCS_TAG \"{short_sha}\"\n")
|
cmd = ["git", "-C", repodir, "rev-parse", "--short", "HEAD"]
|
||||||
else:
|
try:
|
||||||
cmd = ["git", "rev-parse", "--short", "HEAD"]
|
|
||||||
with subprocess.Popen(cmd, stdout=subprocess.PIPE) as p:
|
with subprocess.Popen(cmd, stdout=subprocess.PIPE) as p:
|
||||||
short_sha = p.stdout.read().decode('utf-8').rstrip("\n")
|
short_sha = p.stdout.read().decode('utf-8').rstrip("\n")
|
||||||
sys.stdout.write(f"#define VCS_TAG \"{short_sha}\"\n")
|
except FileNotFoundError:
|
||||||
|
short_sha = ''
|
||||||
|
if profile != 'default':
|
||||||
|
short_sha = 'devel'
|
||||||
|
|
||||||
|
sys.stdout.write(f"#define VCS_TAG \"{short_sha}\"\n")
|
||||||
|
@ -3,7 +3,7 @@ demo_profile = get_option('profile')
|
|||||||
|
|
||||||
demo_conf_h = declare_dependency(
|
demo_conf_h = declare_dependency(
|
||||||
sources: custom_target('demo-header',
|
sources: custom_target('demo-header',
|
||||||
command: [gen_demo_header, demo_profile],
|
command: [gen_demo_header, meson.source_root(), demo_profile],
|
||||||
capture: true,
|
capture: true,
|
||||||
output: 'demo_conf.h',
|
output: 'demo_conf.h',
|
||||||
build_by_default: true,
|
build_by_default: true,
|
||||||
|
Loading…
Reference in New Issue
Block a user