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

Add property to disable building all libs packages #46092

Closed
wants to merge 1 commit into from

Conversation

safern
Copy link
Member

@safern safern commented Dec 15, 2020

Contributes towards: dotnet/runtimelab#465

There are certain experiments in dotnet/runtimelab that don't need to build any libraries packages, we currently only offered a hook to disabled OOB packages.

cc: @jkotas

@ghost
Copy link

ghost commented Dec 15, 2020

Tagging subscribers to this area: @safern, @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

Contributes towards: dotnet/runtimelab#465

There are certain experiments in dotnet/runtimelab that don't need to build any libraries packages, we currently only offered a hook to disabled OOB packages.

cc: @jkotas

Author: safern
Assignees: -
Labels:

area-Infrastructure-libraries

Milestone: -

@ViktorHofer
Copy link
Member

Why would this project then even be invoked if it doesn't do anything?

@safern
Copy link
Member Author

safern commented Dec 15, 2020

Why would this project then even be invoked if it doesn't do anything?

It is the simplest way to flip the switch, other than removing libs.packages from the default libs subsets. I would want people that create a new experiment to only have to change 1 flag, other than having to update yml files or remove stuff from default settings.

@ViktorHofer
Copy link
Member

It is the simplest way to flip the switch, other than removing libs.packages from the default libs subsets

Removing libs.packages from the default subsets would be the right thing to avoid the unnecessary restore, evaluation and build of libraries-packages.proj. That should just be a one line change in Subsets.props.

@ViktorHofer
Copy link
Member

Especially the restore can be significant because of the project restoring the to be harvested packages as well.

@safern
Copy link
Member Author

safern commented Dec 15, 2020

That complicates things. There are experiments that want to build 1 OOB package, but not other packages. There are some experiments that want to build, framework packages but not OOB packages. There are experiments that want to build no libraries packages at all. These are just experiments, so I think the simplest for all kind of experiments the better, having both switches in the same place is in my opinion the easiest way to communicate, rather than having to change different files and things based on the needs of the experiment.

I was going to go with removing the libs.packages subset from the default subsets to begin with, but then that will, might change in the future where it might not be part of the default, subset, etc and it will be controlled by what the yml calls (which target it invokes), so then that complicates more and more.

@safern
Copy link
Member Author

safern commented Dec 15, 2020

Especially the restore can be significant because of the project restoring the to be harvested packages as well.

We could disable the harvesting if we're not building packages at all.

@ViktorHofer
Copy link
Member

With @Anipik's change #45564 you can specify IsPackable to indicate if the pack target should be invoked at all.

In regards to experiments:

  • No packages should be built: set <IsPackable>false</IsPackable> in the libraries' Directory.Build.props file.
  • Some packages should be built: same as above + set <IsPackable>true</IsPackable> in the leafs that should be built.
  • All packages should be built: no change needed.

@safern
Copy link
Member Author

safern commented Dec 15, 2020

Ok, then I'll wait for @Anipik's change to go in. In the meantime I'll just merge this in runtimelab in the experiments that are building extra packages and causing the publish issue to unblock the official build.

@safern safern closed this Dec 15, 2020
@safern safern deleted the AddHookToDisablePackagesBuild branch December 15, 2020 22:38
@ViktorHofer
Copy link
Member

Sounds good 👍 thanks for fixing this so promptly

@ghost ghost locked as resolved and limited conversation to collaborators Jan 14, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants