build: Optionally syntax-check sources
As a pure javascript project, building is really just a glorified copy operation, so success doesn't even indicate that sources are syntactically correct (a.k.a. "compile-tested"). We can at least get some minimal testing by performing some basic syntax checking when SpilderMonkey's JS shell is available. Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/32
This commit is contained in:
+21
-4
@@ -1,8 +1,9 @@
|
||||
extension_schemas = []
|
||||
js_sources = extensionlib
|
||||
|
||||
metadata_name = 'metadata.json'
|
||||
|
||||
foreach e : enabled_extensions
|
||||
foreach e : all_extensions
|
||||
uuid = e + '@gnome-shell-extensions.gcampax.github.com'
|
||||
|
||||
metadata_conf = configuration_data()
|
||||
@@ -18,11 +19,27 @@ foreach e : enabled_extensions
|
||||
|
||||
subdir(e)
|
||||
|
||||
install_data (extension_sources + extension_data + extensionlib,
|
||||
install_dir: join_paths(extensiondir, uuid)
|
||||
)
|
||||
js_sources += extension_sources
|
||||
|
||||
if (enabled_extensions.contains(e))
|
||||
install_data (extension_sources + extension_data + extensionlib,
|
||||
install_dir: join_paths(extensiondir, uuid)
|
||||
)
|
||||
endif
|
||||
endforeach
|
||||
|
||||
install_data (extension_schemas,
|
||||
install_dir: schemadir
|
||||
)
|
||||
|
||||
foreach js_source : js_sources
|
||||
if (js52.found())
|
||||
path_array = '@0@'.format(js_source).split('/')
|
||||
name = join_paths(path_array[-2], path_array[-1])
|
||||
|
||||
test('Checking syntax of ' + name, js52,
|
||||
args: ['-s', '-c', js_source],
|
||||
workdir: meson.current_source_dir()
|
||||
)
|
||||
endif
|
||||
endforeach
|
||||
|
||||
@@ -22,6 +22,7 @@ xsessiondir = join_paths(datadir, 'xsession')
|
||||
|
||||
extensionlib = files('lib/convenience.js')
|
||||
|
||||
js52 = find_program('js52', required: false)
|
||||
sassc = find_program('sassc', required: false)
|
||||
|
||||
ver_arr = meson.project_version().split('.')
|
||||
|
||||
Reference in New Issue
Block a user