-
Notifications
You must be signed in to change notification settings - Fork 147
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
Circular dependencies on High Sierra #810
Comments
This build order has worked in the wild and may give some insight on how things should be bult:
|
This only occurs on High Sierra? |
@jamonholmgren Only on High Sierra.
|
Oof, yeah, that kind of throws a kink in things for code that relies on that sort order. |
@amirrajan I’m back from vacation now and might be able to help. I think I recently introduced that module in the last few months, however, I’m running on High Sierra and haven’t experienced this issue. |
I'll see if I can create a repo with minimum steps to force an exception. |
Found it. It's not in the graph above. It's here: https://github.com/infinitered/ProMotion/blob/master/lib/ProMotion.rb#L20 The dependency mapping code isn't needed anymore. Explicitly setting the dependency hash short circuits RubyMotion's dependency resolution. |
So commenting out this section fixes the problem? |
Yep. You lose the ability to use |
I've confirmed that removing that section |
Fixes #810. There should probably be a larger discussion as to if/when this should be included in `master` just because this is a High-Sierrra issue. Has anyone tried it on Mojave?
On High Sierra, I'm getting the following runtime error:
Here is the dependency graph for ProMotion.
You can add more logging statements within
/Library/RubyMotion/lib/motion/project/dependency.rb
.The graph above was generated using the following patch:
Update the
Dependency
constructor to include a@has_circular_dependencies
IVar
Set
@has_circular_dependencies
to true withinDependency#cyclic?
:And then at the bottom of
Dependency#run
, print out thedependency
graph:To reason through dependency issues refer to this comment: rubymotion-community/motion-support#38 (comment)
Keep in mind that when trouble shooting this, be sure to run
rake clean:all
so that all files will be recompiled (performingrake
will only recompile touched files which can change the dependency order).The text was updated successfully, but these errors were encountered: