getMixCliTool method
Implementation
Future<ElixirMixCliTool> getMixCliTool() async {
final exe = await Directory.systemTemp.getUniqueFile(
prefix: "elixir_mix",
extension: Platform.isWindows ? "bat" : "sh",
);
if (Platform.isWindows) {
await writeWindowsBatchScript(
file: exe,
contents: """
REM Forward arguments to the actual executable
$executable ${_getMixCliToolStartArgs()} %*
""",
);
} else {
await exe.writeAsString(
"""
#! /bin/sh
exec $executable ${_getMixCliToolStartArgs()} "\$@"
""",
flush: true,
mode: FileMode.writeOnly,
encoding: systemEncoding,
);
await ChmodCliTool().setPermissions(
filepath: exe.path,
owner: {read, write, execute},
group: {read, execute},
other: {read, execute},
);
}
return ElixirMixCliTool(
executable: exe.path,
);
}