/* Copyright 2019 fuwa This file is part of CyberWOW. CyberWOW is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. CyberWOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with CyberWOW. If not, see . */ import 'dart:io'; import 'dart:async'; import 'dart:convert'; import 'package:flutter/services.dart'; import '../helper.dart'; Stream deployBinary ( final AssetBundle bundle, final String path, final String name ) async* { final binData = await bundle.load(path); final newPath = await getBinaryPath(name); yield 'output binary path: $newPath\n'; final inputBytes = binData.buffer.asUint8List(); final outputFile = await new File(newPath).writeAsBytes(inputBytes); final chmodResult = await Process.run('chmod', ['u+x', newPath]); yield chmodResult.stderr + '\n'; final outputStat = await outputFile.stat(); yield outputStat.toString() + '\n'; }