Skip to content
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-4160 v2.0.0 (Dart 2) #240

Merged
merged 222 commits into from
Feb 12, 2019
Merged
Show file tree
Hide file tree
Changes from 219 commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
407a456
First stab
greglittlefield-wf Feb 14, 2018
a33868a
Make over_react compatible with react-dart 5.0
aaronlademann-wf Apr 9, 2018
bc4fa73
Make over_react compatible with dart 2
aaronlademann-wf Apr 20, 2018
0e1908e
Fix Dart SDK dependency bounds
aaronlademann-wf May 8, 2018
c0f6c56
Fix type soundness for running tests in dart 2
aaronlademann-wf May 9, 2018
8b427cf
Updat ref to react-dart branch
aaronlademann-wf May 9, 2018
8c236ae
Use dart2-friendly version of built_redux
aaronlademann-wf May 10, 2018
c1700c0
Update dart version for travis
aaronlademann-wf May 10, 2018
2f20aa3
testing new dart 2 image
jayudey-wf May 10, 2018
6451ee6
add git access
jayudey-wf May 10, 2018
5864ed1
Try https instead of ssh for travis
aaronlademann-wf May 10, 2018
dae0f6d
Get dart 2 capable test package
aaronlademann-wf May 10, 2018
4f195b0
More dart2 pkg compatibility changes
aaronlademann-wf May 10, 2018
e635160
use image from drydock-prod
jayudey-wf May 11, 2018
7dc7b11
Bump mockito minimum version
aaronlademann-wf May 14, 2018
7694a3b
Address CR feedback
aaronlademann-wf May 14, 2018
a3534fc
Fix typo
aaronlademann-wf May 14, 2018
907e362
Add dart2 deps to test/integrate pubspec
aaronlademann-wf May 14, 2018
e72812e
More travis build troubleshooting
aaronlademann-wf May 14, 2018
472628a
Clean up the rest of the Map grossness left over from DDC workarounds
greglittlefield-wf May 15, 2018
cf7c047
Merge pull request #158 from Workiva/dart2_ddc_map_cleanup
aaronlademann-wf May 17, 2018
b9519f6
Temporarily comment out broken tests / stub in tests that need to be …
aaronlademann-wf May 17, 2018
c7d3d70
Merge pull request #155 from Workiva/dart2
aaronlademann-wf May 18, 2018
4f4a2b8
Point to react-dart 5.0.0-dev branch
aaronlademann-wf May 18, 2018
144d86a
Example of generic component extension
greglittlefield-wf Jul 30, 2018
89dc282
Update generic example to use new accessor generation pattern
greglittlefield-wf Jul 30, 2018
0ad5209
Update generated code for basic component, update names for generic e…
greglittlefield-wf Jul 30, 2018
7744c92
Make generic super component non-abstract
greglittlefield-wf Jul 30, 2018
ec549ac
Inheritance example, add constructor boilerplate
greglittlefield-wf Jul 31, 2018
9369838
Update naming of generated classes
greglittlefield-wf Jul 31, 2018
0a726c2
get things working locally, add initial builder
corwinsheahan-wf Jul 31, 2018
50b6034
make abstract super component abstract
greglittlefield-wf Jul 31, 2018
d392ed0
Establish pattern for component classes with generic parameters
greglittlefield-wf Jul 31, 2018
53285bc
update output ext
corwinsheahan-wf Jul 31, 2018
65e73ee
Update name of private constructor
greglittlefield-wf Jul 31, 2018
04ad528
wip
corwinsheahan-wf Jul 31, 2018
17360e2
wiiiiiip itttt
corwinsheahan-wf Jul 31, 2018
290b3b0
Merge branch 'build_package' of github.com:greglittlefield-wf/over_re…
corwinsheahan-wf Jul 31, 2018
d8e18e0
wiiiiip 3.0
corwinsheahan-wf Jul 31, 2018
a78d974
wiiiiiiiip 4
corwinsheahan-wf Jul 31, 2018
8681d5b
build example dir only using overreactbuilder only
corwinsheahan-wf Aug 1, 2018
81234f7
AF-1850: add new Factory boiler plate compatibility
sebastianmalysa-wf Aug 1, 2018
55a9c36
wiiiiiiip. Moved over some txfmr stuff
corwinsheahan-wf Aug 1, 2018
9f951fd
Merge branch 'dart2jam/integrate' of github.com:Workiva/over_react in…
corwinsheahan-wf Aug 1, 2018
793c0dd
Remove factory boilerplate, add alternate method for getting default …
greglittlefield-wf Aug 1, 2018
c435997
Merge remote-tracking branch 'greg/build_package' into AF-1843_builder
corwinsheahan-wf Aug 1, 2018
eacfe49
Get generated names right for new boilerplate
corwinsheahan-wf Aug 1, 2018
a84988d
Merge remote-tracking branch 'master' into build_package
greglittlefield-wf Aug 1, 2018
cfb1e32
Experimental new static meta for accessor classes
greglittlefield-wf Aug 1, 2018
e97cdd3
Update meta generation and boilerplate, add to examples where needed
greglittlefield-wf Aug 1, 2018
2b7f263
Updated meta boilerplate in AbstractTransition
greglittlefield-wf Aug 1, 2018
e3e596e
Add boilerplate for meta
greglittlefield-wf Aug 1, 2018
d063f7b
Merge remote-trancing branch 'dart2jam/integrate' into AF-1908_prop_m…
greglittlefield-wf Aug 1, 2018
4a836c9
WIP: Get accessors mixin building, but not totally
corwinsheahan-wf Aug 1, 2018
c2ab1f7
Merge branch 'AF-1908_prop_meta/dev' of github.com:Workiva/over_react…
corwinsheahan-wf Aug 1, 2018
e110aa3
get basic comp building, minus the meta ish
corwinsheahan-wf Aug 1, 2018
48a7f8e
Get meta getting building
corwinsheahan-wf Aug 1, 2018
a427a6e
Get builder (mostly) working on abstract class inheritance
corwinsheahan-wf Aug 2, 2018
9053ff1
Boiler plate updates
corwinsheahan-wf Aug 2, 2018
8204e09
Update builder
corwinsheahan-wf Aug 6, 2018
cb4e1d9
Update abstract_inher example, builder now builds this too
corwinsheahan-wf Aug 6, 2018
75e70fa
Split out generic example into two files
corwinsheahan-wf Aug 6, 2018
eb2bfcf
Include super class in sub's imports
corwinsheahan-wf Aug 6, 2018
a409cef
Fix typo in comment
aaronlademann-wf Sep 7, 2018
1a19a78
Merge branch 'revert-171' into 2.0.0-dev
aaronlademann-wf Sep 7, 2018
73bed01
local dep overrides to get on dart 2.0.0
corwinsheahan-wf Aug 6, 2018
93da7c6
Merge remote-tracking branch 'upstream/2.0.0-dev' into AF-1843_builder
corwinsheahan-wf Sep 19, 2018
28e0b6d
Hack to get pub get to resolve on dart 2
corwinsheahan-wf Sep 19, 2018
f698847
Split generic_inhertiance example into super/sub files
corwinsheahan-wf Sep 19, 2018
3410590
Updates
corwinsheahan-wf Sep 24, 2018
c951e4d
Updates
corwinsheahan-wf Sep 24, 2018
765e003
wip
corwinsheahan-wf Sep 25, 2018
0eb4da6
Don't generate exported accessor classes
corwinsheahan-wf Sep 26, 2018
ca7918c
Handle prop class type for ancestor prop classes
corwinsheahan-wf Sep 27, 2018
9c9f792
Modify builder to generate exported classes
corwinsheahan-wf Sep 27, 2018
ca73d04
Don't repeat accessor generation code
corwinsheahan-wf Sep 28, 2018
49bdd5e
Merge branch 'AF-1843_builder' of github.com:Workiva/over_react into …
corwinsheahan-wf Sep 28, 2018
99ea524
Get initial pass at builder test working
corwinsheahan-wf Oct 2, 2018
c64ca52
Get build working for over_react by ignoring dart:mirrors usages
corwinsheahan-wf Oct 3, 2018
766fd34
Hack to get to build on dart 2
corwinsheahan-wf Oct 3, 2018
62ba60f
Update builder to not generate empty files
corwinsheahan-wf Oct 4, 2018
5c27013
Update builder to handle multi-part libs
corwinsheahan-wf Oct 9, 2018
e334df5
Only gen 1 instance of mixin class in lib
corwinsheahan-wf Oct 9, 2018
b5bb984
wip. Current state is builds accessorsMixins approach. Next step is t…
corwinsheahan-wf Oct 12, 2018
3abc453
wip to publicly generate class. Works for basic case
corwinsheahan-wf Oct 12, 2018
8b8ad66
Merge ‘upstream/master' into 2.0.0-dev
aaronlademann-wf Oct 19, 2018
777ef5c
Bump react dependency
aaronlademann-wf Oct 19, 2018
fc0435f
wip
corwinsheahan-wf Oct 26, 2018
e58b0d2
Merge remote-tracking branch 'upstream/1.29.0-rc' into 2.0.0-dev
aaronlademann-wf Oct 30, 2018
7e063df
Merge remote-tracking branch 'upstream/master' into 2.0.0-dev
aaronlademann-wf Oct 31, 2018
b92fce0
Got examples and tests working for over_react
corwinsheahan-wf Oct 31, 2018
a47a2f9
Get state impl working (need to still test state mixins/abstract)
corwinsheahan-wf Nov 1, 2018
041e70d
Add more state examples + tests
corwinsheahan-wf Nov 1, 2018
4cdda13
delete no longer needed template files
corwinsheahan-wf Nov 1, 2018
3b0a0e3
Update to new bp
corwinsheahan-wf Nov 6, 2018
f79fcc0
add test for empty file, delete old code
corwinsheahan-wf Nov 6, 2018
722e822
cleanup
corwinsheahan-wf Nov 7, 2018
890e7eb
whitespace build updates
corwinsheahan-wf Nov 12, 2018
a535936
Copy over transformer_utils to builder_utils package
corwinsheahan-wf Nov 13, 2018
b823182
cleanup and remove transformer code
corwinsheahan-wf Nov 14, 2018
05910de
Merge remote-tracking branch 'seb/AF-2922' into builder_generate_publ…
corwinsheahan-wf Nov 14, 2018
dde8518
codemod
corwinsheahan-wf Nov 16, 2018
3dadcc3
Update builder error message
corwinsheahan-wf Nov 21, 2018
a248008
Remove nulls from invocation.positionalArguments
corwinsheahan-wf Nov 21, 2018
8fe9546
comment out over_react_test dep for testing
corwinsheahan-wf Nov 21, 2018
e8bf6cf
auto apply builder to all dep pkg in dep graph
corwinsheahan-wf Nov 28, 2018
822a9c0
Update output extension. Need to update tests
corwinsheahan-wf Dec 6, 2018
a6447f8
Add workaround for NSM
corwinsheahan-wf Dec 7, 2018
1f60737
remove dart_builder_utils
corwinsheahan-wf Dec 13, 2018
714c0b0
Change imports back to transformer utils
corwinsheahan-wf Dec 13, 2018
b082283
wip
corwinsheahan-wf Dec 13, 2018
82ee1c8
comment out usage of react-dart change
corwinsheahan-wf Dec 13, 2018
55dbd7f
build to cache
corwinsheahan-wf Dec 13, 2018
151adfc
dep override built_redux to git
corwinsheahan-wf Dec 13, 2018
ca45e37
Remove NSM
corwinsheahan-wf Dec 10, 2018
6b3f86f
wip on source_gen generator
corwinsheahan-wf Dec 17, 2018
a396eff
Use PartBuilder to generate parts
corwinsheahan-wf Dec 17, 2018
8f117ef
Merge branch 'AF-392_variadic_children_dart2_workaround' into builder…
corwinsheahan-wf Dec 18, 2018
3013261
point txfmr utils to master. TODO: point to new major ver once released
corwinsheahan-wf Dec 18, 2018
803ef0e
Merge remote-tracking branch 'upstream/builder_compat_transformer_int…
corwinsheahan-wf Dec 18, 2018
ba319f4
fix class declaration bug
corwinsheahan-wf Dec 19, 2018
fa467bc
handle private consumable props/state classes
corwinsheahan-wf Dec 20, 2018
dfbb95d
Add examples for private classes
corwinsheahan-wf Dec 20, 2018
c8ae4c6
Merge branch 'master' of github.com:Workiva/over_react into builder_g…
corwinsheahan-wf Dec 28, 2018
21fd783
Merge remote-tracking branch 'upstream/AF-2799_remove_mirrors_from_te…
corwinsheahan-wf Dec 28, 2018
77c63b4
update tranformer utils dep to dart 2 compat
corwinsheahan-wf Dec 28, 2018
7ac2af6
Make transformer utils a dep instead of dev dep
corwinsheahan-wf Dec 28, 2018
6476641
Begin conversion of tests to Dart 2
corwinsheahan-wf Jan 3, 2019
a5bae1c
Merge branch 'master' of github.com:Workiva/over_react into builder_g…
corwinsheahan-wf Jan 7, 2019
a7c7fc1
Merge branch 'master' of github.com:Workiva/over_react into builder_g…
corwinsheahan-wf Jan 8, 2019
04e348e
Update build config to not perform web builds on tests using the builder
corwinsheahan-wf Jan 8, 2019
e057253
Add meta validation back into declaration parsing
corwinsheahan-wf Jan 8, 2019
12262cf
bump over_react_test to 2.0.0
corwinsheahan-wf Jan 8, 2019
6643c8a
Update declaration parsing tests
corwinsheahan-wf Jan 8, 2019
cdf3be0
Log error when incorrect props/state naming + tests
corwinsheahan-wf Jan 9, 2019
c8c04f7
Merge branch 'master' of github.com:Workiva/over_react into builder_g…
corwinsheahan-wf Jan 10, 2019
4215e48
update declaration parsing test (all passing now)
corwinsheahan-wf Jan 10, 2019
2ba5bd4
exclude builder and tool/ from ddc builds
corwinsheahan-wf Jan 16, 2019
fb84550
private initializers update
corwinsheahan-wf Jan 16, 2019
625cf4d
Update builder to handle private classes + type params + test updates
corwinsheahan-wf Jan 16, 2019
4e60675
test cleanup
corwinsheahan-wf Jan 17, 2019
6a41c7f
Get examples working in Dart 2
aaronlademann-wf Jan 18, 2019
08fc55f
Bump lower bound of react to dart2 version
aaronlademann-wf Jan 18, 2019
2e2bca2
Convert examples into separate libs
aaronlademann-wf Jan 18, 2019
dd12be1
Merge pull request #225 from Workiva/dart2/builder_generate_public_cl…
corwinsheahan-wf Jan 18, 2019
e5083e1
builder cleanup
corwinsheahan-wf Jan 23, 2019
ff8bc18
Add over react source generation class + test cleanup
corwinsheahan-wf Jan 23, 2019
b7e1168
more testing updates
corwinsheahan-wf Jan 23, 2019
138c213
finish testing impl generation
corwinsheahan-wf Jan 23, 2019
6a4a925
cleanup
corwinsheahan-wf Jan 24, 2019
f7d7ae7
update testing config
corwinsheahan-wf Jan 24, 2019
237d562
CI fixes
corwinsheahan-wf Jan 24, 2019
43c15ae
add chrome to travis yaml
corwinsheahan-wf Jan 24, 2019
0ada7e2
add sudo: required to travis yaml
corwinsheahan-wf Jan 24, 2019
e68cf2e
remove dist specification - precise doesn't support addon: chrome
corwinsheahan-wf Jan 24, 2019
f290583
finish builder testing + other cleanup
corwinsheahan-wf Jan 24, 2019
819cca1
Add in gold files to git & add in missing test
corwinsheahan-wf Jan 24, 2019
0fb9611
Update docs, remove deprecations & fix logging
corwinsheahan-wf Jan 25, 2019
cd38e2d
fix_goldfile_naming
corwinsheahan-wf Jan 25, 2019
430b354
remove some transformer specific things
corwinsheahan-wf Jan 25, 2019
88e107a
Merge branch 'master' of github.com:Workiva/over_react into builder_g…
corwinsheahan-wf Jan 25, 2019
10d4fdc
fix paths for builder test + cleanup
corwinsheahan-wf Jan 25, 2019
8d3703e
remove hasPrivate getters from declaration parsing
corwinsheahan-wf Jan 25, 2019
1626c21
add deps to ignore for dep validator
corwinsheahan-wf Jan 25, 2019
5ab987a
address review feedback
corwinsheahan-wf Jan 28, 2019
0b426f0
var -> final
corwinsheahan-wf Jan 29, 2019
aacaf6a
Generate for dart 2 code, tests still wip
corwinsheahan-wf Jan 30, 2019
d31d594
Merge remote-tracking branch 'upstream/2.0.0-dev.bak' into builder_ge…
corwinsheahan-wf Jan 30, 2019
2f910b1
Fix bad merge that removed WORKDIR
evanweible-wf Jan 30, 2019
19d7f0e
Merge branch 'master' into 2.0.0-dev
evanweible-wf Jan 30, 2019
115ce40
Merge branch '2.0.0-dev' of github.com:Workiva/over_react into builde…
corwinsheahan-wf Jan 30, 2019
9d5b788
Merge branch 'builder_generate_public_class' of github.com:Workiva/ov…
corwinsheahan-wf Jan 30, 2019
f8247aa
Address review comments
corwinsheahan-wf Jan 30, 2019
fa9208a
Fix broken tests and run full browser suite on dart2js
corwinsheahan-wf Jan 30, 2019
4cd2755
Merge branch 'builder_generate_public_class' into dart2_only
corwinsheahan-wf Jan 30, 2019
3a4667e
Fix broken tests
corwinsheahan-wf Jan 30, 2019
75dd87d
Address review comments
corwinsheahan-wf Jan 31, 2019
475e4c5
Merge branch 'builder_generate_public_class' into dart2_only
corwinsheahan-wf Jan 31, 2019
6904f7f
Update test/vm_tests/builder/declaration_parsing_test.dart
evanweible-wf Jan 31, 2019
037ab37
bump sdk minimums and make test name more clear
corwinsheahan-wf Jan 31, 2019
d76b618
add ssh to Dockerfile; remove coverage test config
corwinsheahan-wf Feb 1, 2019
6100d1e
Merge branch 'builder_generate_public_class' of github.com:Workiva/ov…
corwinsheahan-wf Feb 1, 2019
47cc9c4
Update decl parsing test; Create source files for builder on Dart 2 o…
corwinsheahan-wf Feb 1, 2019
77a987c
Merge pull request #211 from Workiva/builder_generate_public_class
rmconsole6-wk Feb 1, 2019
00b0457
Update rest of tests; make examples Dart 2 only
corwinsheahan-wf Feb 1, 2019
53a27c0
Remove workaround for DDC bug that is fixed in Dart 2.
evanweible-wf Feb 5, 2019
59c9e22
Make builder copy over static fields/methods
corwinsheahan-wf Feb 5, 2019
bb1d862
Copy over class members in mixins
corwinsheahan-wf Feb 6, 2019
fd17395
Merge pull request #229 from Workiva/remove_ddc_bug_library
rmconsole5-wk Feb 6, 2019
ac35d71
convert to Dart 2 only source code
corwinsheahan-wf Feb 6, 2019
d6208f0
Add tuneup for analysis check to travis.yml
corwinsheahan-wf Feb 6, 2019
c8e3fe9
copy over non-generated fields; delete unused integrate folder
corwinsheahan-wf Feb 6, 2019
efa1b49
address review comments
corwinsheahan-wf Feb 6, 2019
70efd7d
remove last vestiges of transformer mentions
corwinsheahan-wf Feb 6, 2019
2064c89
Add dual-release line instructions to CONTRIBUTING.md
evanweible-wf Feb 7, 2019
afbee2f
Update error message to be Dart 2 specific
corwinsheahan-wf Feb 7, 2019
ce6e3aa
address review feedback
corwinsheahan-wf Feb 7, 2019
6814952
fix tests + review feedback
corwinsheahan-wf Feb 7, 2019
6b4fdea
No -dart2 suffix for the dart2 release
evanweible-wf Feb 7, 2019
99273f7
Merge branch 'update_readme_for_Dart2' of github.com:Workiva/over_rea…
evanweible-wf Feb 7, 2019
79e5ea5
Merge branch 'dart2_only' into update_readme_for_Dart2
corwinsheahan-wf Feb 7, 2019
ed60b5e
Tweak `generate_for` sources for performance.
evanweible-wf Feb 7, 2019
6d7aa31
Merge branch 'dart2_only' of github.com:Workiva/over_react into updat…
corwinsheahan-wf Feb 7, 2019
1b00666
Merge pull request #227 from Workiva/dart2_only
rmconsole2-wf Feb 7, 2019
e004c2e
address review comments
corwinsheahan-wf Feb 7, 2019
19dea7b
Fix rendering of test preset examples in README
corwinsheahan-wf Feb 7, 2019
6737b5a
Merge branch '2.0.0-dev' of github.com:Workiva/over_react into update…
corwinsheahan-wf Feb 7, 2019
b79771e
Update docs.yml
aaronlademann-wf Feb 7, 2019
6362e9d
Changelog for v2
evanweible-wf Feb 7, 2019
96138e0
Update CHANGELOG.md
corwinsheahan-wf Feb 7, 2019
bae88e5
Remove `getJsProps()`
evanweible-wf Feb 7, 2019
5b26361
Merge pull request #231 from Workiva/update_readme_for_Dart2
rmconsole7-wk Feb 7, 2019
cba95e8
Merge pull request #232 from Workiva/v2_changelog
rmconsole2-wf Feb 8, 2019
af9e8db
Remove dep override on react
evanweible-wf Feb 8, 2019
4d18c5b
Actually remove `getJsProps()`
evanweible-wf Feb 8, 2019
6752886
Merge pull request #233 from Workiva/remove_getJsProps
rmconsole5-wk Feb 8, 2019
f69e320
add note about restarting analysis server
corwinsheahan-wf Feb 8, 2019
c4d0b2f
Merge branch 'master' into 2.0.0-dev
evanweible-wf Feb 8, 2019
ad8379c
delete old comments
corwinsheahan-wf Feb 8, 2019
58da397
update build.yaml to build to source for over_react package
corwinsheahan-wf Feb 11, 2019
5fc1fd2
generate files
corwinsheahan-wf Feb 11, 2019
feebb25
Use dartanalyzer cli instead of tuneup
corwinsheahan-wf Feb 11, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ _site
packages
.packages
.dart_tool
*.g.dart
build/


Expand Down
34 changes: 17 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
language: dart
dist: precise
dart:
- "1.24.3"
env:
- DARTIUM_EXPIRATION_TIME="1577836800"
with_content_shell: true
before_install:
- export DISPLAY=:99.0
- ./tool/setup_dartium.sh
- export PATH=$PATH":$PWD"
- sh -e /etc/init.d/xvfb start
- sleep 3 # give xvfb some time to start
- stable
script:
- dart ./tool/build.dart
- pub run dart_dev analyze
- pub run dependency_validator --no-fatal-pins -i coverage
- pub run dart_dev test --integration
- ./tool/generate_coverage.sh
- bash <(curl -s https://codecov.io/bash) -f coverage/coverage.lcov
- pub run build_runner build
# tuneup uses the analysis server under the hood for analysis instead of dartanalyzer. The server can
# resolve elements from built files under .dart_tool, the dartanalyzer cli currently does not.
- pub global activate tuneup
- pub global run tuneup check --ignore-infos
# TODO: Remove ignore on analyzer once the wdesk ecosystem is all on a Dart 2 compat major version and we no longer need a "pinned" dep
- pub run dependency_validator --no-fatal-pins -i coverage,build_web_compilers,analyzer,build_runner,built_value_generator
# run tests on ddc output
- pub run build_runner test -- -P dartdevc
# run tests on dart2js output
- pub run build_runner test -r -- -P dart2js

cache:
directories:
- $HOME/.pub-cache
- $HOME/.dart_tool/build
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# OverReact Changelog

## 2.0.0

> [Complete `2.0.0` Changeset](https://github.com/Workiva/over_react/compare/1.31.0...2.0.0)

This release adds support for Dart 2 while retaining backwards-compatibility
with Dart 1, **but it requires changes to consumer's component code.**

> Note: If you intend to consume this version of over_react on Dart 1 and Dart 2
> in the same codebase, **do not** remove the `transformers` section from your
> `pubspec.yaml`. This section is ignored on Dart 2, but will still be needed on Dart 1

__Breaking Changes__

* In order to add support for Dart 2, consumers need to update their over_react
component code! Please see our [Dart 2 migration guide](https://github.com/Workiva/over_react/blob/master/doc/dart2_migration.md)
for more information.

We've created a codemod tool that will automatically update your code:

```bash
# On Dart 2.1.0
$ pub global activate over_react_codemod ^1.0.2

# If you need backwards-compatibility with Dart 1:
$ pub global run over_react_codemod:dart2_upgrade --backwards-compat

# Or, if you are okay with dropping Dart 1 support:
$ pub global run over_react_codemod:dart2_upgrade
```

The tool (and additional info) can be found here: https://github.com/Workiva/over_react_codemod/

* Removals:
* `getJsProps()` - use `getProps()` instead
* `$Props` and `$PropKeys` - see the migration guide above

## 1.31.0

> [Complete `1.31.0` Changeset](https://github.com/Workiva/over_react/compare/1.30.2...1.31.0)
Expand Down
73 changes: 73 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# 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 | 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` release second and review the PR:

- Ensure the updated `pubspec.yaml` version is correct.

- 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).
16 changes: 14 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
FROM google/dart:1.24.3
FROM google/dart:2.1.0

# Expose env vars for git ssh access
ARG GIT_SSH_KEY
ARG KNOWN_HOSTS_CONTENT
# Install SSH keys for git ssh access
RUN mkdir /root/.ssh
RUN echo "$KNOWN_HOSTS_CONTENT" > "/root/.ssh/known_hosts"
RUN echo "$GIT_SSH_KEY" > "/root/.ssh/id_rsa"
RUN chmod 700 /root/.ssh/
RUN chmod 600 /root/.ssh/id_rsa
RUN echo "Setting up ssh-agent for git-based dependencies"
RUN eval "$(ssh-agent -s)" && \
ssh-add /root/.ssh/id_rsa

WORKDIR /build/
ADD pubspec.yaml /build
RUN pub get
ARG BUILD_ARTIFACTS_AUDIT=/build/pubspec.lock
FROM scratch

Loading