Build system: Add option to pack the extension
This commit is contained in:
@@ -4,4 +4,5 @@
|
||||
.cache
|
||||
|
||||
build
|
||||
dist
|
||||
node_modules
|
||||
|
||||
+3
-6
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2020, 2021 Romain Vigier <contact AT romainvigier.fr>
|
||||
# SPDX-FileCopyrightText: 2020-2022 Romain Vigier <contact AT romainvigier.fr>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
variables:
|
||||
@@ -69,11 +69,8 @@ extension:
|
||||
- reuse
|
||||
image: registry.gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension:latest
|
||||
script:
|
||||
- meson builddir
|
||||
- DESTDIR=${CI_PROJECT_DIR}/buildroot meson install -C builddir
|
||||
- cd buildroot/usr/local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr
|
||||
- zip -r nightthemeswitcher@romainvigier.fr.zip *
|
||||
- mv nightthemeswitcher@romainvigier.fr.zip $CI_PROJECT_DIR
|
||||
- meson builddir -Dpack=true -Dpackdir=.
|
||||
- meson install -C builddir
|
||||
artifacts:
|
||||
name: $CI_COMMIT_REF_NAME
|
||||
expose_as: Extension
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-FileCopyrightText: 2022 Romain Vigier <contact AT romainvigier.fr>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
ZIP_EXE=$1
|
||||
UUID=$2
|
||||
PACK_DIR=$3
|
||||
|
||||
# Remove previous archive
|
||||
rm -f $PACK_DIR/$UUID.zip
|
||||
|
||||
# Create the destination directory
|
||||
mkdir -p $PACK_DIR
|
||||
|
||||
# Archive extension
|
||||
cd $MESON_BUILD_ROOT/$UUID
|
||||
$ZIP_EXE -r $PACK_DIR/$UUID.zip *
|
||||
|
||||
# Remove unarchived files
|
||||
rm -rf $MESON_BUILD_ROOT/$UUID
|
||||
@@ -13,6 +13,10 @@ DNS = 'org.gnome.shell.extensions.nightthemeswitcher'
|
||||
|
||||
INSTALL_DIR = get_option('datadir') / 'gnome-shell' / 'extensions' / UUID
|
||||
|
||||
if (get_option('pack'))
|
||||
INSTALL_DIR = meson.project_build_root() / UUID
|
||||
endif
|
||||
|
||||
gnome = import('gnome')
|
||||
i18n = import('i18n')
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# SPDX-FileCopyrightText: 2022 Romain Vigier <contact AT romainvigier.fr>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
option('pack', type: 'boolean', value: false, description: 'Create a distributable archive instead of installing')
|
||||
option('packdir', type: 'string', value: 'dist', description: 'Directory to put the distributable archive')
|
||||
@@ -50,3 +50,13 @@ install_data(preferences, install_dir: INSTALL_DIR / 'preferences')
|
||||
|
||||
subdir('data')
|
||||
subdir('po')
|
||||
|
||||
if (get_option('pack'))
|
||||
zip_exe = find_program('zip')
|
||||
meson.add_install_script(
|
||||
meson.project_source_root() / 'build-aux' / 'pack.sh',
|
||||
zip_exe.full_path(),
|
||||
UUID,
|
||||
meson.project_source_root() / get_option('packdir')
|
||||
)
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user