14#include "arcane/launcher/internal/ParamFile.h"
16#include "arcane/launcher/ArcaneLauncher.h"
18#include "arcane/utils/PlatformUtils.h"
19#include "arcane/utils/UniqueArray.h"
20#include "arcane/utils/FatalErrorException.h"
21#include "arcane/utils/StringBuilder.h"
22#include "arcane/utils/CommandLineArguments.h"
23#include "arcane/utils/JSONReader.h"
86editParams(
const String& param_file_name,
const String& variation)
90 UniqueArray<Byte> bytes;
96 JSONDocument json_doc;
99 const JSONValue root = json_doc.root();
102 const JSONValue dataset = root.child(
"dataset");
103 if (!dataset.isNull()) {
104 cargs.addParameterLine(String::format(
"CaseDatasetFileName={0}", dataset.value()));
112 JSONValue variations = root.child(
"common");
113 if (!variations.isNull()) {
115 JSONValue name_var = variations.child(
"name");
116 if (!name_var.isNull()) {
117 name += name_var.valueAsStringView();
122 JSONValue arcane_params = variations.child(
"arcane").child(
"options");
123 if (!arcane_params.isNull()) {
124 const JSONKeyValueList params = arcane_params.keyValueChildren();
126 for (
auto elem : params) {
127 cargs.addParameterLine( String::format(
"{0}={1}", elem.name(), elem.value().valueAsStringView()));
135 if (!variation.empty()) {
136 const JSONValue variations = root.child(
"variations");
137 if (!variations.isNull()) {
138 const JSONValue asked_var = variations.expectedChild(variation);
141 const JSONValue name_var = asked_var.child(
"name");
142 if (!name_var.isNull()) {
143 name += name_var.valueAsStringView();
147 const JSONValue arcane_params = asked_var.child(
"arcane").child(
"options");
148 if (!arcane_params.isNull()) {
149 const JSONKeyValueList params = arcane_params.keyValueChildren();
151 for (
auto elem : params) {
152 cargs.addParameterLine( String::format(
"{0}={1}", elem.name(), elem.value().valueAsStringView()));
#define ARCANE_FATAL(...)
Macro throwing a FatalErrorException.
void setCommandLineArguments(const CommandLineArguments &args)
Sets the command line arguments.
const CommandLineArguments & commandLineArguments() const
Command line arguments.
static ApplicationInfo & applicationInfo()
Application information.
@ ParseNumbersAsStringsFlag
Parse all numbers (ints/doubles) as strings.
@ ParseCommentsFlag
Allow one-line (//) and multi-line (/**/) comments.
Unicode character string.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --