downloadProtocGenGrpcJava function
Implementation
Future<String> downloadProtocGenGrpcJava(
String protocGenGrpcJavaVersion) async {
final Directory _protocGenGrpcJavaTmpDir = Directory(path.join(
_builderTmpDir, "protoc_gen_grpc_java", "v$protocGenGrpcJavaVersion"));
final protocGenGrpcJavaName =
"protoc-gen-grpc-java-$protocGenGrpcJavaVersion-${_getPlatform(false)}.exe";
final protocGenGrpcJava = File(
path.join(_protocGenGrpcJavaTmpDir.path, protocGenGrpcJavaName),
);
if (protocGenGrpcJava.existsSync()) {
return protocGenGrpcJava.path;
} else {
if (!_protocGenGrpcJavaTmpDir.existsSync()) {
await _protocGenGrpcJavaTmpDir.create(recursive: true);
}
Uri url = Uri.parse(
"https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/$protocGenGrpcJavaVersion/$protocGenGrpcJavaName");
await protocGenGrpcJava.writeAsBytes(await http.readBytes(url));
if (protocGenGrpcJava.existsSync()) {
if (!Platform.isWindows) {
await ProcessUtil.runCommand('chmod', ['+x', protocGenGrpcJava.path]);
}
return protocGenGrpcJava.path;
} else {
throw AssertionError('protoc-gen-grpc-java is not exist.');
}
}
}