startup_stepwise (testSetup3)
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "innercore-mod-toolchain"
|
name = "innercore-mod-toolchain"
|
||||||
version = "0.1.0-dev13"
|
version = "0.1.0-dev14"
|
||||||
description = "Inner Core Mod Toolchain for Horizon is a toolchain that allows you to efficiently develop and build modifications for mobile Minecraft: Bedrock Edition directly from your PC."
|
description = "Inner Core Mod Toolchain for Horizon is a toolchain that allows you to efficiently develop and build modifications for mobile Minecraft: Bedrock Edition directly from your PC."
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "Horizon Team", email = "innercore2018@gmail.com" },
|
{ name = "Horizon Team", email = "innercore2018@gmail.com" },
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ from os.path import isdir, isfile, join
|
|||||||
from typing import Final, List, NoReturn, Optional
|
from typing import Final, List, NoReturn, Optional
|
||||||
|
|
||||||
from . import GLOBALS
|
from . import GLOBALS
|
||||||
from .shell import (Editable, Interactable, Selectable, abort,
|
from .shell import (Editable, Interactable, Selectable, abort, confirm_prompt,
|
||||||
get_toolchain_style, pretty_print, pretty_print_answer)
|
get_toolchain_style, input_prompt, pretty_print,
|
||||||
|
pretty_print_answer)
|
||||||
from .utils import ensure_not_whitespace, request_typescript
|
from .utils import ensure_not_whitespace, request_typescript
|
||||||
|
|
||||||
|
|
||||||
@@ -210,6 +211,59 @@ def startup() -> None:
|
|||||||
|
|
||||||
pretty_print(f"* Setup procedure is completed, Inner Core Mod Toolchain has been installed to {get_script_directory()!r} directory. Execute `icmtoolchain --help` to obtain a list of available commands. You may need to restart your console to be able to access any commands.")
|
pretty_print(f"* Setup procedure is completed, Inner Core Mod Toolchain has been installed to {get_script_directory()!r} directory. Execute `icmtoolchain --help` to obtain a list of available commands. You may need to restart your console to be able to access any commands.")
|
||||||
|
|
||||||
|
def startup_stepwise() -> None:
|
||||||
|
tsc = request_typescript(only_check=True) is not None
|
||||||
|
|
||||||
|
username = None
|
||||||
|
typescript = False
|
||||||
|
|
||||||
|
def do_next_step(step: int = 0) -> None:
|
||||||
|
if step == 0:
|
||||||
|
nonlocal username
|
||||||
|
username = input_prompt(
|
||||||
|
"Who are you?",
|
||||||
|
fallback=get_username(),
|
||||||
|
explanation="This username, or alias, will be used when creating a project. Author name identifies you on Inner Core Mods."
|
||||||
|
)
|
||||||
|
elif step == 1:
|
||||||
|
nonlocal typescript
|
||||||
|
typescript = confirm_prompt(
|
||||||
|
"Do you plan to use Node.js for compilation?",
|
||||||
|
fallback=tsc,
|
||||||
|
explanation="This will allow your code to be transpiled by TypeScript Compiler to use ESNext's features, but may increase reassembly time."
|
||||||
|
)
|
||||||
|
elif step == 2:
|
||||||
|
input_prompt(
|
||||||
|
"Where should we look for projects?",
|
||||||
|
explanation="If you have used Inner Core Mod Toolchain earlier, you may choose where to search for projects. Either import an obsolete project or modification for Inner Core."
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
do_next_step(step + 1)
|
||||||
|
|
||||||
|
try:
|
||||||
|
do_next_step()
|
||||||
|
except KeyboardInterrupt or EOFError:
|
||||||
|
pretty_print("* Preconfiguration was canceled, you can do it later, execute `icmtoolchain --help` for a list of commands.")
|
||||||
|
return None
|
||||||
|
|
||||||
|
username = ensure_not_whitespace(username)
|
||||||
|
if username:
|
||||||
|
GLOBALS.TOOLCHAIN_CONFIG.set_value("template.author", username)
|
||||||
|
|
||||||
|
if typescript:
|
||||||
|
if GLOBALS.TOOLCHAIN_CONFIG.get_value("denyTypeScript"):
|
||||||
|
GLOBALS.TOOLCHAIN_CONFIG.remove_value("denyTypeScript")
|
||||||
|
GLOBALS.TOOLCHAIN_CONFIG.save()
|
||||||
|
request_typescript()
|
||||||
|
elif tsc:
|
||||||
|
GLOBALS.TOOLCHAIN_CONFIG.set_value("denyTypeScript", True)
|
||||||
|
GLOBALS.TOOLCHAIN_CONFIG.save()
|
||||||
|
|
||||||
|
GLOBALS.TOOLCHAIN_CONFIG.save()
|
||||||
|
|
||||||
|
pretty_print(f"* Setup procedure is completed, Inner Core Mod Toolchain has been installed to {get_script_directory()!r} directory. Execute `icmtoolchain --help` to obtain a list of available commands. You may need to restart your console to be able to access any commands.")
|
||||||
|
|
||||||
def startup_questionary() -> None:
|
def startup_questionary() -> None:
|
||||||
from questionary import confirm as qconfirm
|
from questionary import confirm as qconfirm
|
||||||
from questionary import form as qform
|
from questionary import form as qform
|
||||||
|
|||||||
@@ -579,6 +579,12 @@ def task_setup_2() -> int:
|
|||||||
startup_questionary()
|
startup_questionary()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@task("testSetup3")
|
||||||
|
def task_setup_3() -> int:
|
||||||
|
from .component import startup_stepwise
|
||||||
|
startup_stepwise()
|
||||||
|
return 0
|
||||||
|
|
||||||
@task("testCreate1")
|
@task("testCreate1")
|
||||||
def task_create_1() -> int:
|
def task_create_1() -> int:
|
||||||
from .package import new_project
|
from .package import new_project
|
||||||
|
|||||||
Reference in New Issue
Block a user