0

I can't get our gated check-in build definition to ignore cloaked paths.

We have a few projects shared between teams. Team A is using $/ProjectA, $/Shared, and team B is using $/ProjectB and $/Shared. I want to set up a gated check-in build definition for team A, so I set $/ProjectA and $/Shared as build triggers, and map both of them. All is working currently for team A.

Team B, however, can't check-in changesets that include files from both $/ProjectB and $/Shared, because $/ProjectB is not mapped in the gated check-in build definition's workspace. I this kind of check-ins to trigger the gated build (so that Project A will be built), but I don't know how to set this up.

Our current solution is forcing team B to separate their check-ins, but that's inconvenient. I would like the gated check-in build definition to silently ignore any files that are unmapped instead of (currently) failing with No appropriate mapping exists for $/ProjectB errors.

Cloaking $/ProjectB didn't work. Should I even use cloaking for this scenario?

I can't just map $/ProjectB because (a) it's huge, and will take a lot of space in every agent, and (b) there are many more teams with the same problem as team B.

EDIT Turns out I already asked something similar in the past, and completely forgetting about it... If anyone have a different answer I'd love to know. TFS 2015 Gated check-in failed due to missing mapping

liorda
  • 1,552
  • 2
  • 15
  • 38

2 Answers2

0

Set the cloaked path to "ignore" for your gated check-in triggers.

Daniel Mann
  • 57,011
  • 13
  • 100
  • 120
0

Your users' workspaces must be consistent with that of your team build. Either the user has to cloak the directories that give you this warning (if they are not important), or, you have to map these directories on the build server.

Eugene B.
  • 192
  • 4
  • Please see my updated question. Our workflow is such that no one has mapping for all TFS projects, and mapping them on the build server is impossible due to their size. – liorda Feb 28 '18 at 06:14
  • If you want to have a single gated build that would kick off when either sources from Project A or Project B (or Shared) get checked in, you got to have corresponding directories mapped. Have you tried mapping just the paths you need? (for example, instead of mapping entire $/ProjectB, just map $/ProjectB/PathToSolutionNeeded instead? Also, you may try non-recursive mapping, if it makes sense. – Eugene B. Feb 28 '18 at 15:27