#NEWLINE# def deprecated_conditional( predicate , removal_version , entity_description , hint_message = None , stacklevel = 4 ) : #NEWLINE# #INDENT# 'Marks a certain configuration as deprecated.\n\n  The predicate is used to determine if that configuration is deprecated. It is a function that\n  will be called, if true, then the deprecation warning will issue.\n\n  :param () -> bool predicate: A function that returns True if the deprecation warning should be on.\n  :param string removal_version: The pants version which will remove the deprecated functionality.\n  :param string hint_message: An optional hint pointing to alternatives to the deprecation.\n  :param int stacklevel: How far up in the stack do we go to find the calling fn to report\n  :raises DeprecationApplicationError if the deprecation is applied improperly.\n  ' #NEWLINE# validate_removal_semver ( removal_version ) #NEWLINE# if predicate ( ) : #NEWLINE# #INDENT# warn_or_error ( removal_version , predicate , hint_message , stacklevel = stacklevel )