diff --git a/fresh.yml b/fresh.yml new file mode 100644 index 0000000..1f8735a --- /dev/null +++ b/fresh.yml @@ -0,0 +1,65 @@ +--- +data: + storage: /srv/http/appimage.sys42.eu + download: /var/tmp/downloads + +builds: + - query: fresh + language: basic + offline_help: no + portable: no + + - query: fresh + language: basic + offline_help: yes + portable: no + + - query: fresh + language: basic + offline_help: no + portable: yes + + - query: fresh + language: basic + offline_help: yes + portable: yes + + - query: fresh + language: standard + offline_help: no + portable: no + + - query: fresh + language: standard + offline_help: yes + portable: no + + - query: fresh + language: standard + offline_help: no + portable: yes + + - query: fresh + language: standard + offline_help: yes + portable: yes + + - query: fresh + language: full + offline_help: no + portable: no + + - query: fresh + language: full + offline_help: yes + portable: no + + - query: fresh + language: full + offline_help: no + portable: yes + + - query: fresh + language: full + offline_help: yes + portable: yes diff --git a/scripts/loaih-build b/scripts/loaih-build index 69158c9..f539753 100644 --- a/scripts/loaih-build +++ b/scripts/loaih-build @@ -2,6 +2,7 @@ # encoding: utf-8 import click +import yaml import loaih @click.command() @@ -22,23 +23,52 @@ def build(arch, language, offline, portable, updatable, download, storage, check else: arches = [ arch.lower().decode('utf-8') ] - obj = loaih.Build(query, arches) + if query.endswith('.yml') or query.endswith('.yaml'): + # This is a buildfile. So we have to load the file and pass the build options ourselves. + config = {} + with open(query, 'r') as file: + config = yaml.safe_load(file) - obj.language = language - obj.offline_help = offline - obj.portable = portable - obj.updatable = updatable + # With the config file, we ignore all the command line options and set + # generic default. + for build in config['builds']: + # Loop a run for each build. + obj = loaih.Build(build['query'], [u'x86', u'x86_64']) + + obj.language = build['language'] + obj.offline_help = build['offline_help'] + obj.portable = build['portable'] + obj.updatable = True + + if check: + obj.check(config['data']['storage']) + else: + obj.storage_path = config['data']['storage'] + + obj.download(config['data']['download']) + obj.build() + obj.checksums() + obj.publish() + del obj - if check: - obj.check(storage) else: - obj.storage_path = storage + obj = loaih.Build(query, arches) - obj.download(download) - obj.build() - obj.checksums() - obj.publish() - del obj + obj.language = language + obj.offline_help = offline + obj.portable = portable + obj.updatable = updatable + + if check: + obj.check(storage) + else: + obj.storage_path = storage + + obj.download(download) + obj.build() + obj.checksums() + obj.publish() + del obj if __name__ == '__main__': build()