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

Dependency resolution fixes #301

Merged
merged 10 commits into from
Aug 10, 2022
Merged

Dependency resolution fixes #301

merged 10 commits into from
Aug 10, 2022

Conversation

purkhusid
Copy link
Collaborator

@purkhusid purkhusid commented Aug 5, 2022

What?

  • Adds an incoming transition to _binary/_library rules that transitions to the highest compatible framework in the target_frameworks
  • Adds a private_deps attribute to _binary/_library rules that is intended for compile time dependencies. These dependencies are not transitively passed and do not become part of the runfiles.
  • Some cleanup and reorganizing

Why?

The transition is needed because before the change we were just taking the default tfm and passing it to the build actions. This did not make sense since you could update rules_dotnet and then the default tfm would be 6.0 but your targets would still target 5.0. There was also an issue that if you were e.g. targeting netstandard2.1 we would still pass the default tfm to the build actions.

The private_deps attribute is needed so that we can pass in targeting packs without passing them transitively to parents. Targeting packs should not be passed transitively because that causes conflicts between targeting packs.

Fixes #297

@purkhusid purkhusid requested a review from tomdegoede August 5, 2022 10:46
@purkhusid purkhusid changed the base branch from master to next August 5, 2022 10:46
@purkhusid
Copy link
Collaborator Author

@njlr I tested this on the repro you sent in #297 and this fixes it.

@purkhusid purkhusid merged commit 5c87398 into bazel-contrib:next Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Next] Expecto cannot find method implementation from a dependency
1 participant