mirror of
https://github.com/AdaCore/OpenUxAS.git
synced 2026-02-12 13:07:16 -08:00
92 lines
2.2 KiB
Python
92 lines
2.2 KiB
Python
|
|
#! /usr/bin/env python3
|
||
|
|
|
||
|
|
"""
|
||
|
|
Install Java script.
|
||
|
|
|
||
|
|
This script automates the install of Java, which is required to build
|
||
|
|
OpenAMASE and LmcpGen.
|
||
|
|
|
||
|
|
Run this script via `infrastructure/install` from the root of your repository,
|
||
|
|
like this:
|
||
|
|
|
||
|
|
OpenUxAS$ infrastructure/install
|
||
|
|
|
||
|
|
To get more information and to better control the install, run:
|
||
|
|
|
||
|
|
OpenUxAS$ infrastructure/install --help
|
||
|
|
"""
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from support.arguments import (
|
||
|
|
add_logging_group,
|
||
|
|
add_interactive_group,
|
||
|
|
add_apt_group,
|
||
|
|
add_force_argument,
|
||
|
|
add_dry_run_argument,
|
||
|
|
)
|
||
|
|
from support.commands import Command, run_command_and_exit_on_fail
|
||
|
|
from support.log import configure_logging
|
||
|
|
|
||
|
|
|
||
|
|
APT_UPDATE = Command(
|
||
|
|
cmd=["sudo", "apt", "update"],
|
||
|
|
description="Updating apt",
|
||
|
|
)
|
||
|
|
|
||
|
|
APT_INSTALL = Command(
|
||
|
|
cmd=[
|
||
|
|
"sudo",
|
||
|
|
"apt",
|
||
|
|
"install",
|
||
|
|
"-y",
|
||
|
|
"openjdk-11-jdk",
|
||
|
|
"ant",
|
||
|
|
],
|
||
|
|
description="Installing OpenJDK 11",
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
DESCRIPTION = """\
|
||
|
|
This script automates the installation of Java, which is required to use
|
||
|
|
OpenAMASE and LcmpGen. OpenJDK 11 will be installed.
|
||
|
|
|
||
|
|
*WARNING* If you already have a version of Java >= 11 installed, you probably
|
||
|
|
*should not* run this script. If you're unsure, you can find out by trying:
|
||
|
|
|
||
|
|
$ java -version
|
||
|
|
|
||
|
|
You should run this script like this:
|
||
|
|
|
||
|
|
OpenUxAS$ infrastructure/install
|
||
|
|
"""
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
from argparse import ArgumentParser
|
||
|
|
|
||
|
|
argument_parser = ArgumentParser(
|
||
|
|
description=DESCRIPTION,
|
||
|
|
)
|
||
|
|
|
||
|
|
add_dry_run_argument(argument_parser)
|
||
|
|
add_force_argument(argument_parser)
|
||
|
|
add_interactive_group(argument_parser)
|
||
|
|
add_apt_group(argument_parser)
|
||
|
|
add_logging_group(argument_parser)
|
||
|
|
|
||
|
|
(args, _) = argument_parser.parse_known_args()
|
||
|
|
|
||
|
|
configure_logging(args)
|
||
|
|
|
||
|
|
if args.update_apt and (
|
||
|
|
not args.interactive
|
||
|
|
or input("Update apt before installing Java (OpenJDK 11)? [Y/n] ") != "n"
|
||
|
|
):
|
||
|
|
run_command_and_exit_on_fail(APT_UPDATE, args.dry_run)
|
||
|
|
|
||
|
|
if args.install_packages and (
|
||
|
|
not args.interactive or input("Install Java (OpenJDK 11)? " "[Y/n] ") != "n"
|
||
|
|
):
|
||
|
|
run_command_and_exit_on_fail(APT_INSTALL, args.dry_run)
|