mirror of
https://github.com/kiwix/kiwix-build.git
synced 2025-06-26 10:11:27 +00:00
Format our code with black
This commit is contained in:
@ -9,76 +9,141 @@ from .builder import Builder
|
||||
from .flatpak_builder import FlatpakBuilder
|
||||
from . import _global
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('target', default='kiwix-tools', nargs='?', metavar='TARGET',
|
||||
choices=Dependency.all_deps.keys())
|
||||
parser.add_argument('--working-dir', default=".",
|
||||
help=("Directory where kiwix-build puts all its files "
|
||||
"(source, archive and build)\n"
|
||||
"working-dir can be absolute path or a relative (to cwd) one."))
|
||||
parser.add_argument('--build-dir', default=".",
|
||||
help=("Directory where kiwix-build puts all build files.\n"
|
||||
"build-dir can be absolute path or a relative (to working-dir) one."))
|
||||
parser.add_argument('--libprefix', default=None)
|
||||
parser.add_argument('--target-platform', choices=PlatformInfo.all_platforms)
|
||||
parser.add_argument('--verbose', '-v', action="store_true",
|
||||
help=("Print all logs on stdout instead of in specific"
|
||||
" log files per commands"))
|
||||
parser.add_argument('--hide-progress', action='store_false', dest='show_progress',
|
||||
help="Hide intermediate progress information.")
|
||||
parser.add_argument('--skip-source-prepare', action='store_true',
|
||||
help="Skip the source download part")
|
||||
parser.add_argument('--build-deps-only', action='store_true',
|
||||
help="Build only the dependencies of the specified target.")
|
||||
parser.add_argument('--build-nodeps', action='store_true',
|
||||
help="Build only the target, not its dependencies.")
|
||||
parser.add_argument('--make-dist', action='store_true',
|
||||
help="Build distrubution (dist) source archive")
|
||||
parser.add_argument('--make-release', action='store_true',
|
||||
help="Build a release version")
|
||||
subgroup = parser.add_argument_group('advanced')
|
||||
subgroup.add_argument('--no-cert-check', action='store_true',
|
||||
help="Skip SSL certificate verification during download")
|
||||
subgroup.add_argument('--clean-at-end', action='store_true',
|
||||
help="Clean all intermediate files after the (successfull) build")
|
||||
subgroup.add_argument('--dont-install-packages', action='store_true',
|
||||
help="Do not try to install packages before compiling")
|
||||
subgroup.add_argument('--assume-packages-installed', action='store_true',
|
||||
help="Assume the package to install to be aleady installed")
|
||||
subgroup.add_argument('--android-arch', action='append',
|
||||
help=("Specify the architecture to build for android application/libraries.\n"
|
||||
"Can be specified several times to build for several architectures.\n"
|
||||
"If not specified, all architectures will be build."))
|
||||
subgroup.add_argument('--ios-arch', action='append',
|
||||
help=("Specify the architecture to build for ios application/libraries.\n"
|
||||
"Can be specified several times to build for several architectures.\n"
|
||||
"If not specified, all architectures will be build."))
|
||||
subgroup.add_argument('--fast-clone', action='store_true',
|
||||
help=("Do not clone the whole repository.\n"
|
||||
"This is useful for one shot build but it is not recommended if you want "
|
||||
"to develop with the cloned sources."))
|
||||
parser.add_argument(
|
||||
"target",
|
||||
default="kiwix-tools",
|
||||
nargs="?",
|
||||
metavar="TARGET",
|
||||
choices=Dependency.all_deps.keys(),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--working-dir",
|
||||
default=".",
|
||||
help=(
|
||||
"Directory where kiwix-build puts all its files "
|
||||
"(source, archive and build)\n"
|
||||
"working-dir can be absolute path or a relative (to cwd) one."
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--build-dir",
|
||||
default=".",
|
||||
help=(
|
||||
"Directory where kiwix-build puts all build files.\n"
|
||||
"build-dir can be absolute path or a relative (to working-dir) one."
|
||||
),
|
||||
)
|
||||
parser.add_argument("--libprefix", default=None)
|
||||
parser.add_argument("--target-platform", choices=PlatformInfo.all_platforms)
|
||||
parser.add_argument(
|
||||
"--verbose",
|
||||
"-v",
|
||||
action="store_true",
|
||||
help=(
|
||||
"Print all logs on stdout instead of in specific" " log files per commands"
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--hide-progress",
|
||||
action="store_false",
|
||||
dest="show_progress",
|
||||
help="Hide intermediate progress information.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--skip-source-prepare",
|
||||
action="store_true",
|
||||
help="Skip the source download part",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--build-deps-only",
|
||||
action="store_true",
|
||||
help="Build only the dependencies of the specified target.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--build-nodeps",
|
||||
action="store_true",
|
||||
help="Build only the target, not its dependencies.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--make-dist",
|
||||
action="store_true",
|
||||
help="Build distrubution (dist) source archive",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--make-release", action="store_true", help="Build a release version"
|
||||
)
|
||||
subgroup = parser.add_argument_group("advanced")
|
||||
subgroup.add_argument(
|
||||
"--no-cert-check",
|
||||
action="store_true",
|
||||
help="Skip SSL certificate verification during download",
|
||||
)
|
||||
subgroup.add_argument(
|
||||
"--clean-at-end",
|
||||
action="store_true",
|
||||
help="Clean all intermediate files after the (successfull) build",
|
||||
)
|
||||
subgroup.add_argument(
|
||||
"--dont-install-packages",
|
||||
action="store_true",
|
||||
help="Do not try to install packages before compiling",
|
||||
)
|
||||
subgroup.add_argument(
|
||||
"--assume-packages-installed",
|
||||
action="store_true",
|
||||
help="Assume the package to install to be aleady installed",
|
||||
)
|
||||
subgroup.add_argument(
|
||||
"--android-arch",
|
||||
action="append",
|
||||
help=(
|
||||
"Specify the architecture to build for android application/libraries.\n"
|
||||
"Can be specified several times to build for several architectures.\n"
|
||||
"If not specified, all architectures will be build."
|
||||
),
|
||||
)
|
||||
subgroup.add_argument(
|
||||
"--ios-arch",
|
||||
action="append",
|
||||
help=(
|
||||
"Specify the architecture to build for ios application/libraries.\n"
|
||||
"Can be specified several times to build for several architectures.\n"
|
||||
"If not specified, all architectures will be build."
|
||||
),
|
||||
)
|
||||
subgroup.add_argument(
|
||||
"--fast-clone",
|
||||
action="store_true",
|
||||
help=(
|
||||
"Do not clone the whole repository.\n"
|
||||
"This is useful for one shot build but it is not recommended if you want "
|
||||
"to develop with the cloned sources."
|
||||
),
|
||||
)
|
||||
options = parser.parse_args()
|
||||
|
||||
if not options.android_arch:
|
||||
options.android_arch = ['arm', 'arm64', 'x86', 'x86_64']
|
||||
options.android_arch = ["arm", "arm64", "x86", "x86_64"]
|
||||
if not options.ios_arch:
|
||||
options.ios_arch = ['arm64', 'x86_64']
|
||||
options.ios_arch = ["arm64", "x86_64"]
|
||||
|
||||
if not options.target_platform:
|
||||
options.target_platform = 'native_dyn'
|
||||
options.target_platform = "native_dyn"
|
||||
|
||||
return options
|
||||
|
||||
|
||||
def main():
|
||||
options = parse_args()
|
||||
options.working_dir = os.path.abspath(options.working_dir)
|
||||
_global.set_options(options)
|
||||
neutralEnv = buildenv.PlatformNeutralEnv()
|
||||
_global.set_neutralEnv(neutralEnv)
|
||||
if options.target_platform == 'flatpak':
|
||||
if options.target_platform == "flatpak":
|
||||
builder = FlatpakBuilder()
|
||||
else:
|
||||
builder = Builder()
|
||||
builder.run()
|
||||
|
||||
|
Reference in New Issue
Block a user