-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Versioned 1.x and 2.x formulae for Dart 2 migration #52
Conversation
The .rb files are generated by a script in the dart-lang/sdk repo, at tools/apps/update_homebrew. These scripts would need to be modified to create these new dart@1 and dart@2 files. I'm not sure if this is worth doing at this point. We hope to release Dart 2.0 soon, so maybe we can skip this. Would Dart 1 users be able to keep using the same formula, just pinning a version? If not, maybe we can just add a dart@legacy formula. |
Thanks. I'll have a peek at this.
Probably so, at least for the
That would be pretty hard to do; Homebrew doesn't have great support for pinning particular versions, and there's no way to express that version-specific dependency in the formula DSL, so packagers of legacy apps couldn't really use it. To get it to work smoothly from an end-user perspective, it probably does have to be a separate "@"-versioned formula. A dart@legacy formula sounds like a good idea and is basically what my |
@whesse – the SDK script just updates the one file, right? We could add the |
FYI, this is blocking Dart Sass from upgrading to Dart 2. |
@whesse says:
|
Do we still have Do we land |
In my view:
Yes. That will remain the main Dart formula.
No. They need to have different definitions: in main
I will attempt to modify this PR to have |
Could we start with a super simple PR that just adds `dart@1.rb`? That
seems a no-brainer.
…On Thu, May 31, 2018 at 3:58 PM Andrew Janke ***@***.***> wrote:
In my view:
Do we still have dart.rb?
Yes. That will remain the main Dart formula. ***@***.*** and/or ***@***.*** would
be special-purpose auxiliary formulae.
Is there a way [dart.rb] points to ***@***.***?
No. They need to have different definitions: in main dart.rb, Dart 2 is
still --devel until its official non-RC release. In ***@***.***, Dart 2 is the
main stable version, so that you can define dependencies against it.
...we should then add both ***@***.*** and ***@***.***, and ***@***.*** should be
updated by the script...
I will attempt to modify this PR to have ***@***.*** be generated by the
script (in addition to dart.rb), instead of manually maintained.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#52 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABCijUYuVPHAnrxfWkl2Kt5IafB7XsFks5t4HWhgaJpZM4UUyYl>
.
|
Done: #53 |
Sass has fixed their problem by becoming compatible with Dart 1.x again. The |
Sass needs to get into Dart 2 as soon as possible—most packages are no longer Dart 1-compatible, so we're running on borrowed time with Dart 1 compatibility. This is still high-priority. |
Okay. Here's my WIP on getting a Is there any doco on how the |
It is called manually from the command line by the person doing the release.
…On Fri, Jun 1, 2018, 21:20 Andrew Janke ***@***.***> wrote:
Okay.
Here's my WIP on getting a ***@***.*** formula generated: Branch
<https://github.com/apjanke/dart-sdk/tree/generate-dart%402-homebrew-formula>,
Code
<apjanke/dart-sdk@0469901>.
I'm working on getting my Dart build environment set up so I can test it.
Is there any doco on how the tools/apps/update_homebrew/bin/generate.dart
program is used during your release workflow? I found the program that
generates the Homebrew formula files, but don't see how it is called, so
I'm not sure how to test it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#52 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AErap0EvFEBmlji7XRQ6zyqmoJoBHEqwks5t4ZP5gaJpZM4UUyYl>
.
|
Thanks. I will iron out my Dart build environment and test it manually. |
I haven't gotten my Dart environment set up right yet, but the function to generate the Homebrew formula files is super simple, so I think I might have one for you anyway: dart-lang/sdk#33318. Closing this in favor of dart-lang/sdk#33318. |
This PR modifies update_homebrew to also generate a dart@2 versioned formula. The new file is dropped out right next to the old `dart.rb` file. The dart@2 formula is a temporary measure to aid application developers migrating from Dart 1 to Dart 2. Supersedes dart-lang/homebrew-dart#52. This looks right by inspection, but I haven't been able to test it yet: my local `dart` environment is all messed up, and I am a Dart newbie. Still, I'm putting this out here as a PR so the discussion from dart-lang/homebrew-dart#52 can proceed. Closes #33318 #33318 GitOrigin-RevId: 5230782 Change-Id: I78cf5b066d85ac8b0ef51ed44e6eb1a15192b23c Reviewed-on: https://dart-review.googlesource.com/58120 Commit-Queue: William Hesse <whesse@google.com> Reviewed-by: William Hesse <whesse@google.com>
This PR modifies update_homebrew to also generate a dart@2 versioned formula. The new file is dropped out right next to the old `dart.rb` file. The dart@2 formula is a temporary measure to aid application developers migrating from Dart 1 to Dart 2. Supersedes #52. This looks right by inspection, but I haven't been able to test it yet: my local `dart` environment is all messed up, and I am a Dart newbie. Still, I'm putting this out here as a PR so the discussion from #52 can proceed. Closes #33318 dart-lang/sdk#33318 GitOrigin-RevId: 5230782aabf4f45199cff9b1fb9c5304e5dcb21c Change-Id: I78cf5b066d85ac8b0ef51ed44e6eb1a15192b23c Reviewed-on: https://dart-review.googlesource.com/58120 Commit-Queue: William Hesse <whesse@google.com> Reviewed-by: William Hesse <whesse@google.com>
This PR modifies update_homebrew to also generate a dart@2 versioned formula. The new file is dropped out right next to the old `dart.rb` file. The dart@2 formula is a temporary measure to aid application developers migrating from Dart 1 to Dart 2. Supersedes #52. This looks right by inspection, but I haven't been able to test it yet: my local `dart` environment is all messed up, and I am a Dart newbie. Still, I'm putting this out here as a PR so the discussion from #52 can proceed. Closes #33318 dart-lang/sdk#33318 GitOrigin-RevId: 5230782aabf4f45199cff9b1fb9c5304e5dcb21c Change-Id: I78cf5b066d85ac8b0ef51ed44e6eb1a15192b23c Reviewed-on: https://dart-review.googlesource.com/58120 Commit-Queue: William Hesse <whesse@google.com> Reviewed-by: William Hesse <whesse@google.com>
You may wish to provided versioned
dart@1
anddart@2
formulae to ease the migration to the new major-version Dart 2 release.This PR is just an example of how you could do it; I'm new to this project so I'm not sure if it fits in with your style and workflow.
The
dart@2
formula would be a short-term one, kept around only until a stable Dart 2 release is out as thestable
version in the maindart
formula. This would support:--devel
installations/channels. Example: Dart SDK version does not satisfy the requirement sass/homebrew-sass#5The
dart@1
formula would be a long-term fix for supporting legacy applications which have not been migrated to Dart 2.