# SPDX-License-Identifier: AGPL-3.0-or-later # Command line interface of Hydrilla package builder. # # This file is part of Hydrilla # # Copyright (C) 2022 Wojtek Kosior # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # # I, Wojtek Kosior, thereby promise not to sue for violation of this # file's license. Although I request that you do not make use this code # in a proprietary program, I am not going to enforce this in court. from pathlib import Path import click from .build import Build dir_type = click.Path(exists=True, file_okay=False, resolve_path=True) index_type = click.Path(path_type=Path) @click.command() @click.option('-s', '--srcdir', default='./', type=dir_type, show_default=True, help='Source directory to build from.') @click.option('-i', '--index-json', default='index.json', type=index_type, help='Path to file to be processed instead of index.json (if not absolute, resolved relative to srcdir).') @click.option('-d', '--dstdir', type=dir_type, required=True, help='Destination directory to write built package files to.') def preform_build(srcdir, index_json, dstdir): """ Build Hydrilla package from scrdir and write the resulting files under dstdir. """ build = Build(Path(srcdir), Path(index_json.decode())) build.write_package_files(Path(dstdir)) preform_build()