| Index: tools/apps/update_homebrew/bin/update_homebrew.dart
|
| diff --git a/tools/apps/update_homebrew/bin/update_homebrew.dart b/tools/apps/update_homebrew/bin/update_homebrew.dart
|
| index dbb62f85e840df89bf2fce822343edc4fc3d4bc3..800fae1faf849741c20f75d4f0aa2af31207cbd8 100644
|
| --- a/tools/apps/update_homebrew/bin/update_homebrew.dart
|
| +++ b/tools/apps/update_homebrew/bin/update_homebrew.dart
|
| @@ -133,14 +133,12 @@ class Dartium < Formula
|
|
|
| resource 'content_shell' do
|
| url '$urlBase/dev/release/${revisions['dev']}/$contentShellFile'
|
| - version '$devVersion'
|
| sha256 '${hashes['dev'][contentShellFile]}'
|
| end
|
| end
|
|
|
| resource 'content_shell' do
|
| url '$urlBase/stable/release/${revisions['stable']}/$contentShellFile'
|
| - version '$stableVersion'
|
| sha256 '${hashes['stable'][contentShellFile]}'
|
| end
|
|
|
| @@ -162,7 +160,11 @@ class Dartium < Formula
|
| end
|
|
|
| def caveats; <<-EOS.undent
|
| - To use with IntelliJ, set the Dartium execute home to:
|
| + DEPRECATED
|
| + In the future, use the `dart` formula using
|
| + `--with-dartium` and/or `--with-content-shell`
|
| +
|
| + To use with IntelliJ, set the Dartium execute home to:
|
| #{prefix}/Chromium.app
|
| EOS
|
| end
|
| @@ -189,6 +191,9 @@ class Dart < Formula
|
| sha256 '${hashes['stable'][ia32File]}'
|
| end
|
|
|
| + option 'with-content-shell', 'Download and install content_shell -- headless Dartium for testing'
|
| + option 'with-dartium', 'Download and install Dartium -- Chromium with Dart'
|
| +
|
| devel do
|
| version '$devVersion'
|
| if MacOS.prefer_64_bit?
|
| @@ -198,17 +203,60 @@ class Dart < Formula
|
| url '$urlBase/dev/release/${revisions['dev']}/$ia32File'
|
| sha256 '${hashes['dev'][ia32File]}'
|
| end
|
| +
|
| + resource 'content_shell' do
|
| + url '$urlBase/dev/release/${revisions['dev']}/$contentShellFile'
|
| + sha256 '${hashes['dev'][contentShellFile]}'
|
| + end
|
| +
|
| + resource 'dartium' do
|
| + url '$urlBase/dev/release/${revisions['dev']}/$dartiumFile'
|
| + sha256 '${hashes['dev'][dartiumFile]}'
|
| + end
|
| + end
|
| +
|
| + resource 'content_shell' do
|
| + url '$urlBase/stable/release/${revisions['stable']}/$contentShellFile'
|
| + sha256 '${hashes['stable'][contentShellFile]}'
|
| + end
|
| +
|
| + resource 'dartium' do
|
| + url '$urlBase/stable/release/${revisions['stable']}/$dartiumFile'
|
| + sha256 '${hashes['stable'][dartiumFile]}'
|
| end
|
|
|
| def install
|
| libexec.install Dir['*']
|
| bin.install_symlink "#{libexec}/bin/dart"
|
| bin.write_exec_script Dir["#{libexec}/bin/{pub,docgen,dart?*}"]
|
| +
|
| + if build.with? 'content-shell'
|
| + dartium_binary = 'Chromium.app/Contents/MacOS/Chromium'
|
| + prefix.install resource('dartium')
|
| + (bin+"dartium").write shim_script dartium_binary
|
| + end
|
| +
|
| + if build.with? 'content-shell'
|
| + content_shell_binary = 'Content Shell.app/Contents/MacOS/Content Shell'
|
| + prefix.install resource('content_shell')
|
| + (bin+"content_shell").write shim_script content_shell_binary
|
| + end
|
| + end
|
| +
|
| + def shim_script target
|
| + <<-EOS.undent
|
| + #!/bin/bash
|
| + exec "#{prefix}/#{target}" "\$@"
|
| + EOS
|
| end
|
|
|
| def caveats; <<-EOS.undent
|
| Please note the path to the Dart SDK:
|
| #{opt_libexec}
|
| +
|
| + --with-dartium:
|
| + To use with IntelliJ, set the Dartium execute home to:
|
| + #{prefix}/Chromium.app
|
| EOS
|
| end
|
|
|
| @@ -242,14 +290,17 @@ main(args) async {
|
| final options = parser.parse(args);
|
| final revision = options['revision'];
|
| final channel = options['channel'];
|
| - final key = options['key'];
|
| - if ([revision, channel, key].contains(null)) {
|
| - print("Usage: update_homebrew.dart -r revision -c channel -k ssh_key\n"
|
| + if ([revision, channel].contains(null)) {
|
| + print("Usage: update_homebrew.dart -r revision -c channel [-k ssh_key]\n"
|
| " ssh_key should allow pushes to ${GITHUB_REPO} on github");
|
| return;
|
| }
|
| - final sshWrapper = Platform.script.resolve('ssh_with_key').toFilePath();
|
| - gitEnvironment = {'GIT_SSH': sshWrapper, 'SSH_KEY_PATH': key};
|
| +
|
| + final key = options['key'];
|
| + if (key != null) {
|
| + final sshWrapper = Platform.script.resolve('ssh_with_key').toFilePath();
|
| + gitEnvironment = {'GIT_SSH': sshWrapper, 'SSH_KEY_PATH': key};
|
| + }
|
|
|
| Chain.capture(() async {
|
| var tempDir = await Directory.systemTemp.createTemp('update_homebrew');
|
|
|