in packages/autorest.python/scripts/eng/regenerate.ts [218:246]
function addOptions(spec: string, generatedFolder: string, flags: RegenerateFlags): EmitterConfig[] {
const emitterConfigs: EmitterConfig[] = [];
for (const config of getEmitterOption(spec)) {
const options: Record<string, string> = { ...config };
options["flavor"] = flags.flavor;
for (const [k, v] of Object.entries(SpecialFlags[flags.flavor] ?? {})) {
options[k] = v;
}
if (options["emitter-output-dir"] === undefined) {
const packageName = options["package-name"] || defaultPackageName(spec);
options["emitter-output-dir"] = toPosix(`${generatedFolder}/test/${flags.flavor}/generated/${packageName}`);
}
if (flags.debug) {
options["debug"] = "true";
}
if (flags.flavor === "unbranded") {
options["company-name"] = "Unbranded";
}
options["examples-dir"] = toPosix(join(dirname(spec), "examples"));
const configs = Object.entries(options).flatMap(([k, v]) => {
return `--option @azure-tools/typespec-python.${k}=${v}`;
});
emitterConfigs.push({
optionsStr: configs.join(" "),
outputDir: options["emitter-output-dir"],
});
}
return emitterConfigs;
}