extensions-app: Support building a separate Devel app

Follow the pattern used by most GNOME applications and add a profile
build option that allows building a Devel app instead of the regular
release.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3612

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1661>
This commit is contained in:
Florian Müllner 2021-01-22 19:29:07 +01:00
parent e8ca92a0ff
commit 60d640189b
6 changed files with 27 additions and 8 deletions

View File

@ -1,6 +1,6 @@
gnome.compile_resources( gnome.compile_resources(
app_id + '.data', app_id + '.data',
app_id + '.data.gresource.xml', base_id + '.data.gresource.xml',
gresource_bundle: true, gresource_bundle: true,
install: true, install: true,
install_dir: pkgdatadir install_dir: pkgdatadir
@ -16,7 +16,7 @@ desktopconf.set('prgname', prgname)
i18n.merge_file('desktop', i18n.merge_file('desktop',
input: configure_file( input: configure_file(
input: desktop_file + '.in.in', input: base_id + '.desktop.in.in',
output: desktop_file + '.in', output: desktop_file + '.in',
configuration: desktopconf configuration: desktopconf
), ),
@ -36,7 +36,7 @@ if (desktop_file_validate.found())
endif endif
configure_file( configure_file(
input: app_id + '.service.in', input: base_id + '.service.in',
output: app_id + '.service', output: app_id + '.service',
configuration: desktopconf, configuration: desktopconf,
install_dir: servicedir, install_dir: servicedir,

View File

@ -1,6 +1,6 @@
metainfo = app_id + '.metainfo.xml' metainfo = app_id + '.metainfo.xml'
i18n.merge_file(metainfo, i18n.merge_file(metainfo,
input: metainfo + '.in', input: base_id + '.metainfo.xml.in',
output: metainfo, output: metainfo,
po_dir: po_dir, po_dir: po_dir,
install: true, install: true,

View File

@ -16,7 +16,7 @@ configure_file(
) )
configure_file( configure_file(
input: app_id + '.in', input: base_id + '.in',
output: app_id, output: app_id,
configuration: launcherconf, configuration: launcherconf,
install_dir: pkgdatadir, install_dir: pkgdatadir,
@ -24,7 +24,11 @@ configure_file(
gnome.compile_resources( gnome.compile_resources(
app_id + '.src', app_id + '.src',
app_id + '.src.gresource.xml', configure_file(
input: base_id + '.src.gresource.xml.in',
output: app_id + '.src.gresource.xml',
configuration: {'profile': '/'.join(profile.split('.')) },
),
source_dir: ['.', '../../../js'], source_dir: ['.', '../../../js'],
gresource_bundle: true, gresource_bundle: true,
install: true, install: true,

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<gresources> <gresources>
<gresource prefix="/org/gnome/Extensions/js"> <gresource prefix="/org/gnome/Extensions@profile@/js">
<file>main.js</file> <file>main.js</file>
<file>misc/config.js</file> <file>misc/config.js</file>

View File

@ -4,7 +4,14 @@ project('gnome-extensions-app',
license: 'GPLv2+' license: 'GPLv2+'
) )
app_id = 'org.gnome.Extensions' if get_option('profile') == 'development'
profile = '.Devel'
else
profile = ''
endif
base_id = 'org.gnome.Extensions'
app_id = base_id + profile
prgname = 'gnome-extensions-app' prgname = 'gnome-extensions-app'
gnome = import('gnome') gnome = import('gnome')

View File

@ -2,3 +2,11 @@ option('package_name',
type: 'string', type: 'string',
description: 'The gettext domain name', description: 'The gettext domain name',
) )
option('profile',
type: 'combo',
choices: [
'default',
'development'
],
value: 'default'
)