diff --git a/src/commands.cpp b/src/commands.cpp index 1f8dd6d..8dcea11 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -862,6 +862,21 @@ clipp::group release_command::do_group() ); } +void release_command::convert_cl_to_conf() +{ + command::convert_cl_to_conf(); + + if (mode_ == modes::official) + { + common.options.push_back("translations:task/enabled=true"); + common.options.push_back("installer:task/enabled=true"); + + common.options.push_back("transifex/force=true"); + common.options.push_back("transifex/configure=true"); + common.options.push_back("transifex/pull=true"); + } +} + int release_command::do_run() { switch (mode_) @@ -927,11 +942,6 @@ int release_command::do_official() } } - conf::set_for_task("_override", "task", "enabled", "true"); - conf::set_global("transifex", "force", "true"); - conf::set_global("transifex", "configure", "true"); - conf::set_global("transifex", "pull", "true"); - run_all_tasks(); build_command::terminate_msbuild(); diff --git a/src/commands.h b/src/commands.h index d8f3a89..7a79d01 100644 --- a/src/commands.h +++ b/src/commands.h @@ -181,6 +181,7 @@ protected: clipp::group do_group() override; int do_run() override; std::string do_doc() override; + void convert_cl_to_conf() override; private: enum class modes diff --git a/src/conf.cpp b/src/conf.cpp index 8c8aa38..6a0e356 100644 --- a/src/conf.cpp +++ b/src/conf.cpp @@ -636,7 +636,24 @@ fs::path find_vs() if (p.exit_code() != 0) gcx().bail_out(context::conf, "vswhere failed"); - fs::path path = trim_copy(p.stdout_string()); + const fs::path path = trim_copy(p.stdout_string()); + const auto lines = split(path_to_utf8(path), "\r\n"); + + if (lines.empty()) + { + gcx().bail_out(context::conf, "vswhere didn't output anything"); + } + else if (lines.size() > 1) + { + gcx().error(context::conf, "vswhere returned multiple installations:"); + + for (auto&& line : lines) + gcx().error(context::conf, " - {}", line); + + gcx().bail_out(context::conf, + "specify the `vs` path in the `[paths]` section of the INI, or pass " + "-s paths/vs=PATH` to pick an installation"); + } if (!fs::exists(path)) { diff --git a/src/main.cpp b/src/main.cpp index 53bc41c..ab2101c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -172,6 +172,7 @@ void add_tasks() add_task(true) .add_task({"modorganizer-tool_configurator", "pycfg"}) .add_task("modorganizer-fnistool") + .add_task("modorganizer-basic_games") .add_task({ "modorganizer-script_extender_plugin_checker", "diagnose-script_extender_plugin_checker", diff --git a/src/tasks/python.cpp b/src/tasks/python.cpp index dcfb212..ef428ff 100644 --- a/src/tasks/python.cpp +++ b/src/tasks/python.cpp @@ -243,6 +243,7 @@ void python::install_pip() .binary(python_exe()) .arg("-m pip") .arg("install") + .arg("--no-warn-script-location") .arg("--upgrade pip"))); // ssl errors while downloading through python without certifi @@ -250,6 +251,7 @@ void python::install_pip() .binary(python_exe()) .arg("-m pip") .arg("install") + .arg("--no-warn-script-location") .arg("certifi"))); }