-
Notifications
You must be signed in to change notification settings - Fork 562
Closed
Milestone
Description
I'm debugging an incremental compilation for a project of ours and I have identified at least 3 spots where X.A targets are using CopyIfChanged
or a variant-thereof and thus breaking inputs/outputs invariant.
What I mean by this is that you have plenty of scenarios where some target Inputs
are newer than Outputs
causing the target to run yet those updated Inputs will end up generating the same Outputs content. Because of the logic of CopyIfChanged
, this mean that no actual change is committed to Outputs and thus when the target finishes executing you have broken the invariant that Outputs
always have to be newer that your Inputs
.
Three places where I have seen this (there might be more):
_CopyIntermediateAssemblies
(Outputs are also wrong for this one, they lack the satellites copy)_GeneratePackageManagerJava
_ResolveLibraryProjectImports
Metadata
Metadata
Assignees
Labels
No labels