diff options
Diffstat (limited to 'src/buildtool/main/main.cpp')
-rw-r--r-- | src/buildtool/main/main.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 6fd8dded..4f874da0 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -134,7 +134,9 @@ void SetupExecutionConfig(EndpointArguments const& eargs, } } -void SetupServeConfig(ServeArguments const& srvargs) { +void SetupServeConfig(ServeArguments const& srvargs, + CommonArguments const& cargs, + BuildArguments const& bargs) { if (srvargs.remote_serve_address) { if (not RemoteServeConfig::SetRemoteAddress( *srvargs.remote_serve_address)) { @@ -165,6 +167,20 @@ void SetupServeConfig(ServeArguments const& srvargs) { "Setting serve service repositories failed."); std::exit(kExitFailure); } + // make parallelism and build options available for remote builds + if (not RemoteServeConfig::SetJobs(cargs.jobs)) { + Logger::Log(LogLevel::Error, "Setting jobs failed."); + std::exit(kExitFailure); + } + if (bargs.build_jobs > 0 and + not RemoteServeConfig::SetBuildJobs(bargs.build_jobs)) { + Logger::Log(LogLevel::Error, "Setting build jobs failed."); + std::exit(kExitFailure); + } + if (not RemoteServeConfig::SetActionTimeout(bargs.timeout)) { + Logger::Log(LogLevel::Error, "Setting action timeout failed."); + std::exit(kExitFailure); + } } void SetupAuthConfig(CommonAuthArguments const& authargs, @@ -814,7 +830,7 @@ auto main(int argc, char* argv[]) -> int { SetupHashFunction(); SetupExecutionConfig( arguments.endpoint, arguments.build, arguments.rebuild); - SetupServeConfig(arguments.serve); + SetupServeConfig(arguments.serve, arguments.common, arguments.build); SetupAuthConfig(arguments.auth, arguments.cauth, arguments.sauth); if (arguments.cmd == SubCommand::kGc) { |