CommonBuildToolset / CBT.Modules

Modules for CBT
MIT License
9 stars 5 forks source link

NoTargets Projects create output folders in PrepareForBuild #286

Open SamAtMicrosoft opened 5 years ago

SamAtMicrosoft commented 5 years ago

The projects which link NoTargets.targets create output folders. This makes empty output folders in the build output.

My theory is that we don't need PrepareForBuild; in the CoreBuildDependsOn in NoTarget.targets. This would also skip the following targets:

GetFrameworkPaths;GetReferenceAssemblyPaths;AssignLinkMetadata
jeffkl commented 5 years ago

I think we should have an empty target but leave the extensibility. People might be trying to extend it.

<Target
      Name="PrepareForBuild"
      DependsOnTargets="$(PrepareForBuildDependsOn)" />

<Target
    Name="GetFrameworkPaths" />

  <Target
      Name="GetReferenceAssemblyPaths"
      DependsOnTargets="$(GetReferenceAssemblyPathsDependsOn)" />

We can have empty targets so that GetFrameworkPaths and GetReferenceAssemblyPaths don't do anything but I think AssignLinkMetadata needs to run.