1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-28 21:14:57 +03:00

Merge pull request #118 from DavidKinder/master

Changes for installing extensions via inbuild on Windows
This commit is contained in:
Graham Nelson 2023-08-02 11:08:16 +01:00 committed by GitHub
commit fdafcfeb88
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 21 deletions

View file

@ -114,7 +114,9 @@ error in this case.
@<Perform an extension installation@> =
Supervisor::go_operational();
ExtensionInstaller::install(to_install, confirmed, path_to_inbuild);
int use = SHELL_METHODOLOGY;
if (dry_run_mode) use = DRY_RUN_METHODOLOGY;
ExtensionInstaller::install(to_install, confirmed, path_to_inbuild, use);
@<Document from a file@> =
if (documentation_dest == NULL)

View file

@ -211,12 +211,16 @@ void ExtensionManager::copy_to_nest(inbuild_genre *gen, inbuild_copy *C, inbuild
}
}
TEMPORARY_TEXT(command)
WRITE_TO(command, "cp -f ");
Shell::quote_file(command, C->location_if_file);
Shell::quote_file(command, F);
BuildSteps::shell(command, meth);
DISCARD_TEXT(command)
if (meth->methodology == DRY_RUN_METHODOLOGY) {
TEMPORARY_TEXT(command)
WRITE_TO(command, "cp -f ");
Shell::quote_file(command, C->location_if_file);
Shell::quote_file(command, F);
WRITE_TO(STDOUT, "%S\n", command);
DISCARD_TEXT(command)
} else {
Filenames::copy_file(C->location_if_file, F);
}
}
@h Build graph.

View file

@ -134,10 +134,14 @@ void PipelineManager::copy_to_nest(inbuild_genre *gen, inbuild_copy *C, inbuild_
}
}
TEMPORARY_TEXT(command)
WRITE_TO(command, "cp -f ");
Shell::quote_file(command, C->location_if_file);
Shell::quote_file(command, F);
BuildSteps::shell(command, meth);
DISCARD_TEXT(command)
if (meth->methodology == DRY_RUN_METHODOLOGY) {
TEMPORARY_TEXT(command)
WRITE_TO(command, "cp -f ");
Shell::quote_file(command, C->location_if_file);
Shell::quote_file(command, F);
WRITE_TO(STDOUT, "%S\n", command);
DISCARD_TEXT(command)
} else {
Filenames::copy_file(C->location_if_file, F);
}
}

View file

@ -45,7 +45,7 @@ the Installer is called again, with |confirmed| true. It takes action and also
produces a second report.
=
void ExtensionInstaller::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
void ExtensionInstaller::install(inbuild_copy *C, int confirmed, pathname *to_tool, int meth) {
inform_project *project = Supervisor::project_set_at_command_line();
if (project == NULL) Errors::fatal("-project not set at command line");
TEMPORARY_TEXT(pname)
@ -332,8 +332,7 @@ void ExtensionInstaller::install(inbuild_copy *C, int confirmed, pathname *to_to
}
@<Make confirmed report@> =
int use = SHELL_METHODOLOGY;
build_methodology *BM = BuildMethodology::new(Pathnames::up(to_tool), TRUE, use);
build_methodology *BM = BuildMethodology::new(Pathnames::up(to_tool), TRUE, meth);
Copies::copy_to(C, Projects::materials_nest(project), TRUE, BM);
HTML_OPEN("p");
WRITE("This extension has now been installed in the materials folder for %S, as:", pname);
@ -345,7 +344,7 @@ void ExtensionInstaller::install(inbuild_copy *C, int confirmed, pathname *to_to
pathname *P = ExtensionBundleManager::pathname_in_nest(Projects::materials_nest(project), C->edition);
WRITE("the folder ");
HTML_OPEN("b");
Pathnames::relative_URL(OUT, Pathnames::up(Projects::materials_path(project)), P);
Pathnames::to_text_relative(OUT, Pathnames::up(Projects::materials_path(project)), P);
HTML_CLOSE("b");
} else {
filename *F = ExtensionManager::filename_in_nest(Projects::materials_nest(project), C->edition);
@ -388,7 +387,7 @@ void ExtensionInstaller::install(inbuild_copy *C, int confirmed, pathname *to_to
} else if (search_result->copy->location_if_path) {
HTML_TAG("br");
WRITE("at ");
Pathnames::relative_URL(OUT, Pathnames::up(Projects::materials_path(project)),
Pathnames::to_text_relative(OUT, Pathnames::up(Projects::materials_path(project)),
search_result->copy->location_if_path);
}
Copies::list_attached_errors_to_HTML(OUT, search_result->copy);

View file

@ -531,7 +531,7 @@ button.safebutton {
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
font-size: 1.067rem; /* 16/12 * 100/125 */
margin: 4px 2px;
cursor: pointer;
}
@ -544,7 +544,7 @@ button.dangerousbutton {
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
font-size: 1.067rem; /* 16/12 * 100/125 */
margin: 4px 2px;
cursor: pointer;
}
@ -578,7 +578,7 @@ span.documentationerror {
a.pastelink {
background-color: var(--paste-background-colour);
text-decoration: none;
font-size: 14px;
font-size: 0.933rem; /* 14/12 * 100/125 */
padding: 2px;
padding-left: 6px;
padding-right: 6px;