diff --git a/pubspec.yaml b/pubspec.yaml index da0788a4..ef2e3945 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,7 +33,7 @@ dependencies: dev_dependencies: archive: ">=1.0.0 <3.0.0" analyzer: ">=0.37.0 <0.40.0" - cli_pkg: "^1.0.0-beta.6" + cli_pkg: "^1.0.0-beta.10" crypto: ">=0.9.2 <3.0.0" dart_style: "^1.2.0" grinder: "^0.8.0" @@ -46,3 +46,9 @@ dev_dependencies: test_process: "^1.0.0-rc.1" test: ">=0.12.42 <2.0.0" yaml: "^2.0.0" + +dependency_overrides: + cli_pkg: + git: + url: git://github.com/google/dart_cli_pkg + ref: 1.0.0-beta.10 diff --git a/tool/grind.dart b/tool/grind.dart index bbe5a7d7..7dbd15b3 100644 --- a/tool/grind.dart +++ b/tool/grind.dart @@ -19,40 +19,36 @@ export 'grind/sanity_check.dart'; export 'grind/synchronize.dart'; void main(List args) { - pkg.humanName = "Dart Sass"; - pkg.botName = "Sass Bot"; - pkg.botEmail = "sass.bot.beep.boop@gmail.com"; - pkg.executables = {"sass": "bin/sass.dart"}; - pkg.chocolateyNuspec = _nuspec; - pkg.homebrewRepo = "sass/homebrew-sass"; - pkg.homebrewFormula = "sass.rb"; - pkg.jsRequires = {"fs": "fs", "chokidar": "chokidar", "readline": "readline"}; - pkg.jsModuleMainLibrary = "lib/src/node.dart"; - pkg.npmPackageJson = + pkg.humanName.value = "Dart Sass"; + pkg.botName.value = "Sass Bot"; + pkg.botEmail.value = "sass.bot.beep.boop@gmail.com"; + pkg.executables.value = {"sass": "bin/sass.dart"}; + pkg.chocolateyNuspec.value = _nuspec; + pkg.homebrewRepo.value = "sass/homebrew-sass"; + pkg.homebrewFormula.value = "sass.rb"; + pkg.jsRequires.value = { + "fs": "fs", + "chokidar": "chokidar", + "readline": "readline" + }; + pkg.jsModuleMainLibrary.value = "lib/src/node.dart"; + pkg.npmPackageJson.fn = () => json.decode(File("package/package.json").readAsStringSync()) as Map; - pkg.npmReadme = _readAndResolveMarkdown("package/README.npm.md"); - pkg.standaloneName = "dart-sass"; + pkg.npmReadme.fn = () => _readAndResolveMarkdown("package/README.npm.md"); + pkg.standaloneName.value = "dart-sass"; - try { - pkg.githubReleaseNotes = - "To install Sass ${pkg.version}, download one of the packages below " - "and [add it to your PATH][], or see [the Sass website][] for full " - "installation instructions.\n" - "\n" - "[add it to your PATH]: https://katiek2.github.io/path-doc/\n" - "[the Sass website]: https://sass-lang.com/install\n" - "\n" - "# Changes\n" - "\n" - "${pkg.githubReleaseNotes}"; - } catch (_) { - // `pkg.githubReleaseNotes` can fail if the CHANGELOG doesn't have an entry - // for the current version (which may happen for a -dev version). We don't - // care about those errors for most grinder tasks we run, and if we're - // running a release it'll call `pkg.githubReleaseNotes` again and throw the - // error in a way that's visible. - } + pkg.githubReleaseNotes.fn = () => + "To install Sass ${pkg.version}, download one of the packages below " + "and [add it to your PATH][], or see [the Sass website][] for full " + "installation instructions.\n" + "\n" + "[add it to your PATH]: https://katiek2.github.io/path-doc/\n" + "[the Sass website]: https://sass-lang.com/install\n" + "\n" + "# Changes\n" + "\n" + "${pkg.githubReleaseNotes}"; pkg.addAllTasks(); grind(args); diff --git a/tool/grind/utils.dart b/tool/grind/utils.dart index eb888709..cd33f0cf 100644 --- a/tool/grind/utils.dart +++ b/tool/grind/utils.dart @@ -11,10 +11,10 @@ import 'package:path/path.dart' as p; /// Options for [run] that tell Git to commit using SassBot's name and email. final sassBotEnvironment = RunOptions(environment: { - "GIT_AUTHOR_NAME": pkg.botName, - "GIT_AUTHOR_EMAIL": pkg.botEmail, - "GIT_COMMITTER_NAME": pkg.botName, - "GIT_COMMITTER_EMAIL": pkg.botEmail + "GIT_AUTHOR_NAME": pkg.botName.value, + "GIT_AUTHOR_EMAIL": pkg.botEmail.value, + "GIT_COMMITTER_NAME": pkg.botName.value, + "GIT_COMMITTER_EMAIL": pkg.botEmail.value }); /// Ensure that the `build/` directory exists.