'Return true if target_platforms matches the supplied parameters.
Used by buildanddeploy to determine what clients need to be built.
Args:
target_os: which os we are building for in this run (linux, windows,
darwin)
target_arch: which arch we are building for in this run (i386, amd64)
target_package: which package type we are building (exe, dmg, deb, rpm)
context: config_lib context
Returns:
bool: True if target_platforms spec matches parameters.'

def MatchBuildContext(self, target_os, target_arch, target_package, context=None):

    for spec in self.Get('ClientBuilder.target_platforms', context=context):
        (spec_os, arch, package) = spec.split('_')
        if ((spec_os == target_os) and (arch == target_arch) and (package == target_package)):
            return True
    return False
