2019-10-17 01:25:37 +02:00
|
|
|
// Copyright 2016 Google Inc. Use of this source code is governed by an
|
|
|
|
// MIT-style license that can be found in the LICENSE file or at
|
|
|
|
// https://opensource.org/licenses/MIT.
|
|
|
|
|
|
|
|
import 'dart:io';
|
|
|
|
|
2019-10-30 01:21:52 +01:00
|
|
|
import 'package:cli_pkg/cli_pkg.dart' as pkg;
|
2019-10-17 01:25:37 +02:00
|
|
|
import 'package:grinder/grinder.dart';
|
|
|
|
|
|
|
|
import 'utils.dart';
|
|
|
|
|
2019-10-30 01:21:52 +01:00
|
|
|
main(List<String> args) {
|
|
|
|
pkg.addGithubTasks();
|
|
|
|
grind(args);
|
|
|
|
}
|
2019-10-17 01:25:37 +02:00
|
|
|
|
|
|
|
@Task('Compile the protocol buffer definition to a Dart library.')
|
|
|
|
protobuf() async {
|
|
|
|
Directory('build').createSync(recursive: true);
|
|
|
|
|
|
|
|
// Make sure we use the version of protoc_plugin defined by our pubspec,
|
|
|
|
// rather than whatever version the developer might have globally installed.
|
|
|
|
log("Writing protoc-gen-dart");
|
|
|
|
if (Platform.isWindows) {
|
|
|
|
File('build/protoc-gen-dart.bat').writeAsStringSync('''
|
|
|
|
@echo off
|
|
|
|
pub run protoc_plugin %*
|
|
|
|
''');
|
|
|
|
} else {
|
|
|
|
File('build/protoc-gen-dart')
|
|
|
|
.writeAsStringSync('pub run protoc_plugin "\$@"');
|
2019-11-05 04:50:50 +01:00
|
|
|
run('chmod', arguments: ['a+x', 'build/protoc-gen-dart']);
|
2019-10-17 01:25:37 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
await cloneOrPull("git://github.com/sass/embedded-protocol");
|
|
|
|
await runAsync("protoc",
|
|
|
|
arguments: [
|
|
|
|
"-Ibuild/embedded-protocol",
|
|
|
|
"embedded_sass.proto",
|
|
|
|
"--dart_out=lib/src/"
|
|
|
|
],
|
|
|
|
runOptions: RunOptions(environment: {
|
|
|
|
"PATH": 'build' +
|
|
|
|
(Platform.isWindows ? ";" : ":") +
|
|
|
|
Platform.environment["PATH"]
|
|
|
|
}));
|
|
|
|
}
|