Skip to content

Commit

Permalink
Add 'categories' and 'extraArgs' named arguments to Dart2Js.compile a…
Browse files Browse the repository at this point in the history
…nd Dart2Js.compileAsync.

BUG=
R=devoncarew@google.com

Review URL: https://codereview.appspot.com/289910043 .
  • Loading branch information
jacob314 committed Jan 27, 2016
1 parent 43eab8c commit 6336479
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 35 deletions.
30 changes: 15 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
*.js.deps
*.js.map
*.swo
*.swp
.buildlog
.DS_Store
.svn
.packages
packages
pubspec.lock
.idea
.pub/
doc/api/
build/
.settings/
*.js.deps
*.js.map
*.swo
*.swp
.buildlog
.DS_Store
.svn
.packages
packages
pubspec.lock
.idea
.pub/
doc/api/
build/
.settings/
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# grinder.dart changes

## 0.8.0+2
- Add categories and extraArgs named arguments to Dart2Js.compile and compileAsync

## 0.8.0+1 (2015/11/12)
- Fixed a bug with the DDC `--html-report` option

Expand Down
62 changes: 44 additions & 18 deletions lib/grinder_sdk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -303,13 +303,35 @@ class Pub {

/// Utility tasks for invoking dart2js.
class Dart2js {
static List<String> _buildArgs(
{bool minify,
bool csp,
bool enableExperimentalMirrors,
String categories,
List<String> extraArgs,
File outFile,
File sourceFile}) {
var args = <String>[];
if (minify) args.add('--minify');
if (csp) args.add('--csp');
if (enableExperimentalMirrors) args.add('--enable-experimental-mirrors');
if (categories != null) args.add('--categories=$categories');

return args
..addAll(extraArgs)
..add('-o${outFile.path}')
..add(sourceFile.path);
}

/// Invoke a dart2js compile with the given [sourceFile] as input.
static void compile(File sourceFile,
{Directory outDir,
File outFile,
bool minify: false,
bool csp: false,
bool enableExperimentalMirrors: false}) {
bool enableExperimentalMirrors: false,
String categories,
List<String> extraArgs: const []}) {
if (outFile == null) {
if (outDir == null) outDir = sourceFile.parent;
outFile = joinFile(outDir, ["${fileName(sourceFile)}.js"]);
Expand All @@ -319,14 +341,15 @@ class Dart2js {

if (!outDir.existsSync()) outDir.createSync(recursive: true);

List args = [];
if (minify) args.add('--minify');
if (csp) args.add('--csp');
if (enableExperimentalMirrors) args.add('--enable-experimental-mirrors');
args.add('-o${outFile.path}');
args.add(sourceFile.path);

runlib.run(sdkBin('dart2js'), arguments: args);
runlib.run(sdkBin('dart2js'),
arguments: _buildArgs(
minify: minify,
csp: csp,
enableExperimentalMirrors: enableExperimentalMirrors,
categories: categories,
extraArgs: extraArgs,
outFile: outFile,
sourceFile: sourceFile));
}

/// Invoke a dart2js compile with the given [sourceFile] as input.
Expand All @@ -335,7 +358,9 @@ class Dart2js {
File outFile,
bool minify: false,
bool csp: false,
bool enableExperimentalMirrors: false}) {
bool enableExperimentalMirrors: false,
String categories,
List<String> extraArgs: const []}) {
if (outFile == null) {
if (outDir == null) outDir = sourceFile.parent;
outFile = joinFile(outDir, ["${fileName(sourceFile)}.js"]);
Expand All @@ -345,15 +370,16 @@ class Dart2js {

if (!outDir.existsSync()) outDir.createSync(recursive: true);

List args = [];
if (minify) args.add('--minify');
if (csp) args.add('--csp');
if (enableExperimentalMirrors) args.add('--enable-experimental-mirrors');
args.add('-o${outFile.path}');
args.add(sourceFile.path);

return runlib
.runAsync(sdkBin('dart2js'), arguments: args)
.runAsync(sdkBin('dart2js'),
arguments: _buildArgs(
minify: minify,
csp: csp,
enableExperimentalMirrors: enableExperimentalMirrors,
categories: categories,
extraArgs: extraArgs,
outFile: outFile,
sourceFile: sourceFile))
.then((_) => null);
}

Expand Down
2 changes: 1 addition & 1 deletion lib/src/cli.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import 'singleton.dart' as singleton;
import 'utils.dart';

// This version must be updated in tandem with the pubspec version.
const String appVersion = '0.8.0+1';
const String appVersion = '0.8.0+2';

List<String> grinderArgs() => _args;
List<String> _args;
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: grinder
# This version must be updated in tandem with the lib/src/cli.dart version.
version: 0.8.0+1
version: 0.8.0+2
description: Dart workflows, automated.

homepage: https://github.com/google/grinder.dart
Expand Down

0 comments on commit 6336479

Please sign in to comment.