1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-30 22:14:58 +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@> = @<Perform an extension installation@> =
Supervisor::go_operational(); 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@> = @<Document from a file@> =
if (documentation_dest == NULL) 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) if (meth->methodology == DRY_RUN_METHODOLOGY) {
WRITE_TO(command, "cp -f "); TEMPORARY_TEXT(command)
Shell::quote_file(command, C->location_if_file); WRITE_TO(command, "cp -f ");
Shell::quote_file(command, F); Shell::quote_file(command, C->location_if_file);
BuildSteps::shell(command, meth); Shell::quote_file(command, F);
DISCARD_TEXT(command) WRITE_TO(STDOUT, "%S\n", command);
DISCARD_TEXT(command)
} else {
Filenames::copy_file(C->location_if_file, F);
}
} }
@h Build graph. @h Build graph.

View file

@ -134,10 +134,14 @@ void PipelineManager::copy_to_nest(inbuild_genre *gen, inbuild_copy *C, inbuild_
} }
} }
TEMPORARY_TEXT(command) if (meth->methodology == DRY_RUN_METHODOLOGY) {
WRITE_TO(command, "cp -f "); TEMPORARY_TEXT(command)
Shell::quote_file(command, C->location_if_file); WRITE_TO(command, "cp -f ");
Shell::quote_file(command, F); Shell::quote_file(command, C->location_if_file);
BuildSteps::shell(command, meth); Shell::quote_file(command, F);
DISCARD_TEXT(command) 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. 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(); inform_project *project = Supervisor::project_set_at_command_line();
if (project == NULL) Errors::fatal("-project not set at command line"); if (project == NULL) Errors::fatal("-project not set at command line");
TEMPORARY_TEXT(pname) TEMPORARY_TEXT(pname)
@ -332,8 +332,7 @@ void ExtensionInstaller::install(inbuild_copy *C, int confirmed, pathname *to_to
} }
@<Make confirmed report@> = @<Make confirmed report@> =
int use = SHELL_METHODOLOGY; build_methodology *BM = BuildMethodology::new(Pathnames::up(to_tool), TRUE, meth);
build_methodology *BM = BuildMethodology::new(Pathnames::up(to_tool), TRUE, use);
Copies::copy_to(C, Projects::materials_nest(project), TRUE, BM); Copies::copy_to(C, Projects::materials_nest(project), TRUE, BM);
HTML_OPEN("p"); HTML_OPEN("p");
WRITE("This extension has now been installed in the materials folder for %S, as:", pname); 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); pathname *P = ExtensionBundleManager::pathname_in_nest(Projects::materials_nest(project), C->edition);
WRITE("the folder "); WRITE("the folder ");
HTML_OPEN("b"); 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"); HTML_CLOSE("b");
} else { } else {
filename *F = ExtensionManager::filename_in_nest(Projects::materials_nest(project), C->edition); 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) { } else if (search_result->copy->location_if_path) {
HTML_TAG("br"); HTML_TAG("br");
WRITE("at "); 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); search_result->copy->location_if_path);
} }
Copies::list_attached_errors_to_HTML(OUT, search_result->copy); Copies::list_attached_errors_to_HTML(OUT, search_result->copy);

View file

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