-
Notifications
You must be signed in to change notification settings - Fork 58
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
CPLAT-4109: Update documentation for dart2 #231
Merged
Merged
Changes from 2 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
70efd7d
remove last vestiges of transformer mentions
corwinsheahan-wf 2064c89
Add dual-release line instructions to CONTRIBUTING.md
evanweible-wf ce6e3aa
address review feedback
corwinsheahan-wf 6b4fdea
No -dart2 suffix for the dart2 release
evanweible-wf 99273f7
Merge branch 'update_readme_for_Dart2' of github.com:Workiva/over_rea…
evanweible-wf 79e5ea5
Merge branch 'dart2_only' into update_readme_for_Dart2
corwinsheahan-wf 6d7aa31
Merge branch 'dart2_only' of github.com:Workiva/over_react into updat…
corwinsheahan-wf e004c2e
address review comments
corwinsheahan-wf 19dea7b
Fix rendering of test preset examples in README
corwinsheahan-wf 6737b5a
Merge branch '2.0.0-dev' of github.com:Workiva/over_react into update…
corwinsheahan-wf b79771e
Update docs.yml
aaronlademann-wf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# Contributing | ||
|
||
> We are working on a more thorough version of these contributing guidlines. For | ||
> the time being, we've documented our temporary dual-release setup that is | ||
> necessary for supporting Dart 1 and Dart 2 concurrently. | ||
|
||
## Dart 1 & Dart 2 Dual-Releases | ||
|
||
Long story short, we are unable to maintain a single codebase of over_react that | ||
is compatible with both Dart 1 and Dart 2. Transformers only work on Dart 1 and | ||
builders only work on Dart 2, and we can't maintain the transformer and builder | ||
together due to dependency conflicts. | ||
|
||
> For more information on our Dart 2 migration, [see this guide](/doc/dart2_migration.md). | ||
|
||
Fortunately, this problem can be shouldered entirely by the maintainers via a | ||
dual-release strategy (credit to the [dart2_constant](https://pub.dartlang.org/packages/dart2_constant) | ||
for the idea). The result is that consumers will depend on a version range of | ||
this library like they normally do and everything will _just work_. | ||
|
||
For every _version_ we want to release, we will actually release two releases - | ||
a Dart 1 (transformer) version and a Dart 2 (builder) version. These two | ||
releases will have the same semantic version, but will have unique build | ||
suffixes. The `pub` client will then decide which one to install based on their | ||
`environment.sdk` constraints and the active Dart SDK version. | ||
|
||
### Branches | ||
|
||
- `master` | ||
- Dart2-only | ||
- Provides a builder | ||
- Environment constraint: `>=2.1.0 <3.0.0` | ||
|
||
- `master_dart1` | ||
- Dart1-only | ||
- Provides a transformer | ||
- Environment constraint: `>=1.24.3 <2.0.0` | ||
|
||
### Release Process | ||
|
||
> Note that these steps are intended to be followed by Workiva employees, and as | ||
> such have some references to internal tooling. | ||
|
||
For every release, do the following: | ||
|
||
1. Ensure the next release versions exist in MARV: | ||
|
||
Name | Branch | ||
---- | ------ | ||
over_react 2.x.x-dart1 | master_dart1 | ||
over_react 2.x.x-dart2 | master | ||
|
||
1. Trigger the `over_react 2.x.x-dart1` release first and review the PR: | ||
|
||
- Ensure the updated `pubspec.yaml` version is correct, including the | ||
`-dart1` suffix. | ||
|
||
- Ensure the build passes. | ||
|
||
1. Trigger the `over_react 2.x.x-dart2` release second and review the PR: | ||
|
||
- Ensure the updated `pubspec.yaml` version is correct, including the | ||
`-dart2` suffix. | ||
|
||
- Ensure the build passes. | ||
|
||
- **Add any necessary changelog updates to the Dart 2 version.** | ||
|
||
1. **Merge the Dart 1 release first and publish it to pub.** | ||
|
||
1. Merge the Dart 2 release second and publish it to pub. | ||
|
||
1. Re-recreate the Dart 1 release in MARV (it does not get recreated | ||
automatically like the default release does). | ||
|
||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't these be
+dart1
and+dart2
? Also, I thought we had talked about dropping the suffix for dart2 and just have2.x.x
for Dart 2, and2.x.x+dart1
for Dart 1. Is that still a thing?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am 90% sure one of our internal release tools has an issue with the
+
character, so we've used-
in the past. That's one of the reasons I want to do a dev release of 2.0 to make sure that works.And yeah we had talked about that, I'd be cool with dropping the
dart2
suffixThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool. +1 on dropping the
dart2
suffix.